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.
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert
# Conflicts:
# doc/emacs/cmdargs.texi
# etc/NEWS
# etc/PROBLEMS
# lisp/auth-source.el
# lisp/net/tramp-sh.el
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20). Change Emacs
documentation and comments to match this. Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
* README:
* configure.ac:
* etc/NEWS:
* etc/refcards/ru-refcard.tex:
* msdos/sed2v2.inp:
* src/msdos.c: Increment Emacs version to 26.0.50.
* etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
moved to etc/NEWS.
Mention CONTRIBUTE in README, since it was moved from etc/ to root.
* etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
* README: Mention CONTRIBUTE.
(cherry picked from commit ed2e7e20ae)
* lisp/cus-edit.el (customize-changed-options-previous-release):
Increase previous version to 24.5.
* configure.ac:
* msdos/sed2v2.inp: Bump version to 25.1.50.
Mention CONTRIBUTE in README, since it was moved from etc/ to root.
* etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
* README: Mention CONTRIBUTE.
README: Bump version to 25.0.50.
configure.ac (AC_INIT): Bump version to 25.0.50.
nt/makefile.w32-in (VERSION): Bump version to 25.0.50.
nt/emacsclient.rc: Bump version to 25.0.50.
nt/emacs.rc: Bump version to 25.0.50.
nt/config.nt (VERSION): Bump version to 25.0.50.
msdos/sed2v2.inp: Bump version to 25.0.50.
etc/refcards/ru-refcard.tex: Bump version to 25.0.50.
etc/refcards/emacsver.tex: Bump version to 25.0.50.
src/msdos.c (internal_terminal_init): Bump version to 25.
doc/man/emacs.1: Bump version to 25.0.50.
doc/emacs/emacsver.texi (EMACSVER): Bump to 20.0.50.
* README: ``MSDOG'' becomes ``MS-DOS''.
* lisp/arc-mode.el: Fix a couple of ``MS-DOG''s missed in the previous
commit.
* lisp/file-mode.el: ditto.
* src/editfns.c: Fix a couple of ``MS-DOG''s missed in the previous commit.
* src/xfaces.c: ditto.
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
Run autogen.sh after bootstrap-clean, to avoid bzr pull issues.
* INSTALL, README: Document autogen.sh.
* Makefile.in (Makefile): Mark it as precious, since it's updated
atomically.
(MAKE_CONFIG_STATUS): New macro.
(config.status, bootstrap): Use it. This causes 'make bootstrap'
to run config.status with the --recheck option, which is more
appropriate for a bootstrap.
(bootstrap): Run autogen.sh right after cleaning. Don't worry
about failures due to missing tools.
* autogen.sh: Exit with status 101 when failing due to missing tools.
* make-dist: Distribute autogen.sh.
Fixes: debbugs:12376
* README, configure.in (AC_INIT): Bump version to 24.1.50.
* doc/emacs/emacsver.texi (EMACSVER): Bump version to 24.1.50.
* doc/man/emacs.1: Bump version to 24.1.50.
* msdos/sed2v2.inp: Bump version to 24.1.50.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop:
Bump version to 24.1.50.
* nt/config.nt, nt/makefile.w32-in, nt/emacs.rc, nt/emacsclient.rc:
Bump version to 24.1.50.