expansion in the here-documents used by config.status, as that
runs afoul of the Korn shell version M-12/28/93d bug described in
the Autoconf manual, and this in turn causes a Coreutils 5.95 build to
fail as described by Tim Rice and diagnosed by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-autoconf/2006-05/msg00082.html>.
ac_dB slightly, to save bytes in the script.
Max out at 50 lines, rather than 96; this is more likely
(though not guaranteed) to avoid obscure 'sed' failures.
AC_DEFINE is now passed to m4_pattern_allow.
* NEWS: Mention that; likewise for AC_SUBST.
* lib/autoconf/general.m4 (AC_DEFINE_TRACE_LITERAL): Pass
the parameter to m4_pattern_allow.
* tests/tools.at: Add a check for that.
the HP-UX sed limitation of 99 commands, labels do not count.
* lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): Mention that
in the comment.
(_AC_OUTPUT_HEADER): Revert the change from 2006-05-19.
Import the following fix from coreutils:
2006-01-13 Jim Meyering <jim@meyering.net>
Invoke AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
$ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need
not double-quote uses of that variable, to accommodate the rare
case in which getmntent is available in none of the libraries
checked. This happens at least on FreeBSD 5.0.
ac_config_guess, ac_config_sub, and ac_configure, since evidently
some other programs unwisely rely on these undocumented vars.
But put in warning comments about them.
Problem reported by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00068.html>.
* NEWS: Document that these variables are intended to go away.
lib/Automake/FileUtils.pm, lib/Automake/Struct.pm: Sync from
Automake as follows:
* lib/Autom4te/Configure_ac.pm (find_configure_ac): Use
`$configure_in' instead of `configure.in', to preserve
directory component.
sets MKDIR_P, not mkdir_p, to avoid collisions with Automake.
Warn about obsolete install-sh files. Remove stray sentence
fragment and fix cross reference.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Don't insist on
install -d; this undoes the 2006-05-10 change.
(MKDIR_P): Mark with AN_MAKEVAR.
(AC_PROG_MKDIR_P): Fall back on $ac_install_sh, not $INSTALL, so
that we don't require $INSTALL to be thread-safe. Move comments
out of generated code. Require AC_CONFIG_AUX_DIR_DEFAULT instead
of AC_PROG_INSTALL. Output a message saying that we're checking
mkdir -p. Set MKDIR_P rather than mkdir_p. Do special magic for
MKDIR_P instead of AC_SUBST.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILE, _AC_OUTPUT_CONFIG_STATUS):
Special magic for MKDIR_P, too.
* lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Remove comment that defeated
a dnl.
* tests/local.at (AT_CHECK_ENV): mkdir_p -> MKDIR_P.
* config/install-sh: Don't use 'path' to talk about file names,
as per GNU coding standards. Close a race condition reported by Ralf
Wildenhues and Stepan Kasal. There is still a race condition
on hosts that predate POSIX 1003.1-1992, but we can't help this.
Don't mishandle weird characters like space on pre-POSIX hosts.
Invoke mkdir at most once per dir arg on pre-POSIX hosts.
* doc/autoconf.texi (Programming in M4sh): Cross-reference to
AC_PROG_MKDIR_P from AS_MKDIR_P.
(Limitations of Usual Tools): Cross-reference to AC_PROG_MKDIR_P
from mkdir. Mention that Autoconf 2.60 install-sh is safe but
earlier editions are not (including Automake 1.8.3).
Do not suggest mkinstalldirs for thread-safety.
* lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Make it more robust in the
presence of special characters and race conditions.
* tests/local.at (AT_CHECK_ENV): Add mkdir_p to the list of variables
in Autoconf's name space.
* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): New macro, taken
from Automake with minor changes.
* doc/autoconf.texi (Particular Programs): Document AC_PROG_MKDIR_P.
munge (multiple) white space and other oddities.
* tests/torture.at (AT_CHECK_AC_ARG_VAR): Make sure to M4-escape
single quotes in variable assignment.
(AC_ARG_VAR, configure invocation): Adjust tests to expose this
and similar failures by adding multiple spaces, tabs, and other
special characters.
Report and different test suggested by Francesco Romani
<fromani@gmail.com> and Andrew Church <achurch@achurch.org>.
single quotes, we only need to search for single quotes; this
both simplifies the search pattern, and makes us less
susceptible to `echo' variations for arguments not containing
single quotes.
(_AC_ARG_VAR_VALIDATE): Likewise.
traditional shells like the Solaris one that do not use the
first IFS character for assembling `$*'.
Prompted by a related report from autoconf_bug@nro.ca.
* doc/autoconf.texi (Programming in M4sh): Comment out the
documentation of AS_BASENAME, for now.
(Shell Substitutions): Do not use AS_DIRNAME in an example.
(Limitations of Builtins) <basename>: Do not refer to
AS_BASENAME.
* bin/autoconf.as (me): Don't use AS_BASENAME.
(dir): Remove the unused variable.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED): Renamed from
AS_DETECT_REQUIRED. All uses changed.
(_AS_DETECT_SUGGESTED): Renamed from AS_DETECT_SUGGESTED.
All uses changed.
(_AS_DETECT_BETTER_SHELL): Put ;; at the end of a case.
(AS_BASENAME): Use "basename --" to protect against leading "-".
(_AS_BASENAME_EXPR): Renamed from AS_BASENAME_EXPR. All uses changed.
(_AS_BASENAME_SED): Renamed from AS_BASENAME_SED. All uses changed.
(_AS_BASENAME_PREPARE): Reject implementations that cannot handle "--".
(_AS_DIRNAME_PREPARE): Likewise.
(_AS_DIRNAME_EXPR): Renamed from AS_DIRNAME_EXPR. All uses changed.
(_AS_DIRNAME_SED): Renamed from AS_DIRNAME_SED. All uses changed.
(AS_DIRNAME): Use "dirname --".
of "run time" and "run-time" changed to "runtime", for consistency.
* lib/autoconf/fortran.m4: Likewise (in comment).
* lib/autoconf/functions.m4: Likewise.
* lib/autoconf/general.m4: Likewise.
* lib/autoconf/headers.m4: Likewise.
and AS_BASENAME.
* lib/m4sugar/m4sh.m4 (AS_BASENAME, AS_DIRNAME): Bring these
back, albeit undocumented. Programs now have a grace period
to switch to AS_VAR_SET_DIRNAME and AS_VAR_SET_BASENAME.
AS_VAR_SET_DIRNAME and AS_VAR_SET_BASENAME.
* doc/autoconf.texi (Programming in M4sh): Document this. All uses
changed. The newer interfaces are more reliable, as they allow
implementations that handle trailing newline correctly. For now,
we're in a freeze, so I did not include the more-reliable
implementations, but I wanted to correct the interface before 2.60
goes out.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED): Renamed from
AS_DETECT_REQUIRED. All uses changed.
(_AS_DETECT_SUGGESTED): Renamed from AS_DETECT_SUGGESTED.
All uses changed.
(_AS_DETECT_BETTER_SHELL): Put ;; at the end of a case.
(_AS_BASENAME): Renamed from AS_BASENAME. All uses changed.
Use "basename --" to protect against leading "-".
(_AS_BASENAME_EXPR): Renamed from AS_BASENAME_EXPR. All uses changed.
(_AS_BASENAME_SED): Renamed from AS_BASENAME_SED. All uses changed.
(_AS_BASENAME_PREPARE): Reject implementations that cannot handle "--".
(_AS_DIRNAME_PREPARE): Likewise.
(_AS_DIRNAME): Renamed from AS_DIRNAME. All uses changed.
(_AS_DIRNAME_EXPR): Renamed from AS_DIRNAME_EXPR. All uses changed.
(_AS_DIRNAME_SED): Renamed from AS_DIRNAME_SED. All uses changed.
Use "dirname --".
(AS_VAR_SET_BASENAME, AS_VAR_SET_DIRNAME): New macros.
* tests/m4sh.at (AS_VAR_SET_DIRNAME): Renamed from AS_DIRNAME.
Test the new API. Don't test internals, since they're probably
going to change anyway.
(AS_VAR_SET_BASENAME): Likewise, renamed from AS_BASENAME.
* bin/autoconf.as: Don't use AS_BASENAME or AS_DIRNAME. This
removes a bootstrapping problem with the changes described above.
The AS_DIRNAME part wasn't used, anyway, and the AS_BASENAME
part can be done portably without all the deep Autoconf magic.
newline from the `trap' code to finish `config.log'; the NetBSD
/bin/sh resets the exit status after an empty command, as
documented in doc/autoconf.texi.
use ">&-" since we're only 99.999% sure that this is portable,
and since the MinGW bug is fixed in a different way.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Handle --recheck
before opening config.log, to avoid hitting a bug on MinGW.
AS_MESSAGE_LOG_FD before reopening it onto the log file.
This works around a MinGW bug reported by Eric Paire.
Make sure that all writes to the log file append to it,
rather than possibly losing data.
* lib/autotest/general.m4 (AT_INIT): Likewise.
the instantiated file do not contain the string 'datarootdir'
but contain @datadir@, @docdir@, @infodir@, @localedir@, or
@mandir@, replace the reference '${datarootdir}' by the value.
* tests/torture.at (datarootdir workaround): New test.
* NEWS: Advertise this temporary fixup.
Based on a patch by Bruno Haible, reported and analyzed by
Paul Eggert and Noah Misch.
succeeded, but `ln -s file dir' failed, take care to remove the
leftover target before the next test, to prevent its spurious
failure; also make sure `ln file dir' works before selecting it.
Thanks to Keith Marshall for pointing this out.
* THANKS: Update.
assignments in `at_debug_args', so that we put them correctly
in the `run' script.
* tests/autotest.at (Debugging a failed test): Unmark XFAIL.
Reported by Eric Blake.
top-level tests after micro-suite has been run. Used in...
(Debugging a successful test, Debugging script and environment),
(Debugging a failed test): ...these new tests. The first of these
is fixed by...
* lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT): New
macro, split out from...
(AT_INIT): ...here, so that using -d also generates a run script.
Document that -d inhibits top-level logging.
* doc/autoconf.texi (testsuite Invocation): Document that -d only
inhibits top-level logging; debug scripts are created.
space only patch to this file, this patch causes the Makefile.in
files that include freeze.mk to be updated, and thus have a
newer time stamp again, which in turn makes a pristine CVS
checkout have correct time stamps.