2020-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Release version 2.69b

	* doc/autoconf.texi: Fix mishandling of `.

	make fetch

2020-07-12  Zack Weinberg  <zackw@panix.com>

	Formally obsolete AC_CONFIG_HEADER (#105403)
	This macro was replaced by AC_CONFIG_HEADERS many years ago (before
	the beginning of the VCS history) and isn’t even documented, but we
	never got around to making autoupdate notice it.  Problem reported
	*in 2006* by jensseidel@users.sf.net.

	There was one use of AC_CONFIG_HEADER in our source tree, which is
	converted.  Also, to avoid confusing people reading old NEWS or TODO
	entries, all mentions of AC_CONFIG_HEADER therein are also replaced
	with AC_CONFIG_HEADERS.

	* lib/autoconf/status.m4 (AC_CONFIG_HEADER): Make an AU_ALIAS for
	  AC_CONFIG_HEADERS.

2020-07-12  Zack Weinberg  <zackw@panix.com>

	Add AC_PROG_EGREP to AU_DEFUN for AC_HEADER_STDC (#110215)
	AC_HEADER_STDC used to use AC_EGREP_CPP, and therefore had the side
	effect of AC_REQUIRE([AC_PROG_EGREP]).  In 2.70 AC_HEADER_STDC is an
	AU_DEFUN and, before this change, the replacement didn’t invoke
	AC_PROG_EGREP, which broke configure scripts that assumed $EGREP would
	be set.  Problem reported by Ross Burton.

	* lib/autoconf/headers.m4 (AU::AC_HEADER_STDC): Also invoke AC_PROG_EGREP.

2020-07-12  Tom  <tom@ojodeagua.com>

	Fix logic error in _AC_PROG_LEX_YYTEXT_DECL (#109320)
	The search for the appropriate value for @LEXLIB@ did not distinguish
	correctly between success (‘break’ out of a shell for loop, having set
	$ac_cv_lib_lex) and failure (normal termination of the loop, value in
	$ac_cv_lib_lex is garbage).  Bug report and original patch by
	Tom <tom@ojodeagua.com> with refinements by Zack Weinberg.

	* lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL):
	  Error out if we cannot find the library that (f)lex scanners
	  need to be linked against, instead of continuing with @LEXLIB@
	  set to the empty string.

2020-07-11  Zack Weinberg  <zackw@panix.com>

	make fetch
	URLs in gnu-oids.texi are now consistent with standards.texi.

2020-07-10  Zack Weinberg  <zackw@panix.com>

	Update hyperlinks in the manual and README-hacking.
	Lots of http:// -> https:// conversions;
	refer to XZ Utils instead of the obsolete LZMA Utils;
	remove dead link to dbaspot.com;
	replace mention of -fmudflap with -fsanitize=
	  and add a proper cross-reference to the GCC manual for that.

2020-07-10  Zack Weinberg  <zackw@panix.com>

	Update links in COPYING, COPYINGv3, and COPYING.EXCEPTION.
	 - COPYINGv3 now exactly matches
	   https://www.gnu.org/licenses/gpl-3.0.txt
	   as of 2020-07-10.
	   The only change was to turn a bunch of http:// URLs
	   into https:// URLs.

	 - COPYING now exactly matches
	   https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
	   as of 2020-07-10
	   except that the FSF’s old postal address has been deleted
	   and <https://fsf.org/> inserted
	   (consistent with COPYINGv3).
	   Besides the above, the only change was to whitespace.

	 - A typo in a URL in COPYING.EXCEPTION was corrected.

2020-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Document AS_IF(..., ..., [[]]) glitch
	* doc/autoconf.texi (Common Shell Constructs):
	Note the if-false arg problem reported by Jannick in:
	https://lists.gnu.org/r/autoconf/2020-03/msg00045.html

	Fix ac_compiler_gnu bug
	Problem and fix reported by Jannick in:
	https://lists.gnu.org/r/autoconf/2020-03/msg00045.html
	except that I omitted the comment, which I thought unnecessary.
	* lib/autoconf/lang.m4 (_AC_LANG_COMPILER_GNU): Set
	ac_compiler_gnu regardless of whether result was from cache.

2020-07-10  Zack Weinberg  <zackw@panix.com>

	NEWS: add notes about known breakage due to pickier macros.
	These are all cases where the offending configure script or
	third-party macro was always incorrect, but autoconf 2.69 let you get
	away with it.

2020-07-09  Zack Weinberg  <zackw@panix.com>

	NEWS: mention that AS_INIT no longer embeds full paths to source files.
	(Change made in c6daae41276a49b52a9d5e2f70c95651364ed619.)

	Also reorder some of the NEWS entries more logically.

2020-07-05  Luke Mewburn  <luke@mewburn.net>

	AS_INIT: basename __file__
	Fix AS_INIT to encode the basename of __file__
	instead of the full path to the source directory.
	Allows for reproducible builds.

2020-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix AC_CHECK_LIB quoting bug
	Problem reported by Bert Wesarg in:
	https://lists.gnu.org/archive/html/autoconf/2016-04/msg00020.html
	* lib/autoconf/libs.m4 (AC_CHECK_LIB): Fix quoting bug.
	* tests/semantics.at (AC_CHECK_LIB): Add a test for the bug.

2020-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	* tests/local.at: Fix space-tab problems.

2020-06-29  Zack Weinberg  <zackw@panix.com>

	Consistently expand macros in whitespace-separated lists.
	Several of the most commonly used Autoconf macros (starting with
	AC_CHECK_FUNCS and AC_CHECK_HEADERS) take a whitespace-separated list
	of symbols as their primary argument.  It would abstractly be best if
	this list were _not_ subject to M4 macro expansion, in case there’s a
	collision between a M4 macro name and something to be looked for.
	However, we have historically not been careful about this, and there’s
	been reports of configure scripts using ‘dnl’ to write comments inside
	the list.  The AS_LITERAL_IF optimizations added to AC_CHECK_FUNCS and
	AC_CHECK_HEADERS since 2.69 broke some of those scripts with bizarre
	shell syntax errors.

	Also, the macro expansion behavior is not consistent among all of the
	macros that take whitespace-separated lists, nor is it consistent
	between autoconf and autoheader.

	Address this by introducing a new m4sugar macro, currently called
	‘m4_validate_w’ (I’m open to suggestions for better names).  Here’s
	its documentation comment:

	| m4_validate_w(STRING): Expands into m4_normalize(m4_expand([STRING])),
	| but if that is not the same as just m4_normalize([STRING]),
	| issue a warning.

	The text of the warning is

	| configure.ac:N: warning: whitespace-separated-list contains macros;
	| configure.ac:N: in a future version of Autoconf they will not be expanded

	If the unexpanded form of the string contains the token ‘dnl’ then
	there’s an additional line:

	| configure.ac:N: note: ‘dnl’ is a macro

	All of the public macros that take a whitespace-separated list of
	symbols are changed to pass that argument through m4_validate_w before
	doing anything else with it, and the test suite is updated to verify
	consistent behavior for every last one of them.

	This addresses Savannah issues #110210 and #110211, and the harmless
	but annoying autoheader behavior described at
	https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html .

	In order to avoid expanding relatively expensive m4sugar macros
	multiple times per top-level macro invocation, several of the affected
	Autoconf macros are restructured along the same lines as I did for
	AC_REPLACE_FUNCS in the previous patch.

	* lib/m4sugar/m4sugar.m4 (m4_validate_w): New macro.
	* lib/autoconf/functions.m4 (AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE)
	  (AC_REPLACE_FUNCS)
	* lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIRS, AC_CHECK_FILES)
	* lib/autoconf/headers.m4 (AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE)
	* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Pass $1 through
	  m4_validate_w before use.

	* lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Refactor with helpers
	  _AC_CHECK_HEADERS_ONE_U, _AC_CHECK_HEADERS_ONE_S, _AC_CHECK_HEADERS_ONE_C.
	  (AC_CHECK_HEADERS_ONCE): Eliminate _AC_CHECK_HEADERS_ONCE.
	  (AC_CHECK_INCLUDES_DEFAULT): Don’t use _AC_CHECK_HEADERS_ONCE.

	* lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Refactor with helpers
	  _AC_CHECK_FUNCS_ONE_U, _AC_CHECK_FUNCS_ONE_S, _AC_CHECK_FUNCS_ONE_C.

	* lib/autoconf/status.m4 (_AC_CONFIG_SUBDIRS): No need to use m4_normalize.

	* tests/semantics.at: Add tests for expansion of M4 macros in
	  whitespace-separated list arguments to all of the above.

2020-06-29  Zack Weinberg  <zackw@panix.com>

	AC_REPLACE_FUNCS: invoke _AH_CHECK_FUNC and AC_LIBSOURCE unconditionally.
	While investigating something else, I noticed that AC_REPLACE_FUNCS
	calls _AH_CHECK_FUNC and AC_LIBSOURCE in the success branch of an
	AC_CHECK_FUNC.  This doesn’t work; both of those are marker macros
	that need to be expanded unconditionally at m4 time so that traces
	(placed by autoheader and automake, respectively) will fire.  In order
	to fix this while keeping the code readable, I would up doing a major
	refactor.  There are now four internal macros implementing AC_REPLACE_FUNCS.

	_AC_REPLACE_FUNC_U is called unconditionally for every shell word in
	the list passed to AC_REPLACE_FUNCS, and does _AH_CHECK_FUNC +
	AC_LIBSOURCE if it can, or issues a warning if it can’t.  (It could
	make sense to make this a public function, if we think shell variables
	in the AC_REPLACE_FUNCS list need to be supported long-term.  I dunno
	if there’s a use case that can’t be handled by AC_REPLACE_FUNCS inside
	a shell conditional just as well.)

	_AC_REPLACE_FUNC_L and _AC_REPLACE_FUNC_NL implement the actual test
	performed for each function to be replaced; the difference is that _L
	(for literal) can only be used on a function whose name is known at m4
	expansion time, _NL (nonliteral) works regardless.  _AC_REPLACE_FUNCS,
	which already existed, handles looping either at m4 time or shell time
	as appropriate.  AC_REPLACE_FUNCS remains a thin wrapper that runs
	_AC_REPLACE_FUNCS(m4_flatten([$1])).

	The _bulk_ of the patch is changes to the testsuite so that it notices
	the original bug.  Specifically, AT_CHECK_AUTOHEADER now takes an
	argument which is a whitespace-separated list of preprocessor macro
	names that ought to appear in the generated config.h.in.  This can be
	set to ‘ignore’ to skip the test, and unfortunately that’s what the
	“trivial” per-macro tests have to do (AT_CHECK_MACRO and friends), so
	coverage is not ideal, but it’s better than what we had.  Also,
	AT_CHECK_M4 now normalizes the backtrace lines that appear in the
	output of an AC_DIAGNOSE, e.g.

	    configure.ac:6: warning: The macro `AC_LANG_SAVE' is obsolete.
	    configure.ac:6: You should run autoupdate.
	    ../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from...
	    configure.ac:6: the top level

	becomes

	    configure.ac:6: warning: The macro `AC_LANG_SAVE' is obsolete.
	    configure.ac:6: You should run autoupdate.
	    lang.m4: AC_LANG_SAVE is expanded from...
	    configure.ac:6: the top level

	This allows us to write tests for these diagnostics that don’t depend
	on the relationship between the source and build directories, and
	won’t break when unrelated patches change the line number of a macro
	definition.

		* lib/autoconf/functions.m4 (AC_REPLACE_FUNCS, _AC_REPLACE_FUNCS)
	        (_AC_REPLACE_FUNC): Refactor into AC_REPLACE_FUNCS,
	        _AC_REPLACE_FUNCS, _AC_REPLACE_FUNC_U, _AC_REPLACE_FUNC_L,
	        _AC_REPLACE_FUNC_NL.  Ensure that _AH_CHECK_FUNC and
	        AC_LIBSOURCE are invoked unconditionally at m4 expansion
	        time for each literal function name in the argument to
	        AC_CHECK_FUNCS.  Issue warnings about non-literal names.

	        * tests/local.at (AT_CHECK_M4): Normalize backtrace lines from
	        the output of AC_DIAGNOSE / m4_warn.
	        (AT_CHECK_AUTOHEADER): Add arg EXPECTED-TMPLS
	        giving a list of preprocessor macro names that should appear
	        in the generated config.h.in.  Use AT_CHECK_M4 to invoke autoheader.
	        (_AT_CHECK_AC_MACRO, AT_CHECK_MACRO, AT_CHECK_AU_MACRO):
	        Update uses of AT_CHECK_AUTOHEADER.
	        * tests/fortran.at, tests/semantics.at, tests/tools.at
	        * tests/torture.at: Update all uses of AT_CHECK_AUTOHEADER.

	        * tests/semantics.at (AC_REPLACE_FUNCS test): Make somewhat
	        more thorough, using new functionality of AT_CHECK_M4 and
	        AT_CHECK_AUTOHEADER.

2020-06-29  Zack Weinberg  <zackw@panix.com>

	Look harder for a shell whose -n is known to work.
	The test suite was insisting on using /bin/sh -n for syntax checking,
	which meant that if /bin/sh wasn’t one of the short list of shells
	whose -n is known to work, we would skip all of the syntax-check
	tests, even if some other shell was available that would work.

	Instead do like _AS_DETECT_BETTER_SHELL, and loop over possible
	shells, starting with $SHELL and going on to a hardwired list of
	known-good possibilities.  The result is written to the substitution
	variable @SHELL_N@ and the testsuite uses that.

	(Should we invoke AC_PATH_PROG on the result of the search if it’s not
	already absolute?)

		* configure.ac: Search for a shell whose -n mode is known to
	        work, instead of just checking /bin/sh.  Set @SHELL_N@ to
	        what we find.
	        * tests/atlocal.in: Propagate @SHELL_N@ to testsuite.
	        * tests/local.at (AT_CHECK_SHELL_SYNTAX): Use $SHELL_N instead
	        of hardcoding /bin/sh.  Update test for usable shell -n.
	        (AT_CHECK_AUTOCONF): Update test for usable shell -n.
	        * tests/tools.at: Update test for usable shell -n.

2020-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	make fetch

	Update release advice

	Stop using up_to_date_p
	* bin/autom4te.in (up_to_date): Rewrite to stop using
	up_to_date_p, which has been removed from Automake.

	make fetch

	Save and check Autom4te version in cache
	Problem reported in <https://bugs.debian.org/219621>.
	* bin/autom4te.in: Save and check autom4te version number into cache index.
	* lib/Autom4te/C4che.pm (save): New arg $version.  All callers changed.
	(good_version): New sub.

	Fix undefined behavior in AC_SYS_LARGEFILE
	* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
	Avoid undefined behavior on platforms where off_t is 32 bits.  See:
	https://bugs.debian.org/742780

2020-06-29  Andreas Barth  <aba@ayous.org>  (tiny change)

	Look for AM_PROG_LIBTOOL too
	This helps out dh-autoreconf on Debian
	<https://bugs.debian.org/759739>.
	* bin/autoreconf.in (autoreconf_current_directory):
	* lib/autom4te.in (args): Look for AM_PROG_LIBTOOL too.

2020-03-13  Zack Weinberg  <zackw@panix.com>

	Define $as_echo and $as_echo_n for backward compatibility.
	Commit 2b59b6f8a79b8bf77e178ff4e5aa0ede433d39cf removed the internal
	shell variables $as_echo and $as_echo_n.  It turns out that these are
	used by several widely-used third-party m4 files (notably both
	gnulib-common.m4 from gnulib, and ax_pthread.m4 from the Autoconf
	macro archive) as well as any number of existing configure.ac’s.

	Restore these shell variables, unconditionally defining them to use
	printf.  Issue -Wobsolete warnings if they are used, recommending the
	use of AS_ECHO and AS_ECHO_N respectively.  Add a test which checks
	both that they do work and that they trigger warnings.

2020-03-13  Zack Weinberg  <zackw@panix.com>

	_AS_REEXEC_WITH_SHELL: don’t use AS_EXIT.
	If _AS_REEXEC_WITH_SHELL fails to exec the selected “better” shell
	interpreter, and that failure somehow doesn’t terminate the process,
	it calls AS_EXIT([255]).  This expands to an invocation of as_fn_exit.
	However, the definition of as_fn_exit goes into the M4SH-INIT-FN
	diversion, whereas _AS_REEXEC_WITH_SHELL goes into the M4SH-SANITIZE
	diversion, so as_fn_exit won’t be defined at the point of this use.
	We can’t move the definition of as_fn_exit earlier, because we don’t
	know that the shell supports shell functions until after we get to the
	end of the M4SH-SANITIZE diversion.

	This is only a theoretical bug because, as the comments say, “all the
	known shells bail out after a failed exec.”  However, a shell that
	doesn’t bail out will instead give the user a flood of nonsensical
	error messages (starting with “as_fn_exit: not found” and then going
	on to choke on the rest of the script) so I think we should fix it
	anyway.  There shouldn’t be any problem with using a plain ‘exit’ at
	this point; no traps are active yet, and we are exiting with an
	explicit error code.

2020-03-13  Zack Weinberg  <zackw@panix.com>

	README-hacking: re-configure from scratch during bootstrap.
	When building autoconf from a git checkout, recommend running
	‘make distclean’ and a second ‘./configure’ after regenerating
	autoconf’s own configure script using the just-built autoconf.
	If one only runs ‘make check’ at that point, some configure-time
	tests will not be repeated using the new code, such as detection
	of a “better” shell.

2020-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	Fix _AS_DETECT_BETTER_SHELL breakage
	Problem reported by Zack Weinberg in:
	https://lists.gnu.org/r/autoconf/2020-03/msg00017.html
	* lib/m4sugar/m4sh.m4 (_AS_RUN): Use sh -c instead of
	the no-longer-existent $as_echo.  This fixes a bug introduced
	in 2013-01-28T03:44:45Z!gary@gnu.org.

2020-02-26  Zack Weinberg  <zackw@panix.com>

	Fix `make syntax-check'.
	There are two errors caught by make syntax-check currently.

	First, the recent make update-copyright
	(d78a7dd95fed24e417dfb4d08124a9ce7c1f7d1e) missed autoconf.texi, I
	think because there are a bunch of .texi files in doc/ whose copyright
	years should *not* be updated (e.g. standards.texi, fdl.texi) and the
	exclusion pattern is too broad.  I can't actually *find* the exclusion
	pattern in the twisty maze of .mk files, all alike, so I just manually
	updated autoconf.texi.

	Second, it objects to an edit to an old section of NEWS.  This is
	because of d3dcd5895d64f6c86275c9333e2760a867e540e7, which is a
	legitimate change (replacing http:// with https:// in a URL) so the
	correct action is to change old_NEWS_hash to match.

		* doc/autoconf.texi: Update copyright year.
		* cfg.mk (old_NEWS_hash): Update to acknowledge commit
		d3dcd5895d64f6c86275c9333e2760a867e540e7.

2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	Mention 32-bit GNU/Linux 64-bit inodes
	* lib/autoconf/specific.m4 (AC_SYS_LARGEFILE):
	In a comment, mention 64-bit inode problem on 32-bit GNU/Linux.
	This is taken from Gnulib.

	Remove definition of _DARWIN_USE_64_BIT_INODE
	It’s not needed in currently-supported macOS versions, and was
	problematic anyway in MacOS X 10.5 which was the only version that
	could use it.  Problem reported by Peter Eisentraut in:
	https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
	* lib/autoconf/specific.m4 (AC_SYS_LARGEFILE):
	Don’t define _DARWIN_USE_64_BIT_INODE.

2020-01-01  Jim Meyering  <meyering@fb.com>

	maint: make update-copyright

2019-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Document AIX 7.2 printf command gotcha
	* doc/autoconf.texi (Limitations of Builtins):
	Document AIX 7.2 sh printf problem with octal escapes.

2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix terminology typo in mkdir -p check
	* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Say “race-free”, not
	“thread-safe”.  Problem reported by Reuben Thomas in:
	https://lists.gnu.org/r/bug-autoconf/2019-09/msg00003.html

2019-09-10  Ondrej Dubaj  <odubaj@redhat.com>

	Port tests to Bash 5
	* tests/local.at (AT_CHECK_ENV, AT_CONFIG_CMP):
	Add BASH_ARGC, BASH_ARGV to list of variables to be ignored when
	comparing variable space dumps.
	(AT_CONFIG_CMP): Also ignore LINENO.
	* tests/m4sh.at: Also unset LINENO in 'reference' and 'test/test-1'.

2019-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	Port AC_C_BIGENDIAN to recent clang
	Problem and trivial patch reported by Matthieu Gautier in:
	https://lists.gnu.org/r/bug-autoconf/2019-05/msg00006.html
	* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Use unsigned short for
	values greater than 2**15 - 1.

2018-12-15  Jim Meyering  <meyering@fb.com>

	doc/autoconf.texi: fix spelling/grammar nits

2018-11-24  Noah Misch  <noah@cs.caltech.edu>

	AC_CHECK_DECL: when cached, don't overwrite a werror flag
	* lib/autoconf/general.m4 (_AC_CHECK_DECL_BODY): Restore werror flags
	inside the AC_CACHE_CHECK that saves them.  Commit
	82ef7805faffa151e724aa76c245ec590d174580 broke this.  From Tom Lane
	(trivial change).
	* tests/semantics.at (AC_CHECK_DECLS): Test this.

2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	lib: use list of unsafe chars, not safe ones
	* lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG):
	Rely on list of unsafe chars instead of list of safe ones.
	This corresponds more closely to POSIX and should result
	in less quoting.
	* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS):
	Adjust to this change.
	x

2018-03-19  Daniel Colascione  <dancol@dancol.org>

	fix quoting

	Fix test suite with modern Perl

2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	lib: fix update_file timestamps
	Problem reported by Bruno Haible in:
	https://savannah.gnu.org/support/?109406
	* lib/Autom4te/FileUtils.pm (update_file): Use rename + system
	instead of move, since move truncates file timestamps.

2017-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	maint: update URLs
	Most of this is replacing http: with https: when either will do.

	lib: check ‘install file dir/’
	* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Check that the
	system install program works when the destination name has a
	trailing slash.  This helped catch problems in an experimental and
	never-published version of GNU Coreutils, and is a good thing to
	check in general.

	maint: sync from Automake
	This just updates comments, notably URLs.

2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer HTTPS to FTP and HTTP

	make fetch

	"time stamp" -> "timestamp", as per POSIX

2017-01-25  Eric Blake  <eblake@redhat.com>

	doc: emphasize that config.h must be first
	* doc/autoconf.texi (C and Posix Variants, System Services):
	Remind user to include config.h first.
	(Configuration Headers): Give another reason why config.h must be
	first, and mention that only .c files need it.
	Based on discussion on bugs.debian.org/158969

2017-01-01  Jim Meyering  <meyering@fb.com>

	maint: update copyright dates for 2017
	* all files: Run "make update-copyright".
	* doc/autoconf.texi: Update manually.

2016-12-23  Eric Blake  <eblake@redhat.com>

	doc: Mention effect of 'autoreconf -fi' on INSTALL
	Several projects have a bootstrap script that invokes
	'autoreconf -fi' as part of a fresh version control checkout,
	in order to avoid storing common files in version control,
	while also allowing contributors to rerun bootstrap to pick
	up the benefits of any upgrade of one of the autotools.

	However, the documentation did not make it obvious that such
	a setup will overwrite any customizations to files like
	INSTALL, if those files are stored in version control, when
	automake still considers that file to be standard based on
	AM_INIT_AUTOMAKE settings.  In such a case, a mere
	'autoreconf -i' is good for the bootstrap script, while a
	separate 'autoreconf -f' is good for picking up on an upgrade
	of any autotools.

	* bin/autoreconf.in (help): Mention standard files.
	* doc/autoconf.texi (autoreconf Invocation): Add more text, including
	warning that mixing --force and --install may undo customizations,
	and that the set of files impacted is controlled by automake.
	Reported by Emil Laine <laine.emil@gmail.com>

2016-12-22  Eric Blake  <eblake@redhat.com>

	doc: Patterns in m4_pattern_forbid cause error, not warning
	The example text regarding a desired literal AC_DC in output
	claimed that the result would trigger a warning if one does
	not use creative quoting; but in reality, autoconf's use of
	m4_pattern_forbid to reserve the entire AC_ namespace makes
	it a hard error.  Reword the section to mention the use of
	m4_pattern_allow() as the fix, and beef up the example to
	better demonstrate the problem.

	* doc/autoconf.texi (Autoconf Language): Improve AC_DC example.
	Reported by Gavin Smith <gavinsmith0123@gmail.com>.

2016-12-21  Daniel Elstner  <daniel.kitta@gmail.com>

	autoheader: check templates of all config headers
	* bin/autoheader.in: When checking for missing templates, take
	all config headers into account, not just the one generated by
	autoheader.  This makes it possible to use AC_DEFINE() for
	secondary headers without duplicating the template into the
	first header.
	* tests/tools.at: Add a check for autoheader with multiple
	config headers.
	* NEWS: Document the new behavior.
	Message-Id: <1482336946.31331.2.camel@gmail.com>

2016-12-21  Paolo Bonzini  <bonzini@gnu.org>

	autoconf: prefer an unrolled loop for trivial AC_CHECK_HEADERS
	An unrolled loop avoids the cost of spawning sed in AS_TR_SH and
	AS_TR_CPP.  Prefer it if there is nothing in the second and third
	argument of AC_CHECK_HEADERS and the first argument is a literal.

	* lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Unroll loop if safe.
	(_AC_CHECK_HEADERS): Move basic implementation here.
	(AC_CHECK_INCLUDES_DEFAULT): Remove unnecessary arguments after the first.

	Message-Id: <1477933688-4884-3-git-send-email-bonzini@gnu.org>
	[eblake: perform AC_CHECK_HEADERS_ONCE changes separately, use
	dnl to reduce generated blank lines]

2016-12-21  Paolo Bonzini  <bonzini@gnu.org>

	autoconf: prefer an unrolled loop for trivial AC_CHECK_FUNCS
	An unrolled loop avoids the cost of spawning sed in AS_TR_SH and
	AS_TR_CPP.  Prefer it if there is nothing in the second and third
	argument of AC_CHECK_FUNCS and the first argument is a literal.

	* lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Unroll loop if safe.
	(_AC_CHECK_FUNCS): Move basic implementation here.

	Message-Id: <1477933688-4884-2-git-send-email-bonzini@gnu.org>
	[eblake: perform AC_CHECK_FUNCS_ONCE changes separately, use
	dnl to reduce generated blank lines]

2016-12-21  Eric Blake  <eblake@redhat.com>

	AC_CHECK_HEADERS_ONCE: hoist cache name computation to m4 time
	Rather than perform a sed script on each element of the
	$ac_header_c_list to compute the corresponding cache name, we
	can inline enough of AC_CHECK_HEADER to bypass the normal
	polymorphic code, and instead directly use the literal
	header and cache name that we are consuming from the list.

	The resulting configure script is roughly unchanged in size,
	but performs slightly faster.

	* lib/autoconf/headers.m4 (AC_CHECK_HEADER_COMPILE): Split out shell
	function registration...
	(_AC_CHECK_HEADER_COMPILE_FN): ...to here.
	(_AC_HEADERS_EXPANSION): Use it to inline enough of AC_CHECK_HEADER
	to operate on a literal rather than a shell variable, for fewer sed
	calls.

2016-12-21  Eric Blake  <eblake@redhat.com>

	AC_CHECK_FUNCS_ONCE: hoist cache name computation to m4 time
	Rather than perform a sed script on each element of the
	$ac_func_c_list to compute the corresponding cache name, we
	can inline enough of AC_CHECK_FUNC to bypass the normal
	polymorphic code, and instead directly use the literal
	function name that we are consuming from the list.

	While at it, we can use echo instead of cat to append to
	confdefs.h, for another process shaved.

	The resulting configure script is roughly unchanged in size,
	but performs slightly faster.

	* lib/autoconf/functions.m4 (AC_CHECK_FUNC): Split out shell
	function registration...
	(_AC_CHECK_FUNC_FN): ...to here.
	(_AC_FUNCS_EXPANSION): Use it to inline enough of AC_CHECK_FUNC to
	operate on a literal rather than a shell variable, for fewer sed
	calls.

2016-12-21  Eric Blake  <eblake@redhat.com>

	AC_CHECK_HEADERS_ONCE: hoist CPP name computation to m4 time
	Rather than perform a sed script on each element of the
	$ac_header_c_list to compute the corresponding CPP name, we can
	make the list store a series of triples of header names, shell-safe
	names, and CPP names all computed at m4 time.

	The resulting configure script is slightly larger based on
	how many headers are checked once, but also performs
	slightly faster.

	There is still a sed call in AC_CHECK_HEADER for computing the
	cache variable name; that will be dealt with next.  That patch
	will also be the one that takes advantage of the shell-safe name.

	* lib/autoconf/headers.m4 (_AC_CHECK_HEADER_ONCE): Track the shell
	and CPP name in the list...
	(_AC_HEADERS_EXPANSION): ...and rewrite the list walk to parse off
	triples of arguments, for fewer sed calls.

2016-12-21  Eric Blake  <eblake@redhat.com>

	AC_CHECK_FUNCS_ONCE: hoist CPP name computation to m4 time
	Rather than perform a sed script on each element of the
	$ac_func_c_list to compute the corresponding CPP name, we can
	make the list store a series of pairs of function names and
	CPP names all computed at m4 time.

	The resulting configure script is slightly larger based on
	how many function names are checked once, but also performs
	slightly faster.

	There is still a sed call in AC_CHECK_FUNC for computing the
	cache variable name; that will be dealt with next.

	* lib/autoconf/functions.m4 (_AC_CHECK_FUNC_ONCE): Track the CPP
	name in the list...
	(_AC_FUNCS_EXPANSION): ...and rewrite the list walk to parse off
	pairs of arguments, for fewer sed calls.

2016-12-21  Eric Blake  <eblake@redhat.com>

	AC_CHECK_HEADERS_ONCE: honor current AC_LANG
	Previously, AC_CHECK_HEADERS_ONCE collected a list of header names
	to check, but ran the checks using the AC_LANG that was active
	during the first encounter of the macro.  In practice, this is
	usually the C language, and we haven't had actual reports of projects
	attempting to use AC_CHECK_HEADERS_ONCE across multiple languages,
	rather this was discovered by code inspection.

	With this patch, the code now tracks a separate per-language list of
	names to check.  Note, however, that it is only possible to check for
	a given header name in one language; attempting to add a name again
	under AC_CHECK_HEADERS_ONCE while a different language is active is a
	no-op (this still makes sense because the side-effect of defining
	the CPP macro HAVE_HEADER does not include a language prefix).

	* lib/autoconf/headers.m4 (_AC_CHECK_HEADER_ONCE)
	(_AC_HEADERS_EXPANSION):
	* NEWS: Mention it.

2016-12-20  Eric Blake  <eblake@redhat.com>

	AC_CHECK_FUNCS_ONCE: honor current AC_LANG
	Previously, AC_CHECK_FUNCS_ONCE collected a list of function names
	to check, but ran the checks using the AC_LANG that was active
	during the first encounter of the macro.  In practice, this is
	usually the C language, and we haven't had actual reports of projects
	attempting to use AC_CHECK_FUNCS_ONCE across multiple languages,
	rather this was discovered by code inspection.

	With this patch, the code now tracks a separate per-language list of
	names to check.  Note, however, that it is only possible to check for
	a given function name in one language; attempting to add a name again
	under AC_CHECK_FUNCS_ONCE while a different language is active is a
	no-op (this still makes sense because the side-effect of defining
	the CPP macro HAVE_FUNC does not include a language prefix).

	* lib/autoconf/functions.m4 (_AC_CHECK_FUNC_ONCE)
	(_AC_FUNCS_EXPANSION):
	* NEWS: Mention it.

2016-12-14  Bruno Haible  <bruno@clisp.org>

	* doc/autoconf.texi (Using Autotest): Stop mentioning Free Recode.
	Free Wdiff is now GNU Wdiff again.

2016-11-04  Paolo Bonzini  <bonzini@gnu.org>

	autoconf: refine quadrigraph test in _AC_DEFINE_UNQUOTED
	It is a very common case that a quadrigraph appears in the argument of
	_AC_DEFINE_UNQUOTED, because "#define" is expanded through a quadrigraph.
	Therefore, restrict the quadrigraph tests to "$" (for "$(" and "${")
	and "(" (for "$(").

	At the same time, "#" should not be used inside AC_ECHO because it confuses
	m4's comment parsing.  This pre-existing latent bug is caught by test 251:

	   AC_DEFINE_UNQUOTED([bar], [[%!_!# X]])

	Previously the quadrigraph in "@%:@define bar %!_!# X" made Autoconf fall back
	to cat anyway.  Now that Autoconf is not fooled by the quadrigraph, the test
	catches that "#" is not special-cased.  Kudos to Eric for coming up with it!

	* lib/autoconf/general (_AC_DEFINE_UNQUOTED): Do not blindly
	use cat on all quadrigraphs.

	Message-Id: <1477933688-4884-4-git-send-email-bonzini@gnu.org>

2016-11-02  Quinn Grier  <quinn.grier@gmail.com>

	doc: fix an infinitely recursing example
	The "single" macro infinitely recurses because its expansion contains
	the unquoted text " single-". The "double" macro almost has the same
	problem, but it is protected by extra quotes. In any case, the macro
	names being repeated in the macro definitions is not necessary.

	This commit changes the macro names to "foo" and "bar", which are taken
	from a very similar example in the GNU M4 1.4.17 manual. See lines 1971
	to 1980 of v1.4.17:doc/m4.texi in the GNU M4 Git repository.

	* doc/autoconf.texi (Quoting and Parameters): Fix broken example.

2016-11-01  Pádraig Brady  <P@draigBrady.com>

	doc: detail inconsistencies in sed word boundary handling
	* doc/autoconf.texi (Limitations of usual tools): Display a
	table showing where the various syntaxes for word boundaries
	are supported.

2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	AC_USE_SYSTEM_EXTENSIONS: Remove stray TR in doc

	AC_USE_SYSTEM_EXTENSIONS: port to more ISO C TSes
	* doc/autoconf.texi (C and Posix Variants): Rename from "Posix
	Variants", and document updated behavior.
	* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Also define
	__STDC_WANT_IEC_60559_ATTRIBS_EXT__,
	__STDC_WANT_IEC_60559_DFP_EXT__,
	__STDC_WANT_IEC_60559_TYPES_EXT__, and
	__STDC_WANT_MATH_SPEC_FUNCS__.  From a suggestion by Joseph Myers in:
	http://lists.gnu.org/archive/html/autoconf-patches/2016-09/msg00011.html

2016-09-15  Eric Blake  <eblake@redhat.com>

	AC_HEADER_MAJOR: port to glibc 2.25
	glibc 2.25 is deprecating the namespace pollution of <sys/types.h>
	injecting major(), minor(), and makedev() into the compilation
	environment, with a warning that insists that users include
	<sys/sysmacros.h> instead.  However, because the expansion of
	AC_HEADER_MAJOR didn't bother checking sys/sysmacros.h until
	after probing whether sys/types.h pollutes the namespace, it was
	not defining MAJOR_IN_SYSMACROS, with the result that code
	compiled with -Werror chokes on the deprecation warnings because
	it was not including sysmacros.h.

	In addition to fixing autoconf (which only benefits projects
	that rebuild configure after this fix is released), we can also
	give a hint to distros on how they can populate config.site with
	a cache variable to force pre-existing configure scripts without
	the updated macro to behave sanely in the presence of glibc 2.25
	(the documentation is especially useful since that cache variable
	is no longer present in autoconf after this patch).

	Note that mingw lacks major/minor/makedev in any of its standard
	headers; for that platform, the behavior of this macro is unchanged
	(code using the recommended include formula will get a compile error
	when trying to use major(), whether before or after this patch); but
	for now, it is assumed that programs actually concerned with
	creating devices are not worried about portability to mingw.  If
	desired, a later patch could tighten AC_HEADER_MAJOR to fail at
	configure time if the macros are unavailable in any of the three
	system headers, but that semantic change is not worth mixing into
	this patch.

	* lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Drop check for
	major within sys/types.h; it interferes with the need to check
	sysmacros.h first.
	* doc/autoconf.texi (Particular Headers) <AC_HEADER_MAJOR>: Expand
	details on usage, and on workarounds for non-updated projects.

2016-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	doc: resplit lines to avoid Texinfo chaos
	* doc/autoconf.texi (Introduction): Resplit lines to avoid
	Texinfo 6.3 incompatibility with Perl 5.22.  See:
	http://lists.gnu.org/archive/html/bug-texinfo/2016-09/msg00037.html

2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	AC_USE_SYSTEM_EXTENSIONS: port to recent ISO C
	* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS):
	Also define __STDC_WANT_IEC_60559_BFP_EXT__,
	__STDC_WANT_IEC_60559_FUNCS_EXT__, and __STDC_WANT_LIB_EXT2__.
	* NEWS, doc/autoconf.texi (Posix Variants):
	Document this.  Also, document other changes in this area
	that were not properly documented before.

	doc: port to Texinfo 6.3
	* doc/autoconf.texi: Remove obsolete @setcontentsaftertitlepage
	that provokes a warning from Texinfo 6.3.

2016-09-13  Eric Blake  <eblake@redhat.com>

	doc: use @xref correctly
	Silences this warning from new-enough texinfo:
	./doc/autoconf.texi:14236: warning: @xref node name should not contain `.'

	* doc/autoconf.texi (Macro Definitions): No need for .info.

2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	Port AC_CHECK_HEADER_STDBOOL to C++11
	* lib/autoconf/headers.m4: Port to C++11.
	Problem reported by David Seifert in:
	http://lists.gnu.org/archive/html/bug-gnulib/2016-05/msg00052.html

2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Use American spelling for "initialize"
	* lib/autoconf/c.m4: Prefer the spelling "initializer" in comments.

2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	autom4te: fix problem when tracing to '-'
	* bin/autom4te.in (handle_traces): When $output is '-', use
	stdout rather than creating a file named '-'.  This fixes a problem
	introduced by the recent port to the new Autom4te::XFile API.

	Also try clang
	Problem reported by Václav Zeman in:
	http://lists.gnu.org/archive/html/autoconf/2012-10/msg00000.html
	* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_OBJC): Also try clang.
	(AC_PROG_CXX): Also try clang++.
	These are at the end of the existing lists, to avoid compatibility
	issues in older installations.

	Port C11 and C++11 testing to clang
	* lib/autoconf/c.m4 (_AC_C_C99_TEST_HEADER):
	Include stddef.h, for offsetof.
	(_AC_PROG_CC_C11): Limit _Static_assert to integer constant
	expressions.  Suggested by Nick Bowler in:
	http://lists.gnu.org/archive/html/autoconf/2016-02/msg00009.html
	(_AC_CXX_CXX11_TEST_BODY): Don't use string literals to initialize
	non-const pointers.  Suggested by Mike Miller in:
	http://lists.gnu.org/archive/html/autoconf/2016-02/msg00008.html

	Fix broken URL to Unix history
	* doc/autoconf.texi (Systemology): Fix broken URL.
	Reported by Tom Wilcox.

2016-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	AC_C_RESTRICT: port better to non-GCC + glibc
	Problem reported by Dwight Guth in:
	http://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html
	* lib/autoconf/c.m4 (AC_C_RESTRICT): Prefer __restrict__ to __restrict.
	Also, fix and update some comments.

2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>

	Move config.* man pages to its source tree
	Suggested by Ben Elliston in:
	https://lists.gnu.org/archive/html/autoconf-patches/2015-11/msg00000.html
	* man/config.guess.x, man/config.sub.x: Remove.
	* NEWS: Mention this.
	* man/local.mk (dist_man_MANS): Remove them.
	($(mansrcdir)/config.guess.1, $(mansrcdir)/config.sub.1): Remove rules.

	maint: make update-copyright

	port to new Autom4te::XFile API

	make fetch

	Port better to gcc -fsanitize=address
	* lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF, _AC_FUNC_REALLOC_IF):
	Free heap-allocated storage before exiting.

2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix memory leak in AC_FUNC_MMAP
	* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Fix memory leak
	in test case, found by configuring with gcc -fsanitize=address.

	Document dash ${*-unset} behavior
	* doc/autoconf.texi (Shell Substitutions): Document dash
	incompatibility.  Problem reported by David Caldwell in:
	http://bugs.gnu.org/22556

2015-10-08  Thomas Jahns  <jahns@dkrz.de>  (tiny change)

	Add -mdir flag for NAG Fortran compiler
	* lib/autoconf/fortran.m4 (AC_FC_MODULE_OUTPUT_FLAG):
	Also try -mdir.  Also, prefer autoconf macros instead of verbatim shell
	code and make tests safer.

2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	tests: port to recent libtool diagnostics
	Problem reported by Christian Fafard in:
	http://lists.gnu.org/archive/html/bug-autoconf/2015-09/msg00009.html
	* tests/foreign.at (libtool): Run the scripts in the C locale,
	so that we need not worry about localized quotes in their output.

2015-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Add /opt/X11/include to X search path
	* lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT):
	Add /opt/X11/include for OS X.
	Problem reported by Daniel Macks at:
	http://lists.gnu.org/archive/html/bug-autoconf/2015-08/msg00002.html

2015-06-04  Eric Blake  <eblake@redhat.com>

	doc: mention 'for' syntax issue on older shells
	Based on a report by Michael Felt, via Paul Eggert on the
	coreutils list.

	* doc/autoconf.texi (Limitations of Builtins) <for>: Document
	problem with 'for var in ;'.

2015-05-13  Noah Misch  <noah@cs.caltech.edu>

	AC_CHECK_DECL, AC_CHECK_DECLS: port to the Clang compiler
	* lib/autoconf/general.m4 (_AC_UNDECLARED_WARNING): New macro.
	(_AC_CHECK_DECL_BODY): Call it once per language; treat warnings as
	errors when its verdict indicates that.
	* tests/semantics.at (AC_CHECK_DECLS): Add a macro call that relies on
	the new semantics.  Avoid -Wmissing-variable-declarations warnings.
	* doc/autoconf.texi (Generic Declarations): Document the implications.
	* NEWS: Mention this change.

2015-04-21  Matěj Týč  <matej.tyc@gmail.com>

	m4_pattern_forbid: better documentation
	Give a more concrete description of what the m4_pattern_forbid
	thingy that pretends it is a macro accepts as an argument.

	Copyright-paper-exempt: Yes

2015-04-21  Eric Blake  <eblake@redhat.com>

	lib: use shorter way to test if variable is set
	Based on an idea by Bernhard Reutner-Fischer.

	We frequently used the idiom of 'test "${var+set}" = set' to
	test if $var was set to a non-empty string, but this can portably
	be trimmed to a more compact 'test ${var+y}' for a smaller
	configure file.  Testing that a variable is not set can be done
	with '${var+false} :' (although the value of $? is not reliably
	1 when the variable is set).

	The code for AS_VAR_TEST_SET already used the form '${var+:} false',
	but it is slightly longer, and does not guarantee $? of 1.

	Tested on coreutils, where the resulting configure file is about
	1k smaller.

	* doc/autoconf.texi (Shell Substitutions): Prefer shorter sequence
	for testing if a variable is set.
	(Limitations of Builtins) <test (strings)>: Document it.
	* configure.ac: Use it.
	* lib/autoconf/c.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G)
	(_AC_PROG_OBJC_G, _AC_PROG_OBJCXX_G): Likewise.
	* lib/autoconf/fortran.m4 (_AC_PROG_FC_G): Likewise.
	* lib/autoconf/general.m4 (_AC_ENABLE_IF_ACTION, AC_CACHE_SAVE):
	Likewise.
	* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Likewise.
	* lib/autoconf/programs.m4 (AC_PROG_INSTALL, AC_PROG_MKDIR_P)
	(_AC_PROG_LEX_YYTEXT_DECL): Likewise.
	* lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Likewise.
	* lib/autotest/general.m4 (AT_INIT): Likewise.
	* tests/base.at (AC_CACHE_CHECK): Likewise.
	* tests/m4sh.at (LINENO): Likewise.
	* lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE)
	(_AS_DETECT_BETTER_SHELL, _AS_SHELL_SANITIZE)
	(_AS_PATH_SEPARATOR_PREPARE): Likewise.
	(AS_VAR_TEST_SET): Use shorter sequence.

2015-04-21  Eric Blake  <eblake@redhat.com>

	m4_set_foreach: minor optimization
	As a minor optimization, most macros in m4sugar.m4 try to avoid
	output of 'dnl' in the expansion, to reduce the number of macros
	that must be expanded at each call site.

	* lib/m4sugar/m4sugar.m4 (m4_set_foreach): Don't expand dnl in all
	callers.

2015-04-20  Nick Bowler  <nbowler@draconx.ca>  (tiny change)

	m4sugar: fix pop typo in m4_set_foreach
	* lib/m4sugar/m4sugar.m4 (m4_set_foreach): Pop macro definition.

2015-04-09  Eric Blake  <eblake@redhat.com>

	AC_PROG_MKDIR_P: reduce macro output size
	Merging two case globs into one gives slightly smaller files and
	less time spent in shell globbing on systems that lack GNU mkdir.

	* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Combine two GNU cases.

2015-04-09  Bernhard Reutner-Fischer  <rep.dot.nop@gmail.com>

	AC_PROG_MKDIR_P: Also accept BusyBox mkdir -p
	* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Accept BusyBox.

2015-02-01  Jim Meyering  <meyering@fb.com>

	tests: avoid two false-positive parallel test failures
	* tests/local.mk (check-local): Add a leading "+",
	to void false-positive test failures when running
	them in parallel.  Before this change, running e.g.,
	"make check TESTSUITEFLAGS=--jobs=15" would always
	fail the two "make"-invoking tests: "C unit tests"
	and "C unit tests (EXEEXT)".
	(installcheck-local): Likewise for "installcheck".

2015-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	doc: -f is now portable for cp and ln
	This follows up on a comment by Glenn Morris in:
	http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00011.html
	* doc/autoconf.texi (Limitations of Usual Tools):
	Remove circa-1990 advice about avoiding cp -f and ln -f.
	Although that advice was reasonable for the early 1990s, the -f
	option is portable for both cp and ln nowadays.  These options
	were standardized in POSIX 1003.2-1992, and pre-POSIX systems such
	as SunOS 4 are no longer of practical concern.

	maint: bump copyright year
	* doc/autoconf.texi: Update copyright year.
	This had to be done by hand.

	maint: bump copyright to 2015
	* all files: Run 'make update-copyright'.

2014-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Fix spurious testsuite failure when /bin/sh is dash
	The testsuite used slightly different logic in the code employed to
	decide whether a test should be skipped due to a limitation of the
	selected shell, and in the code running the test itself.

	* tests/autotest.at (Syntax error): Adjust.
	(parallel syntax error): Likewise.

2014-11-02  Gary V. Vaughan  <gary@gnu.org>

	tests: avoid spurious test failure with libtool 2.4.3
	Based on a report by Bruce Dubbs.

	* tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the
	older `quote'.

2014-11-02  Eric Blake  <eblake@redhat.com>

	docs: mention that not all values can be exported
	There has been a LOT of news about bash's Shell Shock bug lately.
	Document some of the ramifications it has on portable scripting.

	* doc/autoconf.texi (Limitations of Builtins) <export>: Add some
	details about Shell Shock CVE-2014-6271.

2014-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	doc: distinguish GCC from GNU C, etc.
	* doc/autoconf.texi (C Compiler, Objective C Compiler)
	(Objective C++ Compiler, Fortran Compiler): Be more careful about
	distinguishing GNU C from GCC, and similarly for other languages.
	Problem reported by Marko Lindqvist in:
	http://lists.gnu.org/archive/html/autoconf/2014-09/msg00027.html

	autoconf: clarify "checking" message for GNU-compatible compiliers
	Problem reported by Bastien Chevreux in:
	http://lists.gnu.org/archive/html/autoconf/2014-09/msg00022.html
	and idea for fix by Eric Blake in:
	http://lists.gnu.org/archive/html/autoconf/2014-09/msg00025.html
	* doc/autoconf.texi (Running the Preprocessor)
	(Present But Cannot Be Compiled):
	Adjust examples to match current behavior.
	* lib/autoconf/lang.m4 (_AC_LANG_COMPILER_GNU): Say
	"checking whether the compiler supports GNU C", not
	"checking whether we are using the GNU C compiler".

2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	autoconf: fix typo in previous change
	* lib/autoconf/c.m4 (AC_C_RESTRICT): Fix typo in previous change.

	autoconf: port 'restrict' to GCC 4.2.1
	* lib/autoconf/c.m4 (AC_C_RESTRICT): Detect GCC bug 14050.
	Problem reported by Marco Munari for OpenBSD 5.5.

2014-08-08  Jehan  <jehan@girinstud.io>

	cross-compiling: handling modern platforms able to run foreign binaries.
	* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_CROSS):
	When only --host is set, and no --build, but in the end, the resulting
	computed $build and $host are different, set $cross_compiling = yes.
	Indeed we can't rely only on a successful test program run, because false
	positives occur on some platforms. In particular modern GNU/Linux
	distributions set Wine to automatically handle Windows binaries.
	Consequently $cross_compiling gets set to "no" even though we are in an
	obvious cross-compilation case.
	(tiny change)

2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	autoconf: modernize AC_C_VARARRAYS for C11
	* lib/autoconf/c.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
	VLAs are not supported, as this is what C11 does.  The old macro
	HAVE_C_VARARRAYS is still defined if they are supported, but is
	now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
	* doc/autoconf.texi (C Compiler), NEWS: Document the above.

	doc: Solaris 11 supports $(...)
	* doc/autoconf.texi (Shell Substitutions): Say that $(...) isn't
	working in Solaris 10 and earlier, not in "recent releases".

	doc: modernize character encoding
	* doc/autoconf.texi: Specify @documentencoding UTF-8.  Don't abuse
	'`' to mean open quote, unless Texinfo already interprets it that
	way.  Be more careful about hyphen versus minus versus endash
	versus emdash.

2014-07-17  Eric Blake  <eblake@redhat.com>

	m4sh: allow trailing newlines in shell conditions
	Dimitrios Apostolou reported getting a shell syntax error for
	this construct in his configure.ac:

	AM_CONDITIONAL([HAVE_LIBXML2],
	    [test "x$with_libxml2" != xno &&
	     test "x$ac_cv_lib_xml2_xmlFirstElementChild" = xyes]
	)

	He analyzed it to a root cause: his trailing newline, coupled
	with an 'if $2; then' construct in the macro body, resulted in
	configure containing:
	if test ... xyes
	; then
	where the semicolon is a syntax error in shell; and proposed
	a patch to automake to fix his use case.

	While that macro is not under our control, it does highlight
	the fact that the shell can use either ; or newline to
	terminate a conditional prior to the next keyword in a compound
	statement.  If we use newline, we gain two benefits - the
	configure file is slightly smaller (more lines, but fewer
	bytes), and any user that doesn't realize that unquoted
	trailing newlines in a macro argument are still significant
	can still generate valid shell code when their argument is
	used in a shell compound statement.

	* lib/m4sugar/m4sh.m4 (AS_IF, _AS_IF, _AS_CLEAN_DIR): Prefer
	newline over semicolon to end user-supplied conditionals.
	* lib/autoconf/general.m4 (AC_CONFIG_AUX_DIRS): Likewise.
	* lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Likewise.
	* lib/autoconf/programs.m4 (_AC_PATH_PROGS_FEATURE_CHECK):
	Likewise.
	* tests/m4sh.at (AS_IF and AS_CASE): Test it.

2014-05-30  Eric Blake  <eblake@redhat.com>

	maint: add to THANKS
	* THANKS: Update.

2014-05-30  Eric Blake  <eblake@redhat.com>

	AC_INIT: quote invalid feature names
	Changes:
	   configure: error: invalid feature name: debug
	to
	   configure: error: invalid feature name: `debug '
	to make it obvious if trailing space is the reason why a feature
	name was rejected; similar to existing error messages elsewhere
	about invalid shell variable names.

	* lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE2): Add quotes.
	Reported by Noel Grandin.

2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	autoconf: fix typo in description generated by AC_RUN_IFELSE
	* lib/autoconf/general.m4 (_AC_RUN_IFELSE): "run" not "link"
	in description.

2014-02-13  Vincent Lefevre  <vincent@vinc17.net>  (tiny change)

	Change main () to main (void) for C/C++
	This patch changes "main ()" to "main (void)" for C/C++.
	See: http://lists.gnu.org/archive/html/bug-autoconf/2014-01/msg00005.html

	On my machine, before this patch, 3 tests were failing:

	  38: tools.at:1329      autom4te cache locking
	 218: autotest.at:1893   C unit tests
	      ac_config_testdir at_tested autotest
	 219: autotest.at:1948   C unit tests (EXEEXT)
	      ac_config_testdir at_tested autotest

	With this patch, 2 tests were failing:

	 218: autotest.at:1893   C unit tests
	      ac_config_testdir at_tested autotest
	 219: autotest.at:1948   C unit tests (EXEEXT)
	      ac_config_testdir at_tested autotest

	(I suspect that 38 is unrelated.)

2014-02-05  Eric Blake  <eblake@redhat.com>

	doc: give an example of using the macro for pkg-config
	The autoconf manual doesn't mention any examples of actually
	using m4_pattern_forbid.  Yet this is the perfect macro for
	avoiding the all-too-common failure mode of configure dying with:

	      checking if libxml2 is present... ./configure: line 11586: syntax
	 error
	 near unexpected token `LIBXML2,'
	      ./configure: line 11586: `PKG_CHECK_MODULES(LIBXML2, libxml-2.0>=
	 2.6.19,'

	for developers that forgot to install pkg-config.  While we don't
	necessarily advertise the use of PKG_CHECK_MODULES, it is a
	common enough situation that the manual should make it easier to
	help developers learn about missing third-party macros.

	Based on a mailing list report by Daniel Pocock:
	http://lists.gnu.org/archive/html/autoconf/2014-01/msg00030.html

	* doc/autoconf.texi (Forbidden Patterns): Add examples.

2014-01-01  Eric Blake  <eblake@redhat.com>

	tests: don't let config.site affect testsuite
	Test 236 "configure directories" failed for me on 64-bit Fedora 20;
	it boiled down to the system's config.site causing libdir to
	default to /usr/lib64 instead of the autoconf default of /usr/lib.

	* tests/base.at (configure directories): Neutralize any preinstalled
	config.site from the system.

2014-01-01  Eric Blake  <eblake@redhat.com>

	maint: fix 'make syntax-check' findings
	Fix syntax check warnings that are unrelated to the new copyright
	year.

	* lib/local.mk (lib/autoscan/autoscan.list): Reduce indent, to
	avoid mix of tab and 8 spaces.
	* bin/local.mk (bin/autoconf.in): Likewise.
	* lib/autoconf/c.m4 (_AC_CXX_CXX98_TEST_BODY): Use consistent case
	in message.

2014-01-01  Eric Blake  <eblake@redhat.com>

	maint: bump copyright to 2014
	Done via 'make update-copyright', since all files are effectively
	modified and distributed this year via public version control.

	* all files: Update copyright year.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	Expose the checks done by AC_INCLUDES_DEFAULT as a public macro.
	 * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS):
	   Rename to AC_CHECK_INCLUDES_DEFAULT.  All callers changed.
	   (AC_HEADER_STDC, AC_UNISTD_H): Use AC_CHECK_INCLUDES_DEFAULT instead
	   of previous kludge.

	 * doc/autoconf.texi, NEWS: Document AC_CHECK_INCLUDES_DEFAULT.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	Use AC_CHECK_{DECLS,FUNCS,HEADERS}_ONCE more in specific-check macros.
	 * lib/autoconf/functions.m4 (AC_FUNC_CHOWN): No need to check for unistd.h.
	   (_AC_LIBOBJ_FNMATCH): Use AC_CHECK_DECLS_ONCE and AC_CHECK_FUNCS_ONCE.
	   (_AC_LIBOBJ_GETLOADAVG): Use AC_CHECK_FUNCS_ONCE for setlocale.
	   (AC_FUNC_MMAP): Use AC_CHECK_FUNCS_ONCE for getpagesize.
	   (AC_FUNC_SELECT_ARGTYPES): Use AC_CHECK_HEADERS_ONCE for sys/select.h and
	   sys/socket.h.
	   (AC_FUNC_STRERROR_R): Use AC_CHECK_DECLS_ONCE + AC_CHECK_FUNCS_ONCE for
	   strerror_r.
	   (AC_FUNC_UTIME_NULL): Use AC_CHECK_HEADERS_ONCE for utime.h.
	   (AC_FUNC_FORK): Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE.
	   (AC_FUNC_VPRINTF): Use AC_CHECK_FUNCS_ONCE for vprintf (but not _doprnt).

	 * lib/autoconf/headers.m4 (AC_HEADER_TIME, AC_MEMORY_H): Use
	   AC_CHECK_HEADERS_ONCE.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	Use AC_CHECK_HEADERS_ONCE for the tests done by AC_INCLUDES_DEFAULT.
	 * lib/autoconf/headers.m4 (AC_CHECK_HEADERS_ONCE): Divide into a public
	   macro that AC_REQUIREs _AC_INCLUDES_DEFAULT_REQUIREMENTS, and ...
	   (_AC_CHECK_HEADERS_ONCE): ... a private macro, that doesn't.
	   (_AC_HEADERS_EXPANSION): Use $ac_includes_default, not
	   AC_INCLUDES_DEFAULT.
	   (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Use AC_CHECK_HEADERS_ONCE.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	Modernize AC_INCLUDES_DEFAULT and friends.
	 * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS):
	   Include stddef.h, stdlib.h, and string.h unconditionally.
	   Don't include memory.h at all.
	   Don't use AC_HEADER_STDC.
	   Don't check for stddef.h, stdlib.h, string.h, or memory.h.
	   For compatibility, unconditionally define STDC_HEADERS,
	   HAVE_STDLIB_H, and HAVE_STRING_H.
	   (AN_HEADER list): Remove C89 headers, and memory.h from list.
	   (AC_HEADER_STDC, AC_UNISTD_H): AU_DEFUN to trigger
	   _AC_INCLUDES_DEFAULT_REQUIREMENTS if it hasn't already happened,
	   and do nothing else.
	   (AC_HEADER_TIME): AU_DEFUN, and define TIME_WITH_SYS_TIME unconditionally
	   as long as sys/time.h is present.
	   (AC_USG, AC_MEMORY_H): Assume existence of string.h.
	 * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF, _AC_FUNC_REALLOC_IF):
	   Don't use AC_HEADER_STDC. Assume stdlib.h exists.
	   (AC_FUNC_MKTIME): Don't use AC_HEADER_TIME.  Assume time.h exists.
	   (AC_FUNC_ALLOCA): Assume stdlib.h exists.
	   (_AC_LIBOBJ_FNMATCH): Assume wchar.h and wctype.h exist.
	   (_AC_LIBOBJ_GETLOADAVG): Assume locale.h exists.
	   (AC_FUNC_MMAP): Assume stdlib.h exists.
	 * tests/tools.at: Use AC_WORDS_BIGENDIAN instead of AC_STDC_HEADERS in
	   autoupdate test.

	 * NEWS, doc/autoconf.texi: Document changes. Remove obsolete advice.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	AC_CHECK_HEADER/AC_CHECK_HEADERS: complete transition to compile tests.
	* lib/autoconf/headers.m4 (AC_CHECK_HEADER): Use _AC_CHECK_HEADER_COMPILE
	  by default.  Continue to use _AC_CHECK_HEADER_PREPROC if fourth arg is '-'.
	  (_AC_CHECK_HEADER_PREPROC): Issue a deprecation warning.
	  (_AC_CHECK_HEADER_MONGREL, _AC_CHECK_HEADER_MONGREL_BODY): Remove.

	* tests/c.at, tests/semantics.at: Update uses of AC_CHECK_HEADER(S).
	* doc/autoconf.texi, NEWS: Document change.

2013-09-21  Zack Weinberg  <zackw@panix.com>

	* tests/local.at (AT_CHECK_M4): Support 'stderr' as fourth argument.

2013-09-21  Eric Blake  <eblake@redhat.com>

	admin: mention recent copyright assignments
	* AUTHORS: Update list.

2013-09-14  Eric Blake  <eblake@redhat.com>

	AC_INIT: add --runstatedir option to configure
	http://lwn.net/Articles/436012/ documents that many distros
	are now preferring to use /run rather than /var/run for
	storage of pid files and other per-process temporary files
	that must not be cleaned out during arbitrary TMPDIR sweeps.
	As such, the GNU Coding Standards were recently changed to
	recommend a new configure option to make it easy to choose
	this directory at configure time.  This patch adds support
	for the option to all configure scripts built by autoconf.

	* general.m4 (_AC_INIT_PARSE_ARGS): Add new directory option.
	(_AC_INIT_HELP): Document it.
	* doc/autoconf.texi (Installation Directory Variables): Document
	new option.
	(Site Defaults): Mention typical use within a distro.
	* NEWS: Mention the addition.

2013-09-12  Eric Blake  <eblake@redhat.com>

	AC_PROG_CC: also try $CC -version, for cl6x compiler
	Anaïs Bouque reported that the cl6x compiler only understands -version:
	https://lists.gnu.org/archive/html/bug-autoconf/2013-07/msg00003.html

	* c.m4 (AC_PROG_CC): Add another version probe.
	* THANKS: Update.

2013-09-05  Eric Blake  <eblake@redhat.com>

	doc: mention how to set early defaults
	Jonathan Lebon reported an issue to me off-list about a regression
	in libvirt's configure script, which I traced to a patch that
	rearranged code that was checking $with_library compared to the
	AC_ARG_WITH that actually set $with_library [1].  As the whole point
	of the libvirt patch was to refactor code to make maintenance
	easier by hiding the AC_ARG_WITH in a helper macro for a net
	reduction in lines, it makes sense to actually document how to
	check what value a variable has prior to the AC_ARG_WITH usage.

	Alas, although the functionality for this has been present in
	autoconf for ages, the documentation has been lacking.

	[1] libvirt.org/git/?p=libvirt.git;a=commitdiff;h=654c709

	* doc/autoconf.texi (Diversion support) <m4_divert_text>: Add
	anchor.
	(External Software) <AC_ARG_WITH>: Demonstrate how to use DEFAULTS
	diversion, for earlier defaults.
	(Package Options) <AC_ARG_ENABLE>: Likewise.
	* THANKS: Add Jonathan Lebon.

2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	doc: 'configure && make', not 'configure; make' (Bug#15066)
	* doc/install.texi (Basic Installation): Say '&&', not ';'.

2013-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	doc: don't push 'static inline'
	* doc/autoconf.texi (Function Portability): Use plain 'static',
	not 'static inline', in example.  These days, 'static' is enough;
	optimizing compilers can figure out the 'inline' on their own.

2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/autoconf/functions.m4 (HAVE_DOPRNT): Fix missing-comma typo.
	Reported by Peter Breitenlohner in:
	http://lists.gnu.org/archive/html/autoconf-patches/2013-06/msg00007.html

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	AC_PROG_CC: don't check whether $CC supports "-c -o" together
	This reverts commit ce48964f.  The extra code added by that commit was
	planned to be used by future version of Automake, but the implementation
	and future directions there have in the meantime be changed in a way
	that makes the extra code in Autoconf superfluous.  Just get rid of it.

	* lib/autoconf/c.m4 (AC_PROG_CC): Adjust.

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: sync few files from upstream
	* build-aux/config.guess: This file.
	* lib/Autom4te/Channels.pm: And this one.
	* maint.mk: And this one.

2013-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: remove refs to obsolescent 'mkinstalldir' script and variable
	* .gitignore: Here.
	* Makefile.am (check-coverage-run): Use $(MKDIR_P) rather than
	$(mkinstalldirs).

	build: remove last make recursion (for subdir 'man')
	* Makefile.am (SUBDIRS): Remove (its last component 'man' has just
	been removed).
	(SUFFIXES): New, defined to empty, to be updated later by included
	files.
	($(srcdir)/man/local.mk): Include this.
	* configure.ac (AC_CONFIG_FILES): Drop 'man/Makefile'.
	* lib/freeze.mk (SUFFIXES): Extend with '+=' rather than defining
	with '='.
	* man/Makefile.am: Rename ...
	* man/local.mk: ... like this, and adjust throughout.

	build: no more recursion for 'tests' subdir
	* Makefile.am (SUBDIRS): Drop 'tests'.  Adjust comments.
	(DISTCLEANFILES, MAINTAINERCLEANFILES): Define to empty, to be
	updated later.
	(MAINTAINERCLEANFILES): Adjust later definition to use '+='
	rather than '='.
	($(srcdir)/tests/local.mk): Include this.
	* configure.ac (AC_CONFIG_FILES): Drop 'tests/Makefile'.
	* lib/freeze.mk ($(AUTOM4TE_CFG)): Drop now-redundant remake rule.
	($(build_libdir)/m4sugar/version.m4): Likewise.
	* tests/Makefile.am: Rename ...
	* tests/local.mk: ... like this, and adjust (quite heavily).
	* tests/mktests.sh: Adjust to generate output files and temporary
	files in the tests subdirectory rather than in the current
	directory.

	build: fixup: don't define ETAGS_ARGS multiple times
	* Makefile.am (ETAGS_ARGS): Define to empty, to be updated later.
	* bin/local.mk (ETAGS_ARGS): Append to it, rather than re-defining it.
	* lib/local.mk (ETAGS_ARGS): Likewise.  Also, do not bother appending
	"--lang=perl" once again, as that is already done in 'bin/local.mk'.

	build: avoid repeating the same etags args several times
	* lib/local.mk: Here.

	build: no more recursion for lib 'subdir'
	* Makefile.am (SUBDIRS): Drop 'lib'.
	(edit): New, shared among the recipes in 'lib/local.mk' and
	'bin/local.mk'.
	(CLEANFILES): New, will be updated later in included files.
	($(srcdir)/lib/local.mk): Include it.
	($(srcdir)/lib/freeze.mk): Likewise.
	* lib/Makefile.am: Rename ...
	* lib/local.mk: .. like this, with several adjustments.  In
	particular ...
	(edit): Drop this definition, subsumed by the one in the
	top-level Makefile.am.
	* bin/local.mk (edit): Drop definition, that is already present
	in the top-level Makefile.am now.
	($(srcdir)/lib/freeze.mk): Drop inclusion; that is already done
	in the top-level Makefile.am now.
	* doc/local.mk (CLEANFILES): Adjust: append to it, do not define
	it.
	* lib/freeze.mk ($(AUTOM4TE_CFG)): Adjust recipe.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/Makefile'.

2013-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: define RELEASE_YEAR with AC_SUBST
	Rather than reading it dynamically from the ChangeLog -- that,
	remember, is only a dummy in a Git checkout!  To avoid risking
	the definition to get out-of-sync, let's enhance the maintainer
	target 'update-copyright' to update it automatically (the same
	way it's done in the Automake build system).

	* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable.
	* cfg.mk (update-release-year): New maintainer-specific target
	to automatically update the value of that variable.
	(update-copyright): Depend on the new target.
	* bin/local.mk (RELEASE_YEAR): Drop definition.
	(edit): Simplify quoting of $(RELEASE_YEAR).
	* lib/Makefile.am (RELEASE_YEAR): Drop definition.
	(m4sugar/version.m4): Simplify quoting of $(RELEASE_YEAR).

2013-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: no more recursion for 'lib/Autom4te' subdir
	* lib/Autom4te/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Delete (last component 'Autom4te' has been dropped).
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/Autom4te/Makefile'.

	build: no more recursion for' lib/autoconf' subdir
	* lib/autoconf/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Drop 'autoconf'.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/autoconf/Makefile'.

	build: no more recursion for 'lib/m4sugar' subdir
	* lib/m4sugar/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Drop 'lib/m4sugar'.
	Other related adjustments and re-organizations.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/m4sugar/Makefile'.
	* lib/freeze.mk ($(build_libdir)/m4sugar/version.m4): Adjust
	recipe.

	build: no more recursion for 'lib/autotest' subdir
	* lib/autotest/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Drop 'autotest'.
	Other minor related modifications.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/autotest/Makefile'.
	* lib/freeze.mk (MY_AUTOM4TE): Small required adjustments.

	build: no more recursion for 'lib/autoscan' subdir
	* lib/autoscan/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Drop 'autoscan'.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/autoscan/Makefile'.

	build: no more recursion for 'lib/emacs' subdir
	* lib/emacs/Makefile.am: Delete, its contents merged ...
	* lib/Makefile.am: ... in here, with proper adjustments.
	(SUBDIRS): Drop 'emacs'.
	* configure.ac (AC_CONFIG_FILES): Drop 'lib/emacs/Makefile'.

	build: no more make recursion for 'bin' subdir
	* Makefile.am (MOSTLYCLEANFILES): New, to be extended later by
	included files.
	($(srcdir)/doc/local.mk): New include.
	(SUBDIRS): Drop 'bin'.  Adjust comments.
	* bin/Makefile.am: Rename ...
	* bin/local.mk: ... like this, and adjust.
	* configure.ac (AC_CONFIG_FILES): Drop 'bin/Makefile'.

	build: no more make recursion for 'doc' subdir
	* .gitignore: Adjust.
	* Makefile.am ($(srcdir)/doc/local.mk): New include.
	(SUBDIRS): Drop 'doc'.
	(AM_MAKEINFOFLAGS): Rename ...
	(custom_MAKEINFOFLAGS): ... like this, to avoid conflicting with
	the AM_MAKEINFOFLAGS defined in the included 'doc/local.mk'
	($(srcdir)/INSTALL): Adjust recipe.
	* doc/Makefile.am: Rename ...
	* doc/local.mk: ... like this, and adjust.
	* configure.ac (AC_CONFIG_FILES): Drop 'doc/Makefile'.

2013-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: don't distribute lib/freeze.mk explicitly
	It is automatically distributed by Automake, being included by
	other Makefile.am files.

	* lib/Makefile.am (EXTRA_DIST): Drop 'freeze.mk'.

2013-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: some files from upstream
	* build-aux/config.guess: This.
	* build-aux/config.sub: And this.
	* build-aux/gendocs.sh: And this.
	* build-aux/gnupload: And this.
	* build-aux/texinfo.tex: And this.
	* doc/standards.texi: And this.

2013-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	doc: add missing semicolons to make rules
	Problem reported by Peter Eisentraut in
	<http://lists.gnu.org/archive/html/bug-autoconf/2013-04/msg00007.html>.
	* doc/autoconf.texi (Automatic Remaking): Append semicolons
	to rules that need empty commands.

2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC etc: avoid warnings when removing conftest* on OS X
	I forgot one of the fixes Mr. Nakada reported for the 2013-03-08 fix.
	* lib/autoconf/general.m4 (AC_EGREP_CPP):
	Use rm -rf, not just rm -f, when removing conftest*.

2013-03-19  Akim Demaille  <akim@lrde.epita.fr>

	AC_PROG_YACC: don't force Bison to warn against its own features
	When invoked with -y/--yacc, Bison warns when its extensions over
	POSIX Yacc are used.  Yet many packages requiring GNU Bison use
	Autoconf/Automake's Yacc support, which passes -y to Bison.  It
	turns out that passing '-o y.tab.c' has exactly the desired
	effect: generating not only y.tab.c but also y.tab.h with -d and
	y.output with -v.  See:
	http://lists.gnu.org/archive/html/bison-patches/2013-02/msg00100.html
	* lib/autoconf/programs.m4 (AC_PROG_YACC): Use bison -o y.tab.c.
	* NEWS, doc/autoconf.texi: Document this change.

2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	doc: explain why single-quoting is better
	* doc/autoconf.texi (Build Directories): Explain single-quoting.
	Reported by Markus Elfring in
	<http://savannah.gnu.org/support/?108262>.

	AC_PROG_CC etc: avoid warnings when removing conftest* on OS X
	Reported by Nobuyoshi Nakada in:
	http://lists.gnu.org/archive/html/autoconf-patches/2013-03/msg00003.html
	* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CC_C_O, AC_PROG_CXX_C_O):
	* lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O):
	* lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES):
	Use rm -rf, not just rm -f, when removing conftest*.

2013-03-05  Pavel Raiskup  <praiskup@redhat.com>

	docs: configure.in still mentioned in manpages
	* man/autoupdate.x: Mention configure.ac as preferred name.
	* man/autoscan.x: Likewise.

2013-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	AC_FUNC_GETLOADAVG: doc fix
	* doc/autoconf.texi (Particular Functions):
	Omit incorrect mention of @var{dir} before getloadavg.c.
	Problem reported by Patricke Welche in:
	http://lists.gnu.org/archive/html/autoconf-patches/2013-02/msg00006.html

2013-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	AC_FUNC_SETPGRP: work even when cross-compiling
	* lib/autoconf/functions.m4 (AC_FUNC_SETPGRP):
	Use AC_COMPILE_IFELSE rather than AC_RUN_IFELSE.
	Problem reported by Alvaro Soliverez in
	<http://lists.gnu.org/archive/html/bug-autoconf/2013-02/msg00002.html>.

2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	AC_USE_SYSTEM_EXTENSIONS: improve port to HP-UX
	* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS):
	On hosts that need _XOPEN_SOURCE, define it when configuring, too,
	so that it's compatible with the value used when compiling.

2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>

	AC_USE_SYSTEM_EXTENSIONS: port to HP-UX, MINUX 3, OS X.
	* NEWS: Mention this.
	* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS):
	Define _NETBSD_HOST on MINUX, for MINUX 3.
	Define _DARWIN_C_SOURCE, for OS X.
	On HP-UX, define _XOPEN_SOURCE.

2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	autoscan: port to perl 5.17
	* bin/autoscan.in (scan_sh_file): Escape '{'.  This avoids a
	feature that is deprecated in Perl 5.17.  Reported by Ray Lauff in
	<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00059.html>.

2013-01-29  Gary V. Vaughan  <gary@gnu.org>

	m4sugar: fix AS_VAR_GET regression.
	AS_VAR_GET expands AS_ECHO inside en evaled single quoted string,
	which causes the single quotes in "printf '%s\n'" to expose the
	%s\n to the shell which expands "\n" to simply "n" before passing
	it to printf.
	* lib/m4sugar/m4sh.m4 (AS_ECHO): Use double quotes around the
	format string.
	* doc/autoconf.texi (Limitations of Shell Builtins): Show double
	quotes to match AS_ECHO expansion.
	* NEWS: Likewise.

	m4sugar: factor away _AS_ECHO_PREPARE.
	"printf '%s\n' ..." has been a fine replacement for plain "echo"
	for at least 5 years (probably more like 10), even with most
	museum-piece shells.
	* lib/m4sugar/m4sh.m4 (_AS_ECHO_PREPARE): Remove.
	(_AS_SHELL_SANITIZE): Keep as_nl setting originally from
	_AS_ECHO_PREPARE here where it more properly belongs.
	(AS_ECHO, AS_ECHO_N): Use printf unconditionally.
	* doc/autoconf.texi (Limitations of Shell Builtins): Document
	preference for 'printf' over working around 'echo' bugs.
	* NEWS: Updated.
	Reported by Jim Meyering.

2013-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CXX: document change
	* NEWS: Document recent change to AC_PROG_CXX.

2013-01-28  Roger Leigh  <rleigh@debian.org>

	AC_PROG_CXX: Add checks for C++11, C++98TR1 and C++98
	These checks are the C++ equivalent of the existing C
	standards checks.
	* doc/autoconf.texi (C++ Compiler): Document new behavior.
	* lib/autoconf/c.m4 (AC_PROG_CXX): Try for C++11,
	falling back to C++98.
	(_AC_CXX_STD_TRY, _AC_CXX_CXX98_TEST_HEADER, _AC_CXX_CXX98_TEST_BODY)
	(_AC_CXX_CXX11_TEST_HEADER, _AC_CXX_CXX11_TEST_BODY)
	(_AC_PROG_CXX_CXX98, _AC_PROG_CXX_CXX11):
	New macros.

2013-01-16  Eric Blake  <eblake@redhat.com>

	AT_TESTED: fix regression in word splitting
	Regression introduced in commit 851ef51.

	* lib/autotest/general.m4 (AT_TESTED): Rework loop to quote each
	element, not the entire argument.

2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	AC_SYS_LARGEFILE: port better to Mac OS X 10.5.
	* lib/autoconf/specific.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
	AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
	with ino_t size being different for configuration time versus
	build/run time.  Problem reported by PHO in
	<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.

2013-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	AC_PROG_CC: also check whether $CC supports "-c -o" together
	This is for Automake and its 'subdir-object' mode (see automake bug#13378,
	in particular <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#73>), so
	we make the new behavior available only if the special witness macro
	'_AM_PROG_CC_C_O_HELPME' is defined (future Automake versions will define
	it).  We might decide, at a later date, to make this behaviour public;
	but then we'll have to discuss its usefulness and design more in depth,
	and if they are agreed upon, adjust the documentation to match, and also
	decide what to do with the macro AC_PROG_CC_C_O, with its similar (but
	slightly incompatible) semantics; since doing so right now would bring us
	off-track (and Automake needs this change *today*, or better, yesterday),
	we proceed with this simpler hack.

	* lib/autoconf/c.m4 (AC_PROG_CC): Adjust.

2013-01-03  Eric Blake  <eblake@redhat.com>

	maint: resync files from upstream
	'make syntax-check' complained about something that was already
	fixed upstream in doc/standards.texi, so I ran 'make update', and
	omitted lib/Autom4te as that still has some issues to be sorted out.

	* GNUmakefile: Resync from upstream.
	* build-aux/announce-gen: Likewise.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/git-version-gen: Likewise.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/move-if-change: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* build-aux/update-copyright: Likewise.
	* build-aux/useless-if-before-free: Likewise.
	* build-aux/vc-list-files: Likewise.
	* doc/gendocs_template: Likewise.
	* doc/standards.texi: Likewise.
	* m4/autobuild.m4: Likewise.
	* maint.mk: Likewise.

2013-01-03  Eric Blake  <eblake@redhat.com>

	maint: bump copyright to 2013
	Done via 'make update-copyright', since all files are effectively
	modified and distributed this year via public version control.

	* all files: Update copyright year.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	go: fix checks for about I/O functions
	Reference:
	<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00000.html>

	* lib/autoconf/go.m4 (_AC_LANG_IO_PROGRAM(Go), AC_LANG_INT_SAVE): Here,
	correctly use 'os.OpenFile()' <http://golang.org/pkg/os/#OpenFile>
	rather than 'os.Open()' <http://golang.org/pkg/os/#Open> (which has
	more restricted semantics and incompatible signature).

2012-12-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	preselections: update for Automake 1.13.
	Issue revealed by a failure in test "36: autom4te preselections".

	* autoconf/lib/autom4te.in (Automake-preselections): Add
	'AM_EXTRA_RECURSIVE_TARGETS', remove '_AM_EXTRA_RECURSIVE_TARGETS';
	this latter is not, and will not be, present in any *released*
	Automake version.

2012-12-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: sync some files from gnulib
	* build-aux/config.guess: Synced by "make gnulib-update".
	* build-aux/config.sub: Likewise.
	* build-aux/gendocs.sh: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* doc/gendocs_template: Likewise.
	* doc/standards.texi: Likewise.
	* maint.mk: Likewise.

2012-12-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: don't sync the 'Autom4te::Configure_ac' module from Automake
	That file has been removed in the master branch of Automake, since
	Automake 1.14 will remove support for 'configure.in' as a name for
	Autoconf input files.  See commits 'v1.13-17-gbff57c8' and
	'v1.13-21-g7626e63' in the Automake repository.

	* cfg.mk (autom4te_files): Remove 'Autom4te/Configure_ac.pm'.

2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	AC_C__GENERIC: New macro.
	* NEWS, doc/autoconf.texi (C Compiler): Document it.
	* lib/autoconf/c.m4 (AC_C__GENERIC): Implement it.

2012-12-22  Paolo Bonzini  <bonzini@gnu.org>

	autotest: enable usage of EXEEXT in AT_TESTED
	Together with Linux's binfmt-misc feature, Wine can be used to test
	cross-compiled programs as if they were native.  However, the shell
	will not perform the "magic" addition of the .exe extension after a
	program name when searching for an executable.  These simple patches
	let the user work around this by specifying $EXEEXT in the AT_CHECK
	and AT_TESTED argument.  (More care is needed because of carriage
	returns, but this is beyond the scope of this series).

	* tests/autotest.at (AT_INIT): Expand contents of $at_tested.
	(AT_TESTED): Quote each program that is passed to the function.
	* lib/autotest/general.m4 (C unit tests): Add AT_TESTED invocation
	and keyword.
	* doc/autoconf.texi (Writing testsuites): Document usage of variables
	in AT_TESTED.
	* NEWS: Document change.

2012-12-22  Paolo Bonzini  <bonzini@gnu.org>

	autotest: add a simple test suite that runs a C program
	* tests/autotest.at (C unit tests): New testcase.
	* NEWS: Document change.

	autotest: annotate tests that use AC_CONFIG_TESTDIR
	* tests/autotest.at (srcdir propagation, Erlang Eunit unit tests):
	Add a keyword for AC_CONFIG_TESTDIR.

2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>

	AC_FUNC_ALLOCA: port to recent BSDs and remove obsolete AIX
	* doc/autoconf.texi (Particular Functions): Remove the AIX case
	from the recommended code, as the most recent version of the AIX
	compiler that IBM still supports (V10.1 as of this writing) has
	<alloca.h> and thus longer needs this, and the old suggestion
	wasn't completely working anyway.  Remove obsolete discussion of
	SVR3 libPW alloca and of SVR4 libucb alloca.
	* lib/autoconf/functions.m4 (AC_FUNC_ALLOCA):
	Rework to match documentation, including abovementioned AIX change.
	Inconsistency with documentation reported by Steven G. Johnson in
	<http://lists.gnu.org/archive/html/autoconf/2003-03/msg00179.html>.
	As this adds stdlib.h, it should also fix the problems on recent
	BSD platforms noted by Patrick Welche in
	http://lists.gnu.org/archive/html/autoconf-patches/2012-12/msg00009.html
	though the fix differs from NetBSD's current workaround.
	Also, don't bother checking for alloca if <alloca.h> works,
	as the latter implies the former.

2012-12-10  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_C99: avoid unused-var warning
	* lib/autoconf/c.m4 (_AC_C_C99_TEST_HEADER): Rewrite to use vars.
	Problem reported by ChangZhuo Chen in
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-12/msg00000.html>.

2012-12-07  Paolo Bonzini  <bonzini@gnu.org>

	autotest: define AT_DATA_UNQUOTED
	* lib/autotest/general.m4 (AT_DATA_UNQUOTED): New macro, paralleling
	AT_DATA but not quoting the contents.
	* doc/autoconf.texi (Writing Testsuites): Document it.
	* tests/autotest.at (AT_DATA_UNQUOTED): Test it.

2012-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	AC_CHECK_FILES: improve documentation
	* doc/autoconf.texi (Files): Document AC_CHECK_FILES better.
	Reported by Christophe Curis in
	<http://savannah.gnu.org/support/?108182>.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	syntax-check: remove SPACE-TAB sequence
	* lib/autoconf/c.m4 (_AC_PROG_CC_C99): Here.  Was causing a
	failure in the 'space_tab' syntax check.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: fix unneeded workaround for AC_CONFIG_LINKS old bud
	* configure.ac: The Automake NEWS entry for version 1.11 states that

	    For AC_CONFIG_LINKS, if source and destination are equal, do
	    not remove the file in a non-VPATH build.  Such setups work
	    with Autoconf 2.62 or newer.

	Since our build system requires autoconf >= 2.62 and automake >= 1.11
	already, we can get rid of the workaround for that long-fixed bug.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: require autoconf >= 2.62, and related simplifications
	* configure.ac: Require 2.62, and remove obsolescent comments.
	We are not imposing an new restriction in doing so, since we already
	require Automake 1.11 or later, and that requires Autoconf 2.62.
	Simplify code for symlinking of GNUmakefile in VPATH builds, in
	accordance with the existing "TODO" comments.

2012-11-09  Eric Blake  <eblake@redhat.com>

	AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks
	Too many legacy tools exist for us to unilaterally quit supporting
	AC_CONFIG_MACRO_DIR - it is feasible for someone to want their
	package to bootstrap with both automake 1.13 and libtool 2.4.2,
	where the newer automake will only trace the new style of multiple
	directory listings, but the older libtool does a sed and settles
	on the one use of the old name.  So, we let both macros forward
	to a new tracing macro, which also has the benefit of sanitizing
	calls into one directory per trace; we also ensure that the old
	macro is always traced, and appears at most once and before any
	use of the new macro.

	* doc/autoconf.texi (Input) <AC_CONFIG_MACRO_DIRS>: Document how
	to trace this macro.
	* lib/autom4te.in (Autoreconf-preselections)
	(Automake-preselections): Preselect this trace.
	* lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIR_TRACE): New trace.
	(_AC_CONFIG_MACRO_DIRS_USED, _AC_CONFIG_MACRO_DIRS): New internal
	macros.
	(AC_CONFIG_MACRO_DIRS, AC_CONFIG_MACRO_DIR): Use them.
	* tests/tools.at (autoconf --trace: AC_CONFIG_MACRO_DIRS): New
	test.

2012-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	warn: allow aclocal to silence m4_require warnings
	We introduce a new witness macro, m4_require_silent_probe, for use by
	aclocal during the Autoconf-without-aclocal-m4 language.  This will let
	aclocal process AC_CONFIG_MACRO_DIRS without emitting spurious warnings.
	In fact, if aclocal doesn't suppress require warnings, then, when some macro
	expanded in configure.ac calls AC_REQUIRE on another macro that is defined
	in one of the local m4 macro dirs specified with AC_CONFIG_MACRO_DIRS, the
	*first* autom4te invocation issued by aclocal, not yet being able to "see"
	the m4 macro definitions in the local m4 dirs, will print spurious
	warnings like:

	    configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
	    configure.ac:3: MY_FOO is expanded from...

	Expose the use of this macro in our testsuite.

	Originally reported by Nick Bowler; see point (4) of:
	<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

	* lib/m4sugar/m4sugar.m4 (_m4_require_call): Make warnings in the
	-Wsyntax category depend on the witness macro.
	* tests/m4sugar.at (m4@&t@_require: warning message): New test.
	* doc/autoconf.texi (Prerequisite Macros): Document how aclocal
	can silence AC_REQUIRE (m4_require) warnings.

2012-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: ACLOCAL_AMFLAGS will become obsolescent in Automake 1.13
	See commit 'v1.12.1-165-gcd1a9cc' "aclocal: deprecate ACLOCAL_AMFLAGS,
	trace AC_CONFIG_MACRO_DIR instead" in the Automake git repository.

	See also follow-up discussion at:
	<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>

	* doc/autoconf.texi (@node Input @defmac AC_CONFIG_MACRO_DIRS): Adjust.
	(autoreconf Invocation): Warn about the possible future removal of
	ACLOCAL_AMFLAGS support from Automake.

2012-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	AC_CONFIG_MACRO_DIRS: new macro, mostly for aclocal
	Similar to AC_CONFIG_MACRO_DIR, but accepts more than one argument.
	This will allow projects to use several m4 macro local dirs.  This is
	especially important for projects that are used as nested subpackages
	of larger projects.

	See also:
	<http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
	<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>

	* lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIRS): New.  Expands to the
	empty anyway, since it is only meant to be traced by tools like aclocal
	and autoreconf.
	(AC_CONFIG_MACRO_DIR): Updated comments.
	* doc/autoconf.texi (@node "Input"): Document AC_CONFIG_MACRO_DIRS as
	preferred over AC_CONFIG_MACRO_DIR.
	* NEWS: Update.

	Suggested-by: Eric Blake <eblake@redhat.com>
	Helped-by: Nick Bowler <nbowler@elliptictech.com>

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: slightly improve a comment
	* lib/autom4te.in: Here, the comment about 'AM_PROG_MKDIR_P'.

	Suggested-by: Eric Blake <eblake@redhat.com>

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	autom4te: update Automake preselections to reflect upcoming 1.13
	Issue revealed by a failure in test "35: tools.at: autom4te preselections"

	* lib/autom4te.in ("Automake-preselections"): Add automake-provided
	macro '_AM_EXTRA_RECURSIVE_TARGETS'.

2012-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_C89, AC_PROG_CC_C99: Use AU_DEFUN
	* tests/mktests.sh (au_exclude_list): Exclude AC_PROG_CC_C89
	and AC_PROG_CC_C99 too.  Suggested by Adrian Bunk.

	AC_PROG_CC_C89, AC_PROG_CC_C99, AC_PROG_CC_STDC: Use AU_DEFUN
	This fixes a bug introduced by the most recent change to c.m4.
	Problem reported by Jim Meyering in
	<http://lists.gnu.org/archive/html/autoconf/2012-10/msg00048.html>.
	* lib/autoconf/c.m4 (AC_PROG_CC_C89, AC_PROG_CC_C99, AC_PROG_CC_STDC):
	Use AU_DEFUN and AC_REQUIRE, not AU_ALIAS, as the latter is not
	compatible with how Automake redefines AC_PROG_CC.

2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_C89, AC_PROG_CC_C99, AC_PROG_CC_STDC: Use AU_ALIAS.
	Based on a suggestion by Adrian Bunk in
	http://lists.gnu.org/archive/html/autoconf-patches/2012-09/msg00040.html
	* lib/autoconf/c.m4 (AC_PROG_CC_C89, AC_PROG_CC_C99, AC_PROG_CC_STDC):
	Use AU_ALIAS, now that AC_PROG_CC is defined via AC_DEFUN_ONCE.

	AC_PROG_CC: define via AC_DEFUN_ONCE
	Suggested by Adrian Bunk in
	http://lists.gnu.org/archive/html/autoconf-patches/2012-09/msg00034.html
	* NEWS:
	* doc/autoconf.texi (C Compiler): Document it
	* lib/autoconf/c.m4 (AC_PROG_CC): Implement it.

2012-09-28  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC: clarify documentation, encourage -qlanglvl=extc1x
	* doc/autoconf.texi (C Compiler): Document the intent of AC_PROG_CC
	better.  It's not meant to check for strict conformance, only to
	get the latest version with extensions.
	(Running the Preprocessor, Present But Cannot Be Compiled):
	Document new diagnostic wording.
	* lib/autoconf/c.m4 (_AC_C_STD_TRY): Change diagnostic wording from
	"checking for gcc option to accept ISO C11" to
	"checkint for gcc option to enable C11 features", as this better
	reflects what is actually happening.
	(_AC_PROG_CC_C99): Put -qlanglvl=extc1x here ...
	(_AC_PROG_CC_C11): ... rather than here, as it doesn't pass the C11
	test with IBM XL C V12.1, and the point is to enable features not to
	test for strict conformance.

2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC: try -qlanglvl=extc1x, for IBM XL C V12.1
	* lib/autoconf/c.m4 (_AC_PROG_CC_C11): Add -qlanglvl=extc1x, for
	IBM XL C V12.1.  It shouldn't pass the C11 test yet, since it's not
	documented to support _Alignas, _Alignof, UTF-8 string literals,
	and duplicate typedefs, but presumably it will eventually.

2012-09-25  Adrian Bunk  <bunk@stusta.de>  (tiny change)

	maint: fix the comment at the end of _AC_FUNC_REALLOC_IF
	* lib/autoconf/functions.m4: fix the comment at the end of
	_AC_FUNC_REALLOC_IF

2012-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_C89, AC_PROG_CC_C99: now obsolete; defer to AC_PROG_CC
	* NEWS:
	* doc/autoconf.texi (C Compiler, Running the Preprocessor)
	(Limitations of Usual Tools, Present But Cannot Be Compiled)
	(Obsolete Macros):
	Document the changes described below.
	* lib/autoconf/c.m4 (_AC_PROG_CC_FORCE_VERSION): Remove.
	(AC_PROG_CC_C89, AC_PROG_CC_C99, AC_PROG_CC_STDC):
	Just do AC_PROG_CC, but mark as obsolete.  This replaces my recent
	ill-advised attempt to let AC_PROG_CC_C89 and AC_PROG_CC_C99 downgrade
	the version of C supported.
	* doc/autoconf.texi (Limitations of Usual Tools, Volatile Objects):
	Document C11 more accurately.  In some cases this involves removing
	some details about 'volatile', alas, since C11 changed this stuff.
	Again.

2012-09-21  Eric Blake  <eblake@redhat.com>

	tests: sort preselections to make test failures easier to read
	Prompted by Stefano Lattarini's report of a test failure due to
	a missing preselection for automake 1.12.

	* tests/tools.at (autom4te preselections): Sort before diffing.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: resync most files from upstream
	The files in lib/Autom4te/ are intentionally not synced at this point,
	since automake commit v1.11-2114-g2d671e1 "perl refactor: use modern
	semantics of 'open'":
	<http://lists.gnu.org/archive/html/automake-patches/2012-03/msg00111.html>
	would require wider adaptation of our scripts to the new XFile API, and
	also exposes some latent bugs in autoconf where we use raw 'open' instead
	of XFile::open.  We'll take care of that in a later patches (maybe).

	* build-aux/announce-gen: Resync via 'make fetch'.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/gendocs.sh: Likewise.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* doc/make-stds.texi: Likewise.
	* doc/standards.texi: Likewise.
	* maint.mk: Likewise.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: quote 'like this', not `like this'
	As per updated GCS recommendations.

	* Makefile.am, configure.ac, lib/m4sugar/Makefile.am,
	tests/Makefile.am, m4/m4.m4: Here.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	autom4te: update Automake preselections to reflect the changes in 1.12.x
	Issue revealed by a failure in test "35: tools.at: autom4te preselections":
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-09/msg00020.html>

	* lib/autom4te.in: Add 'AM_PROG_MKDIR_P'.

	Helped-by: Eric Blake <eblake@redhat.com>

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	autoreconf: assume --force-missing automake option is supported
	According to Automake's NEWS file, it is since at least Automake 1.8,
	and in autoreconf we are already assuming aclocal >= 1.8 anyway.

	* bin/autoreconf.in (parse_args): Simplify a little by just assuming
	the automake option '--force-missing' is supported.
	($automake_supports_force_missing): Delete, no longer needed.
	* NEWS: Update.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	autoreconf: minor simplifying refactoring
	* bin/autoreconf.in (run_aclocal): After the previous commit, this has
	become just a useless wrapper around xsystem("$aclocal .."), so get rid
	of it, and inline its expansion in the two places where it was used ...
	(autoreconf_current_directory): ... in here.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	autoreconf: drop support for old (< 1.8) aclocal versions
	The minimal automake and aclocal version required by the "most"
	conservative important real world-projects (like Gnulib and Libvirt)
	is 1.9 anyway (which is the version installed on old but still
	supported installations of stable Distros like RHEL 5), so this
	change should be safe and justified by now.

	* bin/autoreconf.in (parse_args): Simplify by just assuming the aclocal
	options '--force' and '--no-force' are supported and works correctly.
	($aclocal_supports_force): Delete, no longer needed.
	(run_aclocal): Heavily simplify by assuming that aclocal properly creates
	'aclocal.m4' as lazily as possible.
	* NEWS: Update.

2012-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	scripts: quote 'like this', not `like this'
	As per updated GCS recommendations.

	* bin/autoconf.as, bin/autoreconf.in, bin/autoscan.in, ifnames.in,
	bin/autoupdate.in: Throughout these files.
	* bin/autoheader.in, bin/autom4te.in: Likewise.  Also, remove some
	useless escaping of the "'" single-quote characters, and reformat
	some message for better line wrapping.

2012-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_STDC: fold into AC_PROG_CC, removing C11 macro
	* NEWS:
	* doc/autoconf.texi (C Compiler): Document the following.
	* lib/autoconf/c.m4 (AC_PROG_CC): Check for the latest C version
	supported, not just C89.
	(_AC_C_STD_TRY): Keep track of the options we add to bring
	the C compiler up to standard, so that we can undo it if the
	user later requests some other C standard.
	(_AC_PROG_CC_FORCE_VERSION): New macro.
	(AC_PROG_CC_C89, AC_PROG_CC_C99): Use it.  These macros now
	have a documented side effect of changing the C version requested.
	(AC_PROG_CC_C11): Remove.  It wasn't useful.
	(AC_PROG_CC_STDC): Now an obsolescent alias for AC_PROG_CC.
	(AC_C_PROTOTYPES): Allow any standard C version, not just c89.
	Don't chatter, since we don't actually run any checking code.
	* lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT)
	(AC_TYPE_UNSIGNED_LONG_LONG_INT): Treat C11 like C99.
	* TODO: Remove the TODO item corresponding to the above.

2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	AC_FUNC_VFORK: check for Solaris 2.4 signal-handling bug
	* NEWS:
	* doc/autoconf.texi (Particular Functions): Document this.
	* lib/autoconf/functions.m4 (_AC_FUNC_VFORK): Check for the bug.

2012-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	AC_CHECK_ALIGNOF: fix cross-compilation bug with newer gcc
	* doc/autoconf.texi (Default Includes, Particular Functions)
	(Header Portability):
	* lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)):
	* lib/autoconf/headers.m4 (AC_HEADER_STDC):
	* lib/autoconf/types.m4 (_AC_CHECK_ALIGNOF):
	* lib/m4sugar/m4sugar.m4 (m4_require) [comment only]:
	Assume the existence of the C89 freestanding headers <float.h>,
	<limits.h>, <stdarg.h>, <stddef.h>, as that's safe nowadays.
	This is less likely to run into gotchas, and should fix a
	cross-compilation bug with newer GCC reported by Myke Frysinger in
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-09/msg00001.html>.

2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	AC_PROG_CC_C11: new macro, which AC_PROG_CC_STDC now defaults to
	* NEWS:
	* doc/autoconf.texi (C Compiler): Document this.
	(Gnulib, Function Portability, Particular Functions)
	(Header Portability, Particular Headers, Defining Symbols)
	(Printing Messages, Limitations of Usual Tools)
	(Preprocessor Arithmetic, Volatile Objects, Exiting Portably):
	Modernize wording for C11.
	* lib/autoconf/c.m4 (_AC_C_C99_TEST_HEADER, _AC_C_C99_TEST_BODY):
	New macros, taken from _AC_PROG_CC_C99.  These are so that we can
	also include the C99 tests in the C11 test program.
	(_AC_PROG_CC_C99): Use them.
	(_AC_PROG_CC_C11, AC_PROG_CC_C11): New macros.
	(AC_PROG_CC_STDC): Prefer C11 to C99 or C89.

2012-08-15  Eric Blake  <eblake@redhat.com>

	AC_SUBST: document and test previous patch
	Test that: invalid variable names are detected, that the variable
	name does not get macro expanded, that assignment to the variable
	works whether as part of AC_SUBST or independently, that the last
	assignment wins.

	* doc/autoconf.texi (Setting Output Variables) <AC_SUBST>: Mention
	that variable does not overlap with macros.
	* tests/base.at (AC_SUBST): New test.

2012-08-15  Nick Bowler  <nbowler@draconx.ca>

	AC_SUBST: don't underquote the variable name
	Consider the following:

	% cat >configure.ac <<'EOF'
	AC_INIT([test], [0])

	m4_define([FOO], [baz])
	AC_SUBST([FOO], [bar])

	AC_CONFIG_FILES([test])
	AC_OUTPUT
	EOF

	% cat >test.in <<'EOF'
	@FOO@
	EOF

	This produces no error messages at autoconf time and none at configure
	time.  Nevertheless, the substituted value of FOO is the empty string,
	instead of bar, as expected.  Sure enough, in the output variables
	section of config.log, we see FOO='' instead of FOO='bar'.  Looking
	at the generated configure script, we see that AC_SUBST has produced
	baz=bar in the output, instead of the expected FOO=bar.  But this is
	the only place: everywhere else is still using FOO.

	* lib/autoconf/general.m4 (AC_SUBST): Add another layer of
	quoting.
	* THANKS: Update.

2012-07-25  Akim Demaille  <akim@lrde.epita.fr>

	doc: fix style issues in the display of macro optional arguments
	* doc/autoconf.texi (@dvarv): New.
	Use it where optional macro arguments default to other arguments.

2012-07-22  Jim Meyering  <meyering@redhat.com>

	maint: avoid new syntax-check failure
	* cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
	Exempt autoconf.texi's test of "#if defined HAVE_DECL_MALLOC".

2012-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: use configure.ac, not configure.in, with aclocal/automake involved
	Do so because future automake and aclocal versions (starting from 1.13)
	drop support for 'configure.in' as the name of the Autoconf input file.
	Without this patch, the Autoconf testsuite experiences some spurious
	failures when run with the development version of aclocal and automake
	installed early enough in $PATH.

	* tests/torture.at: Rename 'configure.in' to 'configure.ac' throughout.
	Remove an obsolete comment about backward-compatibility.

	Helped-by: Jim Meyering <jim@meyering.net>

2012-07-18  Eric Blake  <eblake@redhat.com>

	doc: mention trap pitfalls
	Document why the previous patch was useful.

	* doc/autoconf.texi (Limitations of Builtins) <trap>: Mention the
	need to be defensive in trap handlers.

2012-07-18  Andreas Schwab  <schwab@linux-m68k.org>  (tiny change)

	general: Sanitize IFS in EXIT trap
	IFS may be modified temporarily when the configure script receives a
	signal.  Make sure the EXIT trap uses the standard value.

	* lib/autoconf/general.m4: Sanitize IFS in trap.
	* THANKS: Update.

2012-07-18  Patrice Dumas  <pertusus@free.fr>  (tiny change)

	doc: fix texinfo macro usage
	The texinfo manual recommends avoiding the use of a trailing @c in
	any macro designed to be used inline (as is the case with our ovar
	and dvar macros).  Furthermore, passing '@\n' in the middle of a
	macro call is much different than passing '@\n' between arguments
	of a @defmac for line continuation.

	* doc/autoconf.texi (ovar, dvar): Don't end macro with @c, since
	these macros are designed to be embedded in one-line usage.
	(Fortran Compiler): Don't split @dvar.
	* THANKS: Update.
	Reported by Stefano Lattarini.

2012-07-17  Eric Blake  <eblake@redhat.com>

	doc: fix texinfo location reports
	Otherwise, newer texinfo parses this line as a line directive, and
	any error later in the file will claim to be from "conftest.c" instead
	of "autoconf.texi".

	* doc/autoconf.texi (Generating Sources): Avoid confusing newer
	texinfo into thinking we had a line directive.
	Reported by Stefano Lattarini, fix suggested by Patrice Dumas.

2012-07-13  Eric Blake  <eblake@redhat.com>

	m4sh: avoid // issues in _AS_PATH_WALK
	As reported by Paul Keir on the cygwin lists,
	http://cygwin.com/ml/cygwin/2012-07/msg00263.html,
	some people like to stick / in their $PATH, and if we then try
	to probe $as_dir/progname for existence, we can end up causing
	cygwin to have a several-second timeout per //name probe.  It
	is better to avoid inserting the extra slash when $as_dir is the
	root directory, and simpler to code by always having a trailing
	slash present than it is to strip a trailing slash.  Thankfully,
	_AS_PATH_WALK is an undocumented interface, and even if someone
	was using it in spite of the warnings, their use of $as_dir/foo
	will typically only lead to odd-looking /dir//foo probes, with
	only the case of / in $PATH causing slowdowns, and only when //
	is special.

	There was also a minor bug where the if-not-found code of
	_AS_PATH_WALK could be executed with $IFS still in the wrong state.

	* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Always end as_dir in /.
	Avoid wrong IFS during if-not-found.  Minor optimization to avoid
	regex.
	(_AS_DETECT_BETTER_SHELL, _AS_SHELL_SANITIZE): Update clients.
	* lib/autotest/general.m4 (_AT_FINISH): Likewise.
	* lib/autoconf/programs.m4 (_AC_CHECK_PROG, _AC_PATH_PROG)
	(_AC_PATH_PROGS_FEATURE_CHECK, _AC_PATH_PROG_FLAVOR_GNU): Likewise.

2012-06-29  Eric Blake  <eblake@redhat.com>

	doc: avoid hard-coding usage of automake's missing
	Now that automake documents AM_MISSING_PROG, and given that automake
	has reserved the right to change the calling conventions of 'missing',
	we should not recommend a hard-coded use of 'missing --run'.

	* doc/autoconf.texi (Making testsuite Scripts): Recommend
	AM_MISSING_PROG when using automake, and avoid hard-coding use of
	'missing' otherwise.

2012-06-27  Eric Blake  <eblake@redhat.com>

	maint: don't sync elisp-comp or missing from gnulib
	Automake 1.13 will be changing the semantics of 'missing'; maintaining
	our own copy in version control risks problems if our version does
	not match automake's expectations.  As a result, gnulib no longer
	mirrors 'missing'.  Furthermore, gnulib originally added the
	'elisp-comp' module with the explanation that autoconf uses it, but
	we don't use it anywhere other than the manner in which automake
	will byte-compile our .el files; since we don't document the script,
	we should be just fine using the version that was installed by automake.

	See more discussion in the thread starting here:
	https://lists.gnu.org/archive/html/automake-patches/2012-06/msg00154.html

	* cfg.mk (gnulib-update): Drop files installed by automake and no
	longer present in gnulib.
	* .gitattributes: Delete references to files not in git.

2012-06-18  Eric Blake  <eblake@redhat.com>

	maint: add attribution
	* THANKS: Update.

2012-06-18  David Hill  <dhill@mindcry.org>

	functions: add Bitrig defaults
	Cater to the Bitrig OS, an OpenBSD fork.  config.guess and
	config.sub have been updated upstream.

	* lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF)
	(_AC_FUNC_REALLOC_IF): Bitrig inherits from BSD.

2012-05-29  Jim Meyering  <meyering@redhat.com>

	maint: fix typos in old ChangeLog files
	Culprits identified and fixed automatically using these commands:
	git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
	's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'\
	|bash
	using http://github.com/lyda/misspell-check
	* ChangeLog.2, ChangeLog.3: Fix typos.

2012-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	general: deprecate 'configure.in' as autoconf input
	It has been years since that has been deprecated in the documentation,
	in favour of 'configure.ac':

	  Previous versions of Autoconf promoted the name configure.in, which
	  is somewhat ambiguous (the tool needed to process this file is not
	  described by its extension), and introduces a slight confusion with
	  config.h.in and so on (for which '.in' means "to be processed by
	  configure"). Using configure.ac is now preferred.

	It's now time to start giving runtime warning about the use of
	'configure.in', so that support for it can be removed in future
	versions of autoconf/automake.

	* lib/Autom4te/Configure_ac.pm: Issue a warning in the 'obsolete'
	category if 'configure.in' is detected.  Since this module is synced
	from Automake, this change is to be backported there (and will be
	soon).
	* doc/autoconf.texi: Update.
	* tests/tools.at: Adjust to avoid spurious failures.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	functions: improve cross-compilation guesses for glibc system hosts
	Paul and Eric suggested that improving the cross-compilation guesses
	for targets that are glibc systems would be welcome here [1][2].

	This patch modifies the cross-compilation behaviour of
	  AC_FUNC_CHOWN
	  AC_FUNC_GETGROUPS
	  AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
	  AC_FUNC_MALLOC
	  AC_FUNC_MMAP
	  AC_FUNC_REALLOC
	  AC_FUNC_STRCOLL
	so that when the target is a glibc system (or, in case of AC_FUNC_MALLOC
	and AC_FUNC_REALLOC, any known "good" Unix system), the guess is
	"yes it works" rather than "guessing no".

	This is important because some of these macros are used in Gnulib, and
	in case of "guessing no" Gnulib provides extra workaround code, and
	  1) Generally, when targetting embedded systems, code size should be
	     minimized,
	  2) In [3], unnecessary workaround code will look like a Glibc bug.

	This patch also changes the configure output to "guessing yes" or
	"guessing no" in a case where the ac_cv_* variable is undocumented.

	[1] http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00010.html
	[2] http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00013.html
	[3] http://sourceware.org/glibc/wiki/Testing/Gnulib

	This patch was tested with the simple configure.ac file
	=============== configure.ac ==================
	AC_INIT([dummy], [0])
	AC_FUNC_CHOWN
	AC_FUNC_GETGROUPS
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
	AC_FUNC_MALLOC
	AC_FUNC_MMAP
	AC_FUNC_REALLOC
	AC_FUNC_STRCOLL
	AC_OUTPUT
	===============================================

	* lib/autoconf/functions.m4 (AC_FUNC_CHOWN): Require AC_CANONICAL_HOST.
	When cross-compiling to a glibc system, guess yes.
	(AC_FUNC_GETGROUPS): Likewise.
	(AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
	(AC_FUNC_STRCOLL): Likewise.
	(_AC_FUNC_MALLOC_IF): Require AC_CANONICAL_HOST. When cross-compiling
	to a know Unix system other than AIX and OSF/1, guess yes.
	(_AC_FUNC_REALLOC_IF): Likewise.
	(AC_FUNC_MMAP): Require AC_CANONICAL_HOST. When cross-compiling to a
	system with a Linux kernel, guess yes.

2012-05-03  Eric Blake  <eblake@redhat.com>

	doc: fix another bad @xref
	Obviously, I didn't fully test commit f35498d.

	* doc/autoconf.texi (Limitations of Builtins): Add a comma.

2012-04-24  Eric Blake  <eblake@redhat.com>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	Release Version 2.69.
	* NEWS: Mention the release.

2012-04-24  Eric Blake  <eblake@redhat.com>

	maint: drop bz2 tarball
	At 2.68b, I asked whether anyone would miss .gz and .bz2 formats.
	Consensus was overwhelming that .gz still holds a place in people's
	hearts, in spite of .xz compressing to smaller files, but no one
	was able to make a convincing argument for .bz2.

	* configure.ac (AM_INIT_AUTOMAKE): Drop bzip2; xz wins hands down.

2012-04-24  Eric Blake  <eblake@redhat.com>

	maint: resync files from upstream
	The files in lib/Autom4te/ are intentionally not synced at this
	point, since this recent Automake patch:
	https://lists.gnu.org/archive/html/automake-patches/2012-03/msg00111.html

	was buggy regarding '-' as stdout, and also exposes some latent
	bugs in autoconf where we use raw 'open' instead of XFile::open.

	* build-aux/announce-gen: Resync via 'make fetch'.
	* build-aux/config.sub: Likewise.
	* build-aux/git-version-gen: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/move-if-change: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* doc/standards.texi: Likewise.
	* maint.mk: Likewise.

2012-04-24  Eric Blake  <eblake@redhat.com>

	doc: fix bad @xref uses
	Upstream gnulib maint.mk improvements caught a few issues we
	should fix, as well as a few issues in files we copy from
	other sources that we will just ignore here.

	* doc/autoconf.texi (Generic Programs, Special Shell Variables)
	(Limitations of Builtins): Use references correctly.
	* cfg.mk
	(exclude_file_name_regexp--sc_prohibit_undesirable_word_seq)
	(exclude_file_name_regexp--sc_useless_cpp_parens): Add exemptions.

2012-04-24  Bruno Haible  <bruno@clisp.org>

	AC_INIT: remove a transitional warning
	On bi-arch systems (such as x86 / x86_64) it is often necessary to pass
	the --host option together with an appropriate value for CC. But this
	triggers a warning:

	$ ./configure --host=i686-pc-linux-gnu CC="gcc -m32 -march=i586"
	configure: WARNING: if you wanted to set the --build type, don't use --host.
	    If a cross compiler is detected then cross compile mode will be used
	..

	This warning was introduced on 2000-06-30, in commit
	<http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=cb2e761b8e1181f97e8e09d85526bd22078433db>
	with the remark "Re-enable the old behavior of --host and --build."

	This warning was meant to warn users about a changed semantics of
	--build and --host. This change is now 12 years in the past; users
	have had enough time to learn it. I therefore suggest to remove the
	warning.

	I've done lots of cross and bi-arch compilations in the last 10 years,
	all with --host and without --build, and have never observed a problem
	with it, except for the warning. Simply relying on config.guess is sufficient.

	* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Don't warn if --host
	given without --build.

2012-04-24  Bruno Haible  <bruno@clisp.org>

	doc: fix incorrect and incomplete doc about cross-compilation mode
	* doc/autoconf.texi (Runtime): Mention the effect of the cross-
	compilation mode on AC_RUN_IFELSE.
	(Specifying Target Triplets): Fix description of --host's effects.
	(Hosts and Cross-Compilation): Remove incorrect statement about
	--host's effects.

2012-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	doc: document --build and cross-compilation better
	* doc/autoconf.texi (Specifying Target Triplets): Mention that
	specifying a build-type that differs from host-type enables
	cross-compilation.  Problem reported by Bruno Haible in:
	http://lists.gnu.org/archive/html/autoconf-patches/2012-04/msg00009.html

2012-04-11  Jim Meyering  <meyering@redhat.com>

	maint: avoid "make syntax-check" failure
	* cfg.mk (old_NEWS_hash): Update to reflect typo fix in old news.

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics fix imprecise comment in Autom4te::General
	* lib/Autom4te/General.pm: This file is *not* used by Automake;
	adjust comments accordingly.

2012-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	tests: fix port of AT_CHECK_ENV to hosts with flaky grep
	* tests/local.at (AT_CHECK_ENV): Don't copy the buggy grep's
	diagnostics to stderr, as that causes AT_CHECK to fail.  They can
	be found in the stderr-* files if this is needed for debugging.

2012-03-07  Eric Blake  <eblake@redhat.com>

	docs: document set -n pitfalls
	* doc/autoconf.texi (Limitations of Builtins) <set>: Document
	issues with set -n.

2012-03-07  Eric Blake  <eblake@redhat.com>

	build: require perl 5.6
	This reduces the implicit requirement from 5.6.2 back to 5.6,
	while raising the explicit requirement to match the actual code.

	* configure.ac (PERL): Fail up front if perl is too old.
	* NEWS: Document this.
	* README: Likewise.
	* README-hacking: Likewise.
	* lib/Autom4te/ChannelDefs.pm: Bump requirement.
	* lib/Autom4te/General.pm: Relax requirement.

2012-03-07  Eric Blake  <eblake@redhat.com>

	tests: ignore ksh -n warnings
	Recent ksh is noisy:

	$ ksh -nc '``'; echo $?
	ksh: warning: line 1: `...` obsolete, use $(...)
	0

	* tests/local.at (AT_CHECK_SHELL_SYNTAX): Ignore noisy ksh on.
	Reported by Martin Zaun.

2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>

	tests: port AT_CHECK_ENV to hosts with flaky grep
	* tests/local.at (AT_CHECK_ENV): Don't assume that if one grep
	fails, the other will too.  It could be that 'grep' is flaky,
	and fails somewhat at random.  This would explain the problems
	reported for autoconf-2.68b on FreeBSD and MacOS X, for example:
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00032.html>
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00035.html>
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00036.html>
	<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00044.html>

2012-03-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: resync files from upstream
	Since the perl version required in Automake::Getopt has been
	recently lowered from 5.6.2 to 5.6.0, this change has the nice
	effect of making autoconf compatible again with all perls in
	the 5.6.x release series.

	* maint.mk: Resync via 'make fetch'.
	* lib/Autom4te/Channels.pm: Likewise.
	* lib/Autom4te/Configure_ac.pm: Likewise.
	* lib/Autom4te/FileUtils.pm: Likewise.
	* lib/Autom4te/Getopt.pm: Likewise.
	* lib/Autom4te/XFile.pm: Likewise.

2012-03-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: drop syncing with Automake::Struct
	The module Automake::Struct has been removed in automake master
	branch (with yesterday's commit v1.11-2055-g74a7f49 "maint: drop
	'Automake::Struct' module"): since Automake now requires Perl 5.6,
	that module has become obsolete, being basically just a backport
	of Perl 5.6's 'Class::Struct' to Perl 5.5.  With this change, we
	follow suite in Autoconf, which syncs some of its internal modules
	with Automake.

	* lib/Autom4te/Struct.pm: Delete.
	* lib/Autom4te/Makefile.am (dist_perllib_DATA): Don't list it
	anymore.
	* cfg.mk: Don't sync it with the Automake repository anymore.
	* lib/Autom4te/Request.pm: Use 'Class::Struct' instead of
	'Autom4te::Struct'.

2012-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	doc: mention PATH bug with "ksh foo"
	* doc/autoconf.texi (Invoking the Shell): Mention ksh PATH bug.

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to Solaris XPG4 sh bug
	On Solaris 10, the /usr/xpg4/bin/sh shell seems unable to execute
	a shell script named 'script':

	  $ touch script
	  $ /bin/sh script; echo status: $? # As expected.
	  status: 0
	  $ /usr/xpg4/bin/sh script; echo status: $? # Weirdness follows.
	  /usr/xpg4/bin/sh: script: cannot execute
	  status: 1

	This was causing a spurious testsuite failure for users which have
	/usr/xpg4/bin in $PATH before /bin and /usr/bin.  Fix that.

	* tests/m4sh.at (Configure re-execs self with CONFIG_SHELL): Rename
	the m4sh-produced script to 'script2', to avoid the just-described
	issue.

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure when CONFIG_SITE is set
	* tests/m4sh.at (Configure re-execs self with CONFIG_SHELL): Export
	$CONFIG_SITE to "/dev/null", to avoid spurious diffs in expected
	stdout/stderr.

2012-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	fortran: clean up core files after AC_FC_CHECK_BOUNDS
	* lib/autoconf/fortran.m4 (AC_FC_CHECK_BOUNDS): Clean up core
	files, too.  Needed for Sun Fortran 95 8.2 2005/10/13 on Solaris 8.

	tests: port AS_TR_SH and AS_TR_CPP test to Solaris 8 wc
	* tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP): Do not assume
	that "wc -l" outputs only digits; on Solaris 8 it also outputs
	blanks and POSIX allows this.

	tests: fix "#/bin/sh" typo
	* tests/m4sh.at (AS@&t@_EXECUTABLE): "#!/bin/sh", not "#/bin/sh".
	Typo reported by Tim Rice in:
	http://lists.gnu.org/archive/html/autoconf-patches/2012-03/msg00009.html

	tests: port AS_EXECUTABLE_P test to Solaris 8 /bin/sh
	* tests/m4sh.at (AS@&t@_EXECUTABLE): Treat any nonzero exit
	status as failure.  This is needed for Solaris 8 /bin/sh,
	where executing a nonexecutable file causes the shell
	to say the file had exit status 1.

2012-03-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: don't infloop when re-executing with $CONFIG_SHELL
	It turns out our guard against infinite recursion wasn't good
	enough when shells without $LINENO support were involved, since
	the creation-and-sourcing of configure.lineno broke the guard's
	expectations.  Reports by Tim Rice and Paul Eggert.

	* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Export '_as_can_reexec'
	to "no" before sourcing the just-created configure.lineno.

2012-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	maint: spelling fixes

2012-03-01  Eric Blake  <eblake@redhat.com>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

2012-03-01  Eric Blake  <eblake@redhat.com>

	Release Version 2.68b.
	It's been more than a year since 2.68; time for a beta release
	to shake out any last minute bugs, before a release of 2.69
	in the near future.

	* NEWS: Mention the release.
	* HACKING: Update some instructions.

2012-03-01  Eric Blake  <eblake@redhat.com>

	maint: resync files from upstream
	* GNUmakefile: Resync via 'make fetch'.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* build-aux/update-copyright: Likewise.
	* doc/standards.texi: Likewise.
	* lib/Autom4te/Channels.pm: Likewise.
	* lib/Autom4te/Configure_ac.pm: Likewise.
	* lib/Autom4te/FileUtils.pm: Likewise.
	* lib/Autom4te/Getopt.pm: Likewise.
	* lib/Autom4te/Struct.pm: Likewise.
	* lib/Autom4te/XFile.pm: Likewise.
	* maint.mk: Likewise.

2012-02-25  Eric Blake  <eblake@redhat.com>

	tests: add test for AS_EXECUTABLE_P
	Now that this is public, we should regression test it.

	* tests/m4sh.at (AS@&t@_EXECUTABLE): New test.

2012-02-24  Eric Blake  <eblake@redhat.com>

	m4sh: make AS_EXECUTABLE_P public
	In the process of making it public, factor it into a reusable
	function.  This makes constructs like AC_CHECK_PROGRAM smaller,
	as well as making libtool's naughty use of $as_executable_p safer.

	* lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Add a shell function.
	(AS_EXECUTABLE_P): Forward to shell function.
	* doc/autoconf.texi (Common Shell Constructs): Document it.
	* NEWS: Mention this.

2012-02-24  Eric Blake  <eblake@redhat.com>

	m4sh: require that 'test -x' works
	4.3BSD is no longer a reasonable portability target; and we are
	pretty sure that these days we can find at least one shell on any
	platform that supports 'test -x'.  Drop a horribly unsafe use of
	eval as a result. :)

	Libtool still uses $as_executable_p without so much as calling
	either AS_TEST_X or AS_EXECUTABLE_P; even though the latter has
	existed, although undocumented, since at least 2.59; furthermore,
	libtool uses it in a context where filtering out directories
	would have been desirable.  Shame on them.

	* lib/m4sugar/m4sh.m4 (_AS_TEST_X_WORKS): New probe.
	(AS_SHELL_SANITIZE, AS_INIT): Use it in shell searching.
	(AS_TEST_X, AS_EXECUTABLE_P): Simplify.

2012-02-24  Eric Blake  <eblake@redhat.com>

	doc: mention more pitfalls of file mode tests
	4.3BSD is museum-ware now, so we can assume that test -x exists;
	however, we still can't assume that it always does what we want.

	* doc/autoconf.texi (Limitations of Builtins) <test (files)>:
	Treat 'test -x' as mostly portable, but mention problems with
	root user, ACLs, and TOCTTOU races.

2012-02-16  Eric Blake  <eblake@redhat.com>

	docs: tweak 'rm -f' limitations
	Based on http://debbugs.gnu.org/10819 and
	http://austingroupbugs.net/view.php?id=542

	* doc/autoconf.texi (Limitations of Usual Tools) <rm>: More
	details on 'rm -f' without files.

2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	maint: replace FSF snail-mail addresses with URLs
	* tests/erlang.at, tests/go.at, tests/statesave.m4:
	Replace FSF snail mail addresses with URLs, as per GNU coding
	standards, and for consistency with other tests.

2012-01-28  Jim Meyering  <meyering@redhat.com>

	maint: avoid "make syntax-check" failure
	* Makefile.am ($(srcdir)/INSTALL): Remove spurious space-before-TAB.

2012-01-23  Eric Blake  <eblake@redhat.com>

	tests: fix test regression due to additional output
	This test has been failing since commit 5285ea8c (sadly, since
	last July; thankfully, unreleased).

	* tests/m4sugar.at (m4@&t@_require: nested): Fix test.

2012-01-23  Eric Blake  <eblake@redhat.com>

	INSTALL: convert to '' quoting, drop blank line at end
	This is allowed by recent GNU Coding Standards changes, and
	mirrors recent gnulib changes:
	https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00267.html
	https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00298.html

	I've confirmed that after these changes, the INSTALL generated and
	installed by autoconf matches the INSTALL.ISO in gnulib.

	* Makefile.am ($(srcdir)/INSTALL): Match gnulib INSTALL.ISO.

2012-01-23  Jim Meyering  <meyering@redhat.com>

	maint: convert .x-sc_* into exclude_file_name_regexp--sc_* exemptions
	Many of the .x-sc_* exemptions were no long necessary.  Remove those
	files and instead, provide exemptions via variable definitions in
	cfg.mk to address the few remaining exceptions.
	* .x-sc_prohibit_atoi_atof: Remove file.
	* .x-sc_space_tab: Likewise.
	* .x-sc_sun_os_names: Likewise.
	* .x-sc_trailing_blank: Likewise.
	* .x-sc_two_space_separator_in_usage: Likewise.
	* .x-sc_useless_cpp_parens: Likewise.
	* cfg.mk: Add minimal exemptions.
	* cfg.mk: Add minimal exemptions.
	* doc/standards.texi (Standard C): Address the sole useless-cpp-parens
	violation in this file:
	-#if defined (__STDC__) || defined (WINDOWSNT)
	+#if defined __STDC__ || defined WINDOWSNT
	With that, the only remaining offender is config.guess, whose name
	is now listed in cfg.mk.
	Suggested by Eric Blake.

2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	doc: work around mingw-w64 alloca problem with example
	* doc/autoconf.texi (Particular Functions): In example code for
	alloca, do not re-#define alloca.  This works around a mingw-w64
	problem reported by Vincent Torri in
	<http://lists.gnu.org/archive/html/autoconf/2012-01/msg00018.html>.

2012-01-21  Jim Meyering  <meyering@redhat.com>

	maint: fix or disable failing syntax-check rules
	* cfg.mk (local-checks-to-skip): List failing tests, so we skip
	them, for now.
	(old_NEWS_hash): Update.
	* doc/autoconf.texi: Per suggestion from Eric Blake, obfuscate
	the first word of "Filesystem Hierarchy Standard" as File@/system
	so it continues to render as one word, yet doesn't trigger the
	syntax-check prohibition.

	maint: also sync maint.mk and useless-if-before-free from gnulib
	* cfg.mk (gnulib-update): Add them to the list.
	* maint.mk: Update from gnulib.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/useless-if-before-free: New file, from gnulib.
	* doc/gnu-oids.texi: Update.

	maint.mk: update from gnulib
	* maint.mk: Update.

	maint: placate syntax-check rules: exempt some false positives
	* cfg.mk: Exempt maint.mk from the "undesirable word seq" check.
	Exempt maint.mk and autoconf.texi from the test_minus_ao check.

	maint: tweak to avoid triggering space-tab-prohibiting syntax-check
	* tests/m4sh.at (nargs): Use TAB-SP, not SP-TAB in abusive file name,
	to avoid triggering the space-tab-prohibiting syntax-check.

	maint: remove empty lines at EOF
	* man/autoconf.x: Remove empty line at EOF.
	* man/autoheader.x: Likewise.
	* man/autoscan.x: Likewise.
	* man/autoupdate.x: Likewise.
	* man/ifnames.x: Likewise.
	* tests/compile.at: Likewise.
	* doc/fdl.texi: Likewise.

	doc: fix grammar/doubled-word errors
	* doc/autoconf.texi: Remove/fix doubled-word errors.
	Also, s/can not/cannot/.
	* lib/m4sugar/m4sh.m4: Reword "if IF" comment to avoid triggering
	the doubled-word warning.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: sync files from gnulib
	* GNUmakefile: Sync from gnulib.
	* build-aux/announce-gen: Likewise.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/git-version-gen: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/move-if-change: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* build-aux/update-copyright: Likewise.
	* build-aux/vc-list-files: Likewise.
	* doc/gendocs_template: Likewise.
	* doc/standards.texi: Likewise.
	* m4/autobuild.m4: Likewise.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: make position of gnulib checkout configurable
	Some gnulib-related tools (most prominently, the gnulib-provided
	'bootstrap' script) allow the user to define the position of his
	gnulib's repository checkout through the use of the 'GNULIB_SRCDIR'
	environment variable.  We should do the same, for consistency and
	to easily support slightly unusual layouts in developers' source
	trees.

	* cfg.mk (gnulib_dir): Define to "$GNULIB_SRCDIR" if that's set,
	and to default value of "'$(abs_srcdir)'/../gnulib" otherwise.
	Update comments.

2012-01-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	getopt: sync from Automake repository
	* lib/Autom4te/Getopt.am: The master copy of this file has
	been moved to the  Automake repository (see Automake commit
	'v1.11-662-g52246cc' 2012-01-18, "cmdline parsing: move into
	a dedicated perl module").  So we now we sync it from there,
	by listing it ...
	* cfg.mk (autom4te_files): ... in this variable.

2012-01-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: fix automake error due to missing ChangeLog
	Apparently, Automake does not accept the '$(srcdir)/ChangeLog'
	target in Makefile.am as a declaration that ChangeLog is
	automatically generated (and thus does not need to exist at
	automake time).  One has to use a *literal* 'ChangeLog' target.

	Problem introduced in commit v2.68-118-g6ed5195 of 2012-01-17,
	"maint: generate ChangeLog from git log".

	* Makefile.ma ($(srcdir)/ChangeLog): Renamed ...
	(ChangeLog): ... to this.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	getopt: new Autom4te::Getopt module
	* lib/Autom4te/General.pm (getopt): Move the guts of its
	implementation ...
	* lib/Autom4te/Getopt.pm (parse_options): .. into this function
	in the new Autom4te::Getopt module.  This will make it simpler
	for the implementation to be shared with other projects (right
	now, Automake).
	* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new
	module.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious failure for each gnu-fortran-using test
	The tests compare pre- and post-run lists of envvars, which must
	be the same, modulo a list of known, filtered-out exceptions.
	However, when running fortran-checking tests with GNU fortran, each
	would fail due to the post-run addition of the GFC symbol added in
	v2.68-97-gbd962ac.
	* tests/local.at (AT_CHECK_ENV): Add GFC to the list of symbols
	that we ignore in pre-/post-run environment diffs.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: generate ChangeLog from git log
	Following the practice set by various other GNU projects, we start
	to automatically generate the ChangeLog file from the git commit
	messages.  This will avoid duplication (as the ChangeLog entries
	were always inserted both in the git commit message and in the
	version-controlled ChangeLog file), and potential problems with
	spurious merge conflicts (which, although greatly mitigated by
	Bruno Haible's `git-merge-changelog' helper program, have never
	been completely solved).

	* ChangeLog: Moved ...
	* ChangeLog.3: ... to this.
	* build-aux/gitlog-to-changelog: New script, synced from gnulib.
	* cfg.mk (gnulib-update): Also sync gitlog-to-changelog.
	* Makefile.am (gen-ChangeLog): New .PHONY rule, generate the
	ChangeLog for distribution.
	(dist-hook): Depend on it.
	($(srcdir)/ChangeLog): New dummy rule, to pacify automake "gnu"
	strictness.  Creates a dummy ChangeLog, that will be overridden
	by the proper one at distribution time.
	(gen_start_date): New variable, the date starting from which the
	git log entries are to be copied in the generated ChangeLog.
	(EXTRA_DIST): Add ChangeLog.3 and gitlog-to-changelog.
	* configure.ac (AC_CONFIG_SRCDIR): Use 'lib/autoconf/autoconf.m4'
	instead of 'ChangeLog' as the sentinel file.
	* .gitignore: Add ChangeLog.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix some typos in ChangeLog
