word: there is no `default' macro for autoscan.
* bin/autoscan.in (&init_tables): Reject entries with no macro at
all.
* lib/autoscan/functions, lib/autoscan/headers: Make the macro
explicit.
from /tmp.
Thanks to Bill Moseley and Paul Eggert.
* lib/m4sugar/m4sh.m4 (AS_TMPDIR): $2 is the directory into which
the tmpdir must be created.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Have the tmp
dir be in the build tree, instead of $TMPDIR.
`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.
looking for a replacement file.
* lib/autoconf/general.m4 (AC_CHECK_DECLS): Check that the
directory is relative.
* doc/autoconf.texi (Generic Functions): Clarify the replacement
directory definition.
Reported by Andreas Schwab and Jim Meyering.
MAILPATH and set PS1, PS2, PS4 to default values, to work
around bug in pre-3.0 UWIN ksh reported by Bruce Lilly.
For LC_ALL etc, first try to set to "C" as POSIX requires and as
the Autoconf documentation specifies; fall back to "unset" only if
this fails. Use a shell for-loop for this rather than an m4 loop,
to shorten the output script.
of rolling our own unset.
(_AS_PREPARE): $as_unset CDPATH instead of AS_UNSETting it, since
in practice we needn't worry about CDPATH if unset doesn't work.
(&xsystem): Use WIFEXITED and WEXITSTATUS instead of decoding $? by
hand, which is not portable.
(&error): New.
* bin/autom4te.in: Use them.
Use &error instead of die.
* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Adjust.
* bin/autom4te.in: Remove --include-envvar and --site-macro-subdir
options and use $AUTOM4TE_PATH.
* doc/autoconf.texi: Remove documentation of autom4te
--include-envvar and --site-macro-subdir options and document
use of $AUTOM4TE_PATH.
* lib/autom4te.in: Remove --include-envvar and --site-macro-subdir
arguments from each language section.
Use PATH="/nonexistent;.", not PATH=".;.", as FreeBSD ksh2002
apparently treats PATH="nonexistent" as if it contained ".".
Bug reported by Stefan `Sec' Zehl.
bin/autoupdate.in, bin/ifnames.in, lib/Autom4te/General.pm,
lib/Autom4te/Struct.pm, lib/Autom4te/XFile.pm: Add local variables
so that Emacs setups GNU style for perl-mode and cperl-mode.
(AC_FUNC_FNMATCH): Use it. Test only for POSIX conformance,
not for GNU extensions; this undoes part of the 2000-11-03 change,
reverting to 2.13-compatible behavior.
Add new optional argument DIR.
(AC_FUNC_FNMATCH_GNU): New macro.
If prototypes are supported, use them to check this at compile-time,
instead of trying to check it at run-time. If we must do a run-time
check, assume that setvbuf is standard when cross-compiling, as
nonstandard setvbuf occurs only on ancient and unlikely hosts.
and ac_subst_vars be sh variables containing the list of
AC_SUBST_FILES'ed and AC_SUBST'ed identifiers. Output them in the
DEFAULT diversion.
(_AC_INIT_PREPARE): Use them to log them.
(_AC_SUBST, _AC_SUBST_SED_PROGRAM): Remove.
(AC_SUBST, AC_SUBST_FILE): Instead of buliding the
_AC_SUBST_SED_PROGRAM, store the list of output files/variables in
_AC_SUBST_FILES and _AC_SUBST_VARS.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Adjust.
workaround for ${1+"$@"}.
* doc/autoconf.texi (Shell Substitutions): Explain it.
From Oliver Kiddle and Peter Stephenson.
Have M4sh perform minimal shell sanitizing.
* lib/m4sugar/m4sh.at (AS_SHELL_SANITIZE): Split the `_AS_PREPARE_*'
part into...
(_AS_PREPARE): this new macro.
(AS_PREPARE): New.
(AS_INIT): Invoke AS_SHELL_SANITIZE.
* tests/m4sh.at (AT_DATA_LINENO): Use _AS_PREPARE.
Adjust Autoconf and Autotest.
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Don't invoke
AS_SHELL_SANITIZE, AS_INIT did it, but invoke AS_PREPARE.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS):
Invoke _AS_PREPARE (not AS_PREPARE) in addition to
AS_SHELL_SANITIZE.
Use this M4sh to generate Autoconf's shell scripts.
* tests/wrapsh.as: New, precursor of wrapsh.in.
* tests/Makefile.am: Include lib/freeze.mk to get the dependencies
on Autotest and M4sh.
($(TESTSUITE)): Use $(autotest_m4f_dependencies).
(wrapsh.in): New target.
* bin/autoconf.as: New, precursor of autoconf.in.
(autoconf.in): New target.
(_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.
(_AC_COMPILER_EXEEXT_REJECT): New.
Also recognize *.bb and *.bbg as compilation byproducts.
(_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O)
(_AC_COMPILER_OBJEXT): Use them.
Fixes Debian #138666.
Create at_test_all by a series of assignments,
not by a single assignment of a long string. The latter causes ksh
version 11/16/88g to silently misbehave on OpenServer 5.0.6a,
presumably because of a buffer overrun.
(AS_MKDIR_P): Require it. Use mkdir -p if available, falling
back on AS_DIRNAME to compute prefixes otherwise; this is
roughly what mkinstalldirs does. That way, we need not have
our own filename disassembler. The old disassembler did not
work with Solaris 8 dtksh, which is ksh Version M-12/28/93d.
and host is irrelevant.
(Specifying Names, Canonicalizing): Remove all references to the
backward compatibility hooks. Rather, collect them all into...
(Hosts and Cross-Compilation): this new section.
* doc/install.texi (System Type): Ditto.
* lib/autoconf/general.m4 (AC_CANONICAL_HOST): Explicitly state
that `--host' implies cross-compilation.
* lib/m4sugar/m4sugar.m4 (m4_lquote): Remove, it is totally
useless.
(_m4_foreach): Define the variant with immediate evaluation so
that it contains exactly the items, not an expression which
evaluation is the current item.
(m4_re_string, m4_re_word): Don't over quote them.
`foreach' loops immediately evaluate them.
* lib/m4sugar/m4sugar.m4 (m4_quote, m4_dquote): Use $@ rather than
$*. This is the n-th time I change my mind, but hopefully this is
the last...
(m4_lquote): New.
(m4_text_wrap): Use m4_foreach, which is finally correct _and_
efficient.
(m4_foreach_quoted, m4_car_quoted, _m4_foreach_quoted): Remove, as
it was only a hack for m4_text_wrap.
(m4_car2): Remove, replaced by...
(m4_cdr): New.
(_m4_foreach): Adjust.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust, and use
m4_bpatsubst for clarification.
AC_PREFIX_PROGRAM fails with dashed program names
* lib/autoconf/general.m4 (AC_PREFIX_PROGRAM): Just use a fresh
variable when looking for the prefix program.
Now it also works for shell variables.
optional are the sum of the previous files on the command line'.
Also, pass `--reload-state=' on them, so...
(handle_m4): don't.
* lib/autom4te.in (Autotest, Autoconf): Rely on M4sh.
(M4sh): Rely on M4sugar.
(Autotest, M4sh, M4sugar): Use frozen files.
AUTOTEST_PATH *after* it was set.
Don't put `.' in the PATH: the user should be precise and `./' if
needed. In addition, given that the test suite does some `cd', if
`.' is in the path, the `tested programs' sections will report
programs found in the test suite's directory, while during the
tests (performed in their own directory), these programs are no
longer visible. In other words, the results is confusing and
useless.
* tests/m4sh.at: Adjust: don't rely on `.' being in the PATH.
package.m4, since is really depends upon configure.ac, not
configure.
* doc/autoconf.texi (testsuite Scripts): Adjust.
* tests/Makefile.am (package.m4): New.
EXTRA_DIST it since its a source.
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.
trailing files, don't apply `-rf' to files which might not be
created by configure (core, core.*, and *.core), but just `rm -f'.
Suggested by Jonathan Kamens.
Remove, replaced by...
* tests/wrappl.in: Be common for all the Perl executables.
In particular autoscan and autoheader want -I.
* configure.ac: Adjust.
* lib/autoscan/headers: errno.h is portable.
directives.
(&scan_sh_file): Remove a duplicate pattern.
(&check_configure_ac): Use long options.
* lib/autoscan/headers (alloca.h): Check with AC_FUNC_ALLOCA.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Replace srcdir,
top_srcdir and top_builddir with at_srcdir, at_top_srcdir and
at_top_builddir.
* lib/autotest/general.m4 (AT_INIT): Compute srcdir,
top_srcdir, builddir and top_builddir.
Use `at_*dir' relatively to the directory containing the
suite, use `*dir' when relatively to the current group dir.
static, to catch errors if the value isn't known at compile-time
and the compiler supports dynamic arrays. Change its name from
`_array_' to `test_array' to avoid potential name clashes.
(AC_C_LONG_DOUBLE): Make it a compile-time test, not a run-time
test. Do not define HAVE_LONG_DOUBLE if `long double' is no
better than double. Catch a bug in GCC 2.95.2 x86.
variable names when referring to a single test group, or to
`suite' when referring to the whole test suite.
`at_last_test' is removed: m4 compute at_format itself.
(at_stdout, at_stder1, at_stderr): New variables.
(AT_CHECK): Use them.
in PATH.
Create `testsuite.dir/003/run' instead of `testsuite.003'.
Do it as soon as a test fails, don't wait till the end of the test
suite.
Don't remove $as_me.[0-9]*, since these files no longer exist.
need to list the files to remove at the end of tests groups.
* lib/autotest/general.m4 (_AT_CLEANUP_FILE, AT_CLEANUP_FILES):
(AT_data_files, at_data_files): Remove.
(AT_CLEANUP, AT_DATA): Simplify.
(AT_INIT): Adjust.
Remove the group dir if !debug && !failed.
* tests/atspecific.m4: Adjust.
`testsuite.dir' in which the at-check-line etc. files are to be
found, and `testsuite.dir/003' where the test group 3 is run.
* lib/autotest/general.m4 (AT_INIT): at_tests_dir,
at_check_line_file, at_format, at_test_normalized, at_group_dir
are new variables.
Create the directories.
Use absolute paths for at- files.
(AT_CHECK): Adjust.
* lib/autoconf/functions.m4, lib/autoconf/general.m4,
* lib/autoconf/headers.m4, lib/autoconf/libs.m4,
* lib/autoconf/programs.m4, lib/autoconf/specific.m4,
* lib/autoconf/types.m4: When invoking AC_DEFINE and friends,
specify to what the macro should be defined (typically to 1).
AC_TRY_EVAL to run $LEX, not AC_TRY_COMMAND. This validates the
definition used by Automake where LEX is +/- "${missing} lex" and
`missing' itself contains variables.