users who use config.site to require for a cache: in this case,
the two last configure runs, using two different sets of
arguments, trigger a legitimate error.
`duplicates', since the algorithm was too naive and could keep
`--prefix=1 --prefix=2 --prefix=1' as `--prefix=1 --prefix=2', and
keep `--prefix foo --prefix bar' as `--prefix foo bar'.
Reported by Ralf Corsepius.
* tests/torture.at (Configuring subdirectories): Exercise these
cases.
(_AC_CONFIG_COMMAND, _AC_CONFIG_LINK): New.
Use dnl, not the KILL diversion.
Extracted from...
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS)
(AC_CONFIG_LINKS): here.
Adjust.
Don't use the KILL diversion, as it kills spurious output, which
results in failures being hidden.
Use m4_defn where appropriate.
(AC_CONFIG_IF_MEMBER): Kill the real bug: a spurious parenthesis
after the second argument.
Use m4_defn.
* lib/autom4te.in (Autoconf, Autotest, M4sh): Don't pass --warning
syntax, as it is provided by M4sugar.
* tests/torture.at (Multiple AC_CONFIG_FILES): New.
of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING,
and PACKAGE_BUGREPORT from here...
(_AC_INIT_DEFAULTS): to here, since it is unrelated to the
arguments.
(_AC_INIT_PREPARE): AC_DEFINE these symbols.
* lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*.
(AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'.
* tests/tools.at (autoheader): Adjust.
* tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust.
processed only if present.
* tests/torture.at (Configuring subdirectories): Use autoreconf
instead of successive calls to autoconf.
Add a nonexistent subdirectory to exercise the patch above.
Reported by Ralf Corsepius.
* lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Say what you are
looking for.
* m4/atconfig.m4: Be sure the let $[0] be expandable.
(top_srcdir): Fix its computation.
* lib/autotest/general.m4: Adjust the diversion names.
(AT_INIT): Run AS_INIT.
Use the BINSH diversion to invoke /bin/sh.
* tests/base.at, tests/m4sh.at, tests/m4sugar.at, tests/tools.at:
* tests/torture.at: Respect M4sugar and M4sh macro name spaces.
* acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Defer parsing of
config.status targets to after the evaluation of the INIT-CMDS.
Double quote config.status targets (used to be single quoted).
2001-06-23 Akim Demaille <akim@epita.fr>
* tests/torture.at (CONFIG_FILES, HEADERS, LINKS and COMMANDS):
Check the content of the created file.
Check the ./config.status command line invocation.
current values of the precious variables, not the previously
cached values.
Pass precious variables which are set to config.status.
* doc/autoconf.texi (Setting Output Variables): Document AC_ARG_VAR.
* tests/torture.at (AC_ARG_VAR): New.
for signals other than 0 - exit with code 1.
* m4sh.m4 (AS_TMPDIR): Likewise.
* autoconf.in: Likewise. Also don't rely on exit == exit $?.
* autoheader.in: Likewise.
* autoreconf.in: Likewise.
* tests/torture.at (Signal handling): New test for the above.
AC_OUTPUT_MAKE_DEFS to include junky -D switches.
Reported by Wolfgang Mueller.
* tests/torture.at (#define header templates): Include trash in
confdefs.h.
* tests/atgeneral.at (AT_INIT): Don't expect `find' to support
-maxdepth, hence don't use -follow either.
Reported by Nicolas Joly.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: In the
`quote' section, `p'rint the result.
If neither `#define' pattern match, just call `d' to start a new
cycle.
Call this sed program with -n.
Reported by Ralf Corsepius.
* tests/aclocal.m4 (AC_STATE_SAVE): It is ok to modify
CONFIG_STATUS, DEFS, prefix and exec_prefix.
It is OK to produce config.* files.
* tests/atspecific.m4 (AT_CONFIGURE_AC): Save the env *after*
AC_OUTPUT to check that it doesn't break anything by itself.
* tests/torture.m4 (srcdir): New test, from Ralf Corsepius.
* acgeneral.m4 (_AC_OUTPUT_FILES): Use ac_top_srcdir and ac_srcdir
to preserve srcdir and top_srcdir.
Remove any use of `ac_given_srcdir' as `$srcdir' being preserved
is usable.
(_AS_QUOTE_IFELSE): Use it.
* tests/atgeneral.m4 (AT_INIT) <SHELL>: Define and use.
<--help> Don't display the options help when tests were selected.
Document -d.
<at_skip_list>: New.
<testsuite.log>: Give a banner, include ChangeLog snippets, list
the failed and skipped tests.
Remove useless $at_traceoff in sub shells, this improves the
readability of the traces by removing testsuite's implementation
details.
(AT_CHECK): Filter out the shell traces from the tested command's
stderr.
Use AS_ESCAPE.
Don't register experr and expout for clean up, as it's hairy and
easier to do from...
Support STDOUT = stdout, and STDERR = stderr.
Force the output of shell traces.
(AT_INIT): Here.
* autoreconf.sh: Likewise.
* autoheader.sh: Ditto.
* autoupdate.sh: Similarly.
* doc/autoconf.texi: Adjust.
* tests/atspecific.m4: Be sure to remove configure.in.
Adjust the test suite to use `configure.ac'.
visible.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Support FLAGS, STDOUT
and STDERR.
(AT_CHECK_CONFIGURE): Support plenty, cleanup defs when needed.
Spread their use in the whole suite.
Simplify a few AT_CLEANUPs.
* tests/atgeneral.m4 (AT_INIT): Set up FD 5.
(AT_CHECK): Instead of using exec to globally change the FDs of
`testsuite', enclose the body of the test into a
`(..) >stdout 2>stderr'.
In every case, when verbose, display the differences between
expected and oberved (stdout, stderr, exit status).
Let `0' be the default for EXIT-STATUS.
Support EXIT-STATUS == `ignore'.
* tests/atgeneral.m4 (AT_INIT): Initialize AT_banner_ordinal.
Execute the epilogue of the tests only if a test was run.
Don't built the value of `at_tests_all' by a for loop: expand
AT_TESTS_ALL.
(AT_SETUP): Build AT_TESTS_ALL.
(AT_BANNER): New.
Adjust all the former banners to use it.
(AT_CHECK): Don't trace the decoding of $?.
(AT_CLEANUP_FILES): New macros.
(AT_SETUP, AT_CHECK, AT_CLEANUP): Use them.
(AT_CHECK): Fix a use of at_verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER)
(AT_CHECK_CONFIGURE): New macros.
* tests/atgeneral.m4: Import M4sh.
Adjust the differences on the names of the builtins (define etc.).
(AT_CASE): Remove, use m4_case.
(AT_SETUP): Don't use `AT_group_description', `$1' is OK.
* tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of
M4sugar.
* tests/m4sugar.at: Strengthen the quotation and adjust to the new
macro names.
* tests/m4sh.at: Ditto.
* tests/torture.at: Ditto.
* tests/base.at: Ditto.
* m4sh.m4: Import M4sugar.
* autoconf.m4: Don't import M4sugar, M4sh does.
before high level ones.
* tests/semantics.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
(missing templates): Move to...
* tests/torture.at: here.
Reorder the file so that the torture test is last.
* tests/semantics.at (AC_TRY_LINK_FUNC, AC_PROG_CPP with warnings)
(AC_PROG_CPP without warnings): Move to...
* tests/compile.at: here, new file.
* tests/suite.at: Run `torture' and then `compile' before
`semantics'.