It is confusingly named and rarely useful. See, for example,
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00089.html>.
* INSTALL.BZR: Don't mention --disable-maintainer-mode.
* Makefile.in (MAINTAINER_MODE_FLAG): Remove; all uses removed.
* configure.in: Remove --disable-maintainer-mode.
(USE_MAINTAINER_MODE, MAINT): Remove.
* admin/make-tarball.txt: Don't worry about maintainer mode.
* etc/NEWS: Mention this.
* configure.in (INSTALL_INFO): Set it with one call to
AC_PATH_PROG, not three.
(PKG_CONFIG): Hoist this out of PKG_CHECK_MODULES, since it's
so likely that it'll be needed.
(AC_CHECK_HEADERS_ONCE): Prefer to AC_CHECK_HEADERS where either works.
(AC_PROG_MAKE_SET): Remove; Automake does this.
(sysinfo): Do not check for this function, as it's never used.
(tzset): Check for this function just once.
* admin/CPP-DEFINES: Remove HAVE_SYSINFO.
* m4/manywarnings.m4: Sync from gnulib, incorporating the following:
2012-05-27 manywarnings: remove duplicate -Wmultichar entry
lib/makefile.w32-in ($(BLD)/md5.$(O)):
($(BLD)/sha1.$(O)):
($(BLD)/sha256.$(O)):
($(BLD)/sha512.$(O)): Depend on $(EMACS_ROOT)/nt/inc/stdalign.h.
Suggested by Christoph Scholtes <cschol2112@googlemail.com>.
lib/getopt_.h: Regenerate.
nt/inc/stdalign.h: New file.
Fixes: debbugs:11527
* configure.in: Remove all mention of src/m/*.
(machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
All uses removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_LONG_LONG): Move to src/lisp.h.
* lib/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* make-dist: Don't make links to src/m.
* admin/CPP-DEFINES: Do not mention src/m/*.h.
(BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
(BITS_PER_SHORT, BITS_PER_INT): Remove.
* admin/MAINTAINERS: Remove src/m/.
* lib-src/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
* nt/config.nt: Do not include "m/intel386.h"; file was removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
Move to src/lisp.h.
(EMACS_INT_MAX): New macro.
This directory predates autoconf and is no longer needed nowadays.
Move its few remaining bits of functionality to where they're needed.
* src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h:
* src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h:
* src/m/sparc.h, src/m/template.h: Remove.
* src/Makefile.in (M_FILE): Remove. All uses removed.
* src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
* src/lisp.h (USE_LSB_TAG):
* src/mem-limits.h (EXCEEDS_LISP_PTR):
Use VAL_MAX, not VALBITS, in #if.
* src/lisp.h (EMACS_INT_MAX): New macro, useful in #if.
(EMACS_UINT): Define unconditionally now.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_EMACS_INT): New constants, replacing
what used to be in config.h, but not useful in #if.
(GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
define them any more.
(VAL_MAX): New macro.
(VALMASK): Use it.
* src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
BITS_PER_EMACS_INT, in #if.
* src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
(BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
* src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
* src/s/ms-w32.h (DATA_START):
Move here from removed file m/intel386.h.
* src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
* src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
Previously the file was named m4/gl-comp.m4 due to DOS 8+3 restrictions,
even though the file's name in gnulib is m4/gnulib-comp.m4.
This had a problem when merging from gnulib, as the code temporarily
renamed it to the full name, causing problems when interrupted.
Now the file has its full name, with the idea that we will find
a solution for MS-DOS that does not affect the rest of Emacs.
* m4/gnulib-comp.m4: Rename from m4/gl-comp.m4.
* admin/merge-gnulib: Leave m4/gnulib-comp.m4's name alone.
* configure.in (LEIM_INSTALLDIR): Rename to leimdir, treat like lispdir.
* leim/Makefile.in (install_prefix): Remove.
(LEIM_INSTALLDIR): Rename to leimdir.
(install): Update for this change.
Putting it in a makefile has some problems with reflection, as
merging from gnulib updates 'configure', which can update the makefile.
Putting it in a standalone script breaks this loop.
* Makefile.in (gnulib_srcdir, $(gnulib_srcdir), DOS_gnulib_comp.m4)
(GNULIB_MODULES, GNULIB_TOOL_FLAGS, sync-from-gnulib):
Remove, moving the actions to the script admin/merge-gnulib.
* admin/merge-gnulib: New script, with actions moved here from
../Makefile.in.
* configure.in (machine): Do not set to 'vax', since src/m/vax.h
is being removed.
(AC_CHECK_FUNCS): Remove ftime.
* admin/CPP-DEFINES (HAVE_FTIME): Remove.
* nt/config.nt (HAVE_FTIME): Remove undef; not needed.
* src/m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
* src/s/ms-w32.h (HAVE_FTIME): Remove; not needed.
This predates the use of changed.misc etc to serialize the leim build.
The leim Makefile used to set .NO_PARALLEL/.NOTPARALLEL for the same
reason, but has not done so for many years.
This only affects in-tree builds where you have several versions
emacs-24.1.50.1, .2, etc lying around.
* Makefile.in: (install-arch-indep): Delete etc/DOC*.
(install-doc): No more need to delete etc/DOC.
* configure.in (INSTALL_ARCH_INDEP_EXTRA): New output variable.
* Makefile.in (INSTALL_ARCH_INDEP_EXTRA): New, set by configure.
(install-arch-indep): Don't install-etc for self-contained ns builds.
A separate mkdir rule is not needed, since MKDIR_P is thread-safe.
* Makefile.in (install-arch-dep): Ensure bindir exists.
Drop mkdir dependency.
(install-arch-indep): Ensure docdir, infodir, mandir exist.
(install-leim): Drop mkdir dependency.
(mkdir): Remove most directories, now made in relevant rules.
* configure.in (etcdir): For a self-contained ns build,
set it to the appropriate values.
* Makefile.in (install-arch-dep): No need to move info/ any more.
* configure.in (ns_self_contained): New output variable.
* Makefile.in (ns_self_contained): New, set by configure.
(install-arch-dep): Use $ns_self_contained.
This is rather than installing it in one place then moving it.
* configure.in (archlibdir): Set it for self-contained ns builds.
(libexecdir): Don't expand it now (this is mainly cosmetic).
* Makefile.in (ns_appbindir, ns_appresdir):
Move them before things that may refer to them.
(install-arch-dep): No need to relocate self-contained ns libexec.
* lib-src/Makefile.in (ns_appbindir): New, set by configure.
(CPP_TEST_OPTIONS, NON_GNU_CPP, cc_specified, SPECIFIED_CFLAGS)
(SPECIFED_CPP, CPP, NON_GNU_CC, AC_PROG_CPP): Remove; not needed.
In particular we no longer need to fiddle with CPP, since we don't
use CPP specially any more.
(gl_EARLY): Invoke this after adjusting CC, so that it uses the
adjusted compiler.
(AC_PROG_INSTALL, AC_PROG_MKDIR_P, AC_PROG_RANLIB): Comment out,
since gl_EARLY and/or Autoconf already does these.
Eg, hydra builds have been failing for some time because (?) of this.
In gcc < 4.6, unrecognized -no-fo options just cause a warning.
In 4.6 and later, they cause an error.
* configure.in: (CPP): Do not unconditionally set it on Darwin.
Instead, try to test if -no-cpp-precomp is accepted.
(CPP_TEST_OPTIONS, SPECIFIED_CPP): New.
Fixes: debbugs:9755