1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-13 09:32:47 +00:00
Commit Graph

443 Commits

Author SHA1 Message Date
Glenn Morris
3a29764d91 * make-dist: Doc fix for --help re --snapshot (since 201612 change). 2019-06-09 15:55:24 -07:00
Paul Eggert
1043cd30ac Fix out-of-source make-dist problems
Problem with jisx2131-filter reported by Phillip Lord in:
https://lists.gnu.org/r/emacs-devel/2019-06/msg00147.html
* admin/charsets/Makefile.in (SED_SCRIPT):
Put it in $(srcdir), which is not necessarily the working directory.
($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
(clean): Do not remove SED_SCRIPT.
(extraclean): Remove it here instead.
* make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
Although it is portable and could be distributed in the tarball,
it's too much hassle to do that, so let each builder make it.
2019-06-08 14:42:10 -07:00
Paul Eggert
4ac234ad57 Distribute test cases in tarballs by default
* INSTALL, INSTALL.REPO, admin/make-tarball.txt:
Mention ‘make check’.
* configure.ac: Update comment.
* etc/NEWS: Say that tarballs have a test directory.
* make-dist (with_tests): Default to "yes".
Add an option --no-tests to make it "no".
2019-05-16 10:51:27 -07:00
Glenn Morris
d07863fd6e * make-dist (possibly_non_vc_files): Remove recently deleted file. 2019-04-16 08:09:47 -07:00
Paul Eggert
44a39e3e76 Remove dmpstruct.h
The hassles of updating the dmpstruct.h-using code bit me again.
These updates are more trouble than they’re worth.  See:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
As I’m the main person who’s made changes in this area since
dmpstruct.h was introduced, I’m the most motivated to clean up
the situation.
* make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
* src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
(pdumper.o): Do not depend on dmpstruct.h.
(mostlyclean): Do not remove dmpstruct.h.
* src/dmpstruct.awk: Remove.
* src/pdumper.c: Do not include dmpstruct.h.
(CHECK_STRUCTS): Remove.  All uses removed.
2019-04-09 15:43:34 -07:00
Glenn Morris
369d20559d * make-dist: Prefer a temporary manifest file.
This prevents the manifest cluttering up the build tree,
and possibly getting stale if --no-update is used.
2019-02-04 19:50:44 -08:00
Glenn Morris
4bce79d2a3 * make-dist: Avoid "Bad fd number" error with dash. 2019-02-01 17:56:25 -08:00
Glenn Morris
f31c83cba7 * make-dist: Remove references to src/stamp-h.in.
This file was removed two years ago in 2f89350.
2019-02-01 17:50:59 -08:00
Glenn Morris
cdcdb11017 * make-dist: Fix --no-update with no pre-existing MANIFEST. 2019-02-01 17:36:32 -08:00
Paul Eggert
38fb5f4d22 Make make-dist more automatic
Simplify make-dist maintenance by having it generate its
list of files more automatically.  Put the list of distributed
files into a file MANIFEST that can be used in the unusual
situations when you’re making a distribution without having
access to a Git repository.
* make-dist (top_level_ChangeLog): Now nonempty if the
distribution tarball will contain a ChangeLog, instead of
being nonempty when a ChangeLog is requested, Git is present
and a readable ChangeLog exists.  The new interpretation makes
the script a bit easier to follow.
(possibly_non_vc_files, info_files, mkdir_verbose)
(file_to_skip, MANIFEST_subdir_sed, tempsubdirs):
New variables.
(MANIFEST): Update and use this file, which now records what
files are distributed.
(top_level, subdir, files, file): Remove.
2019-02-01 15:42:15 -08:00
Glenn Morris
021f34be88 * make-dist: Include src/dmpstruct.awk. 2019-01-16 04:33:04 -05:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Glenn Morris
760b091ac5 * make-dist: Improve no-byte-compile check. 2018-12-14 15:41:17 -05:00
Glenn Morris
af1bdfccd4 * make-dist: Improve tempfile handling.
Prompted by /tmp/out existing and being owned by another user.
2018-12-14 15:40:15 -05:00
Glenn Morris
fb8725ab5d * make-dist: Silence test of tar functionality. 2018-12-14 14:57:11 -05:00
Noam Postavsky
a32412b8aa * make-dist: Add '--no-info' option. 2018-05-20 09:47:36 -04:00
Noam Postavsky
7b1026cbf4 * make-dist: Don't fail if building --without-makeinfo. 2018-05-04 07:43:51 -04:00
Paul Eggert
6273503660 make-dist: fix bug with top-level ChangeLog
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-04/msg00307.html
* make-dist (top_level_ChangeLog): New var.  Use it to link
top-level ChangeLog only when desired.
2018-04-11 17:04:16 -07:00
Paul Eggert
83a6224d60 make-dist: check exit statuses more carefully
* make-dist: Do a better job checking for subprocess failure.
2018-04-09 13:35:15 -07:00
Paul Eggert
88843a45fe Port make-dist to tar 1.27 and earlier
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00984.html
* make-dist: Use --sort=name only if Tar supports it.
2018-04-01 13:55:38 -07:00
Paul Eggert
20fa40ddd3 Improve doc for web pages; reproducible tarballs
* admin/make-tarball.txt: Make the tarballs more reproducible.
Fix instructions for web pages as best I can (they are still
incomplete).
* make-dist (default_gzip): Add --no-name for gzip.
(taropt): Add options to make the build more reproducible.
2018-03-30 16:12:07 -07:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Paul Eggert
891bc9822b Port /bin/sh scripts to Solaris 10
Its /bin/sh builtin ‘test’ command does not support -e.
* autogen.sh, build-aux/git-hooks/pre-commit:
* build-aux/gitlog-to-emacslog, make-dist:
Use test -r, not test -e.
2017-08-21 15:34:50 -07:00
Glenn Morris
710ed38912 * make-dist: Skip some more generated files in test/. 2017-06-12 13:54:07 -04:00
Glenn Morris
d92599d3a9 Update make-dist for recent test/ changes
* make-dist: No longer distribute test/data/emacs-module/Makefile.
2017-06-12 12:33:37 -04:00
Glenn Morris
622306b3fd * make-dist: Directory modules/mod-test no longer exists. 2017-06-07 14:39:59 -04:00
Glenn Morris
b1103a2c4f * make-dist: Check a release has a ChangeLog with a release notice. 2017-06-07 13:41:46 -04:00
Glenn Morris
ed226a5b34 * make-dist: Use existing ChangeLog if present. 2017-06-07 13:26:25 -04:00
Paul Eggert
55086ef651 Fix obsolete ‘test/automated’ references
* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
(bootstrap-clean, maintainer-clean):
Clean ‘test’, not ‘test/automated’.  Test for existence of
subdirectory only for ‘test’, not for directories that should
always exist.
* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
* lisp/man.el (Man-parse-man-k):
* lisp/url/url-domsuf.el, make-dist:
* test/file-organization.org:
Fix obsolete references to test/automated.
2017-03-27 11:30:08 -07:00
Paul Eggert
65faa7bcb5 Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in.  The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake.  Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100).  Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib.  These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 11:42:34 -07:00
Paul Eggert
fac0bb9cf7 Merge from gnulib
This incorporates:
2017-03-14 snippets: move unadjusted snippet sources to lib
2017-03-14 gnulib-tool: fix typo in comment output
2017-03-14 snippets: work around GNU Make 3.82 VPATH
2017-03-13 gnulib-tool: minor --gnu-make fixups
2017-03-12 gnulib-tool: new option --gnu-make
* .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
lib/warn-on-use.h.  Change exception from
build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
* admin/authors.el (authors-renamed-files-regexps):
* admin/notes/copyright, make-dist:
The snippet files moved from build-aux/snippet to lib.
* lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
* lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
* lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
2017-03-14 14:50:02 -07:00
Paul Eggert
84b6bc9eff Fix make-dist typo
* make-dist: Fix typo introduced in the Bug#25895 fix.
2017-03-13 14:24:51 -07:00
Paul Eggert
995be66f0f Install update-game-score only on request
Most distributions do not install update-game-score properly
due to setuid/setgid complications, so install it only when
the installer specifies a user or group (Bug#25895).
* .gitattributes: Remove lib-src/update-game-score.exe.manifest.
* Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
New vars.
(epaths-force): Use PATH_GAME.
(uninstall): Remove snake-scores and tetris-scores only if shared.
* configure.ac: Default --with-gameuser to 'no'.
(UPDATE_MANIFEST): Remove.
* etc/NEWS: Mention this.
* lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
(use_gamedir): New macro.
(UTILITIES): Remove update-game-score unless use_gamedir.
(SCRIPTS): Remove $(UPDATE_MANIFEST).
($(DESTDIR)${archlibdir}): Install game directory program and data
only if use_gamedir.
* lib-src/update-game-score.exe.manifest: Remove, as
update-game-score is no longer installed on MS-Windows.
* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
Use auxiliary program only if setuid or setgid.
* make-dist: Do not distribute update-game-score.exe.manifest.
* src/callproc.c (init_callproc):
Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
(syms_of_callproc): Remove unnecessary initialization of
Vshared_game_score_directory.
2017-03-12 12:04:10 -07:00
Eli Zaretskii
10444dcf77 Generate nt/gnulib.mk from lib/gnulib.mk
This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
with the purpose of avoiding manual maintenance of
nt/gnulib.mk.

* nt/gnulib-modules-to-delete.cfg: New file.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1): New variables.
(${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.

* make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
files to link.
* configure.ac (GNULIB_MK): Compute the value according to $opsys.
* autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
running autoreconf.
* Makefile.in (gnulib_mk): New variable.
($(srcdir)/nt/gnulib.mk): Rule to produce it.
(AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
name.
* .gitignore: Add nt/gnulib.mk.

* src/w32.c (acl_errno_valid): Implement it here, as we no longer
build the acl-permissions module from Gnulib.
2017-01-03 17:46:40 +02:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
4f7a90bf6c Merge from origin/emacs-25
9adb101 Document 'describe-fontset'
229315c ; Add missing symbol quoting.
3d94931 Repair desktop restoration on text terminals
43022f9 Ignore forward-sexp-function in js-mode indentation code
b19fb49 Improve documentation of 'define-coding-system'
467768f Fix Bug#25162
6db78ae Fix a typo in define-abbrev-table
5f7d906 Bump makeinfo requirement from 4.7 to 4.13
442e2f6 Fixes related to select-enable-clipboard
e4ac450 Define struct predicate before acccesors
08decbd Doc fix for vc-git
5531e75 Further improve make-dist checking
953bf67 Improve previous make-dist change
129645a Make make-dist --snapshot do some sanity checks

# Conflicts:
#	lisp/menu-bar.el
2017-01-01 01:02:45 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Glenn Morris
75c9314cbf Quieten make-dist default operation
* make-dist: Add --verbose option.  Default to quieter operation.
2016-12-07 19:59:14 -05:00
Glenn Morris
5531e75385 Further improve make-dist checking
* make-dist: Print status messages when checking.
2016-12-07 19:45:48 -05:00
Glenn Morris
953bf67fbe Improve previous make-dist change
* make-dist: Let make check the info files more thoroughly.
2016-12-07 19:43:36 -05:00
Glenn Morris
129645a7a7 Make make-dist --snapshot do some sanity checks
* make-dist: Snapshot mode no longer disables checks.
Checks now includes checks for freshness.  (Bug#25084)
Checks now exits with an error if problems were found.
2016-12-07 19:13:05 -05:00
Paul Eggert
1aebe99145 Do not require that .git be a directory
Problem reportyed by Phillip Lord.
* admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
* configure.ac, make-dist:
Do not require that .git be a directory, as 'git worktree' makes
it a file and not a directory.
2016-04-13 11:12:39 -07:00
Glenn Morris
74ebd4a791 * make-dist: Updates related to nt/. 2016-02-02 16:19:15 -05:00
Glenn Morris
737193a44c * make-dist: Add modules/. 2016-02-02 16:08:03 -05:00
Glenn Morris
3696bf2f63 * make-dist: Update for super-special file that can't live in etc/. 2016-02-02 15:53:01 -05:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
29dfca2355 Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-10 18:11:27 -07:00
Eli Zaretskii
8db2b2a7d3 Remove files used by the old MS-Windows specific build procedure
* nt/configure.bat: Remove everything except the blurb about the
new build procedure.

* make-dist: Remove references to makefile.w32-in in various
directories, and to files in nt/ that were deleted.

* etc/NEWS: Mention the fact that the files were dropped.
2015-08-15 10:56:51 +03:00