* lib/autoconf/status.m4 (_AC_OUTPUT_FILE): If the templates for
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.
* lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): If `ln -s file1 file2'
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.
* lib/autotest/general.m4 (AT_INIT): Store quoted variable
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.
* tests/autotest.at (AT_CHECK_AT): Add new argument, to allow
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.
* tests/mktests.sh: Use "trap '' 0", not "trap 0". Do not touch
the files if a problem appears. Make the empty *.at files
read-only, too. Proposed by Ralf Wildenhues.
* lib/freeze.mk: Fix typo in comment. Unlike the last, white
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.
* Makefile.maint (cvs-sv): New macro, to be used..
(config.guess-url_prefix, config.sub-url_prefix)
(texinfo.tex-url_prefix, standards.texi-url_prefix): ..here;
point to CVS text checkout of Gnulib files.
(copyright-check): Bump current year.
(announcement): Do not hard-wire `./announce-gen'.
(cvs-update): Propagate failures of `cvs' and `move-if-change'
correctly.
* Makefile.cfg (executable-update): Use `chmod a+x' instead of
`chmod +x'.
(wget_files): Update config.guess, config.sub, texinfo.tex by
`wget-update', now that their URLs work again.
* doc/autoconf.texi: Remove unused words from word list.
* .x-sc_prohibit_atoi_atof, .x-sc_space_tab, .x-sc_sun_os_names,
.x-sc_trailing_space: New files.
* lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): MSYS `ln -s' fails
with a target directory; it's internally implemented as `cp'
anyway, but since Autoconf advertises the possibility to use
a target directory when LN_S is `ln -s', we need to find out.
Reported by Rolf Ebert <rolf.ebert.gcc@gmx.de> against MSYS,
analyzed by Keith Marshall <keith.marshall@total.com>.
Paul Eggert [Mon, 10 Apr 2006 09:15:11 +0000 (09:15 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Just output
confdefs.h as-is. In general, if it has backslash-newline or the
like, then it doesn't work either to sort or to remove empty
lines.
Paul Eggert [Sun, 9 Apr 2006 06:22:28 +0000 (06:22 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Use '\'' for an
apostrophe within a single-quoted string, as this is the usual
tradition and is easier to read than '"'"'. Don't rely on the
shell treating "$/" like '$/'. Use a more-consistent indenting
style for the trap.
* tests/autotest.at (Backquote command substitution),
(Multiline backquote command substitution): Remove mistaken
AT_NO_CMDSUBST from the 2006-03-14 patch, which was meant to be
applied...
(Parenthetical command substitution, Multiline parenthetical
command substitution): here.
* lib/autoconf/general.m4 (AC_CACHE_SAVE): All `ac_cv_env_foo'
variables shall be overriden by the cache.
* tests/torture.at (AC_ARG_VAR): Test also with a first value
that contains braces.
Revert the patch from 2006-04-01 and only improve
_AS_DETECT_BETTER_SHELL:
* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Do not optimize; do not
skip nonexistent directories.
(_AS_DETECT_BETTER_SHELL): The optimization is moved here--try
only shell candidates which exist.
(AS_UNAME): No need to give three parameters to _AS_PATH_WALK.
* lib/autotest/general.m4 (AT_INIT): No need to give three
parameters to _AS_PATH_WALK.
* bin/autoupdate.in (handle_autoconf_patches): Change the way we
distinguish m4sugar macros.
* tests/tools.at (autoupdating with aclocal and m4_include):
New test. Bug reported by Gary V. Vaughan <gary@gnu.org>,
test case by Noah Misch <noah@cs.caltech.edu>.
Revert my change from 2006-03-17, in other words:
* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Insert BIN_SH=xpg4
and DUALCASE=1.
(AS_SHELL_SANITIZE): Remove DUALCASE=1.
* doc/autoconf.texi (Special Shell Variables) <BIN_SH>: Say that
it is set.
* lib/autoconf/general.m4 (_AC_CACHE_DUMP): Fix the detection of
whether `set' quotes correctly: redirect stderr of the tested
`set', and use a subshell, for Ultrix; use `sed' instead of
`grep' for zsh `set' which may write binary output; match only
at the beginning of a line, to avoid false positives.
In order to avoid false positives by unrelated variables with
multiline content, put the dump algorithm in a subshell and
unset all variables containing newlines (except some which are
special to the shell). Warn about cache variables that are
unset.
* tests/mktests.sh: Only skip internal macros starting with
`_AC_' or `__AC_'. Noted by Stepan Kasal.
Update exclusion lists for the test suite to this end:
(AC_ARG_VAR): Do test this now.
(AC_REPLACE_FUNCS): This needs an argument.
(AC_LINKER_OPTION): Remove (renamed to _AC_LINKER_OPTION).
(AC_LIST_MEMBER_OF): Likewise (renamed to _AC_LIST_MEMBER_IF).
(AC_LINK_FILES): Obsoleted since (and thus AU_DEFUN'ed).
* doc/autoconf.texi (Shell Substitutions): Mention the MSYS
shell issue with double-quoted command substitutions of native
commands.
Reported to MSYS by Mark Cave-Ayland, to Autoconf by Keith
Marshall.
* Makefile.maint (sc_cast_of_argument_to_free): Do not fail when
no file matches the glob, discard the warning, set `nullglob'.
(syntax-check): Likewise.
(sc_cast_of_x_alloc_return_value): Likewise.
(sc_cast_of_alloca_return_value, sc_error_exit_success)
(sc_prohibit_jm_in_m4, .re-list, sc_unmarked_diagnostics)
(m4-check): Likewise.
(sc_system_h_headers): Do not print rule on execution.
(sc_tight_scope): Do not fail for non-existing `src' directory.
(sc_changelog): Skip the Copyright footer.
* lib/autoconf/lang.m4: Remove trailing space.
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Append TAGS to
ac_config_<foo>s again, sometimes normalized, sometimes not.
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS, AC_CONFIG_COMMANDS):
Do not do so here.
(_AC_CONFIG_REGISTER_DEST): Double quote the tags in macros _AC_LIST_TAGS
and_AC_LIST_TAG_COMMANDS; fixes another regression introduced by the
2005-07-25 rewrite. Noticed by Noah Misch.
* lib/autoconf/general.m4 (AC_PRESERVE_HELP_ORDER): Do not define
_AC_PRESERVE_HELP_ORDER, ...
(AC_ARG_ENABLE, AC_ARG_WITH): ... use AC_PROVIDE_IFELSE insetad.
Revert this (for now):
| * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Call
| _AC_COMPILER_EXEEXT instead of m4_expand_once([_AC_COMPILER_EXEEXT])
| * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
| * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_TESTS): On subsequent
| calls, for a new language, only check that the compiler works.
| (AC_NO_EXECUTABLES): Change the redefinition of
| _AC_COMPILER_EXEEXT_TESTS so that on subsequent calls, it checks
| that the new language's compiler works if ac_no_link=no, and
| does nothing otherwise.
* TODO, config/Makefile.am, lib/freeze.mk, lib/autoconf/c.m4,
lib/autoconf/specific.m4, lib/autoconf/status.m4,
lib/autoconf/types.m4, lib/autotest/general.m4,
tests/mktests.sh, tests/torture.at: White space cleanup:
remove some SPACE before TAB, or add quoting ('' or @&t@).
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Do not append normalized
TAGS to ac_config_<foo>s.
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): Do so here.
(AC_CONFIG_COMMANDS): Append NAME to ac_config_commands without
normalizing it, consistent it with previous releases.
* tests/torture.at (Macro calls in AC_CONFIG_COMMANDS tags): New test.
Paul Eggert [Tue, 4 Apr 2006 23:36:20 +0000 (23:36 +0000)]
* tests/mktests.sh: Don't use 'cat'; just read the files directly.
Prefer 'sort -u' to 'sort | uniq'. Filter data before sorting it.
Use 'comm' rather than N instances of grep; this also fixes a bug
whereby substrings were incorrectly matched, causing us to not
generate tests for AC_F77_NAME_MANGLING and AC_FUNC_LSTAT.
(exclude_list): Exclude empty macros.
(ac_exclude_list): Exclude AC_INCLUDES_DEFAULT.
Paul Eggert [Tue, 4 Apr 2006 22:36:02 +0000 (22:36 +0000)]
* tests/mktests.sh: Use awk rather than grep -E or egrep, to avoid
portability problems with regular expressions containing newlines.
(exclude_list, ac_exclude_list, au_exclude_list, ac_exclude_script):
Switch from grep to awk syntax.
(ac_exclude_script): Renamed from ac_exclude_egrep.
(au_exclude_script): Renamed from au_exclude_egrep.
* lib/autoconf/c.m4 (AC_C_INLINE): Do not skip cleanup code.
(AC_C_RESTRICT): Likewise. Furthermore, add a function with a
typedef'ed restricted pointer, to catch a compiler bug on
HP-UX 11.x, and fix warnings so it passes with -Werror.
(_AC_PROG_CC_C99): Likewise.
Reported by Albert Chin <china@thewrittenword.com>.
* tests/mktests.sh: Do not skip AC_C_INLINE, AC_C_RESTRICT.
Paul Eggert [Sun, 2 Apr 2006 16:38:54 +0000 (16:38 +0000)]
* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Call
_AC_COMPILER_EXEEXT instead of m4_expand_once([_AC_COMPILER_EXEEXT])
* lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_TESTS): On subsequent
calls, for a new language, only check that the compiler works.
(AC_NO_EXECUTABLES): Change the redefinition of
_AC_COMPILER_EXEEXT_TESTS so that on subsequent calls, it checks
that the new language's compiler works if ac_no_link=no, and
does nothing otherwise.