Depend on Makefile since it contains substitutions.
From Paolo Bonzini.
* lib/autom4te.in (args): Add local.at? for Autotest args.
This change was made on autom4te.cfg which is generated.
Reported by Raja R. Harinath.
not all of them. This fixes 1. the fact that when testing
Autoconf there are many many config.log, 2. the incorrect use of
top_srcdir to find config.log.
Don't mix the detailed output of failed test with the summary of
failures. Rather, append detailed log afterwards.
changes.
* lib/Autom4te/General.pm (&backname): Remove, no longer used by
Autoconf nor Automake.
(&contents): New, from Automake.
PODify.
* lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION):
Remove `#include <stdlib.h>' from the list; we should never
Do not call `_exit()', simply modify `$?'.
(xsystem): Reset $! before running system, and check it afterward.
* tests/tools.at (autoupdating AC_PREREQ): Expect exit status
63 for version mismatches.
Emacs' danger whitespace.el behavior (smashing "useless" spaces in
the middle of a line).
* lib/m4sugar/m4sugar.m4: Likewise.
Remove useless spaces in comments.
in testsuite.dir/NNN/testsuite.log, and append them to
testsuite.log instead of re-running the test verbosely.
Adapt documentation. Update NEWS to signal possible bad
interactions between -x and experr.
memcmp be declared before being tested.
Reported by Sander Niemeijer.
(AC_FUNC_ERROR_AT_LINE, AC_FUNC_GETGROUPS, AC_FUNC_STRNLEN): Likewise.
* doc/autoconf.texi (Default Includes): Document
AC_INCLUDES_DEFAULT.
* bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in (BEGIN): Make
them uniform, and more robust to Perl special characters.
Reported by Martin Mokrej.
longer updates aclocal.m4 if useless, (ii) if a file m4_included
by aclocal.m4 is changed it might require the importing of another
m4 extension file, i.e., aclocal must be run.
* bin/autoreconf.in (&run_aclocal, $aclocal_supports_force): New.
(&parse_args): Use --force with aclocal if required and supported.
(&autoreconf_current_directory): Use &run_aclocal.
* lib/Autom4te/XFile.pm ($me, &name, &lock, &truncate, &seek): New.
* bin/autom4te.in (&Request::save, &Request::load): Use an IO::File
argument instead of a file name, so that the request file remains
open during the whole autom4te run.
($icache_file): New.
(&freeze): Lock the $icache_file.
seperator with m4_append_uniq(). It doesn't work.
(AT_CLEANUP): Add `;' to end of at_help_all.
(AT_INIT): Allow --keywords to be specified more than once. When
grepping $at_help_all for keywords, use the field and keyword
seperators to ensure a complete keyword match. Alter at_prev handling
to support the new --keywords behavior.
HELP_TUNING,HELP_OTHER,HELP_END,PREPARE_TESTS,TESTS_END): Define and
use new diversions in preparation for accepting new arguments and
allowing scripting around tests.
(OPTIONS,TAIL): Remove these diversions to make way for the ones above.
about `$<' in inference rules, it was a bogus interpretation of
an old Automake change. Discuss NetBSD, FreeBSD, OpenBSD, and
Tru64 make in the "target lookup" section.
(Automake): Automake 1.5+ no longer requires special tools to be
present on the developer's host.
to a shell that can handle redirection or quoting correctly.
Override SHELL with the shell detected by configure.
Use of $^O suggested by Tim van Holder.
* bin/autom4te.in (BEGIN): Likewise.
* bin/autoreconf.in (BEGIN): Likewise.
* bin/autoscan.in (BEGIN): Likewise.
* bin/autoupdate.in (BEGIN): Likewise.
* bin/ifnames.in (BEGIN): Likewise.
* bin/ifnames.in: Add final newline to help and version messages.
* lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Translate colons,
to cope with DOS-style absolute paths, when constructing
${ac_make}.
* lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS, _AC_OUTPUT_FILES):
When constructing paths with IFS=:, quote the path. If we're
constructing a DOS-style absolute path, we don't want to split it
on the colon.
* tests/atspecific.m4 (AT_CHECK_CONFIGURE): Fix typo
in description.
compiler says yeah, but preproc says nope, compiler is right.
Conversely, prompt the reader to send a bug report to the
maintainers of the package, not of Autoconf.
(po-check): Scan .l and .y files instead of the
.c and the .h files that they generate. This fixes the bug
reported by Tim Van Holder in:
<http://mail.gnu.org/pipermail/bison-patches/2002-November/001352.html>
Look for N_ as well as for _. Try to avoid matching #define for
N_ and _.
From Paul Eggert.
option. Process --recheck after parsing all options. Pass -q
option to configure on --recheck.
(AC_OUTPUT): Pass -q from configure to config.status.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Strip -q from
arguments to record.
* doc/autoconf.texi (config.status Invocation): Document
config.status -q option.
Remove.
We _have_ to stop using the old compatibility scheme that tried to
avoid useless backslashes because Libtool 1.4.3 contains a
AC_DEFINE([error_t], [int],
[Define to a type to use for `error_t' if it is not
otherwise available.])
We _have_ to quote the single quote and backslashes with . The
old compatibility scheme saw that ` was backslashed, and therefore
did not quote the single quote. Hence before this patch, Autoconf
was not compatible with Libtool.
Change name of cache variable to ac_cv_func_malloc_0_nonnull.
(AC_FUNC_MALLOC): Change description of HAVE_MALLOC macro.
(_AC_FUNC_REALLOC_IF): Change message. Change name of cache variable
to ac_cv_func_realloc_0_nonnull.
(AC_FUNC_REALLOC): Change description of HAVE_REALLOC macro.
(_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE)
(_AC_RUN_IFELSE): Use it.
* lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT):
(_AC_COMPILER_EXEEXT_DEFAULT): Likewise.
* lib/autoconf/c.m4 (AC_LANG_SOURCE): Don't include confdefs.h,
inline it.
* lib/autoconf/fortran.m4 (_AC_F77_NAME_MANGLING):
Die when a simple Fortran program cannot be compiled.
* lib/autoconf/lang.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY):
Issue a warning if no function is given.
Move the documentation of AC_TRY_RUN to...
(Obsolete Macros): here.
Adjust all the old samples still using AC_TRY_RUN to AC_RUN_IFELSE.
(autoconf Invocation): Remove the duplicates with `invoking
autom4te'.
* lib/autoconf/headers.m4 (AC_HEADER_STDC): Don't use AC_TRY_RUN.
* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Likewise.
* doc/autoconf.texi (Customizing autom4te): Remove a lost
sentence.
Reported by Burno Haible.
(Language Choice): Now the first section of...
(Writing Tests): this section.
Make the introduction less C-centric.
(Guidelines, Test Functions): Move to...
(Writing Test Programs): this new section.
(Test Programs): Merge into...
(Run Time): this.
* Makefile.maint: Update from the Coreutils.
(AMTAR): Remove, obsolete.
(-automake_repo): Update to redhat.com.
(cvs_file): New.
Adjust to the fact that ansi2knr is now hosted by Automake.
* Maekfile.am (cvs_files): Add install-sh and mkinstalldirs.
* config/config.guess, config/mkinstalldirs, config/texinfo.tex:
Update from masters.
are a few warnings.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD):
Quote for Perl '' strings, not "".
* bin/autoheader.in: Invoke autoconf to get '' strings, not ""
strings.
characters is a syntax warning now.
(_AS_QUOTE): Accept $2 as list of characters to quote.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD):
Quote for Perl, not sh.
* bin/autoheader.in: When $debug, report the file which is
`do'ne.
* tests/tools.at (autom4te, autoheader): Exercise @bar, not merely
`@', to tickle Perl's lists.
Reported by Carlos Velasco.
Fixes the `AC_ARG_VAR' test failures.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Don't use cmp.
* lib/freeze.mk (check-forbidden-patterns): New.
* lib/autoconf/Makefile.am, lib/autotest/Makefile.am
* lib/m4sugar/Makefile.am (check-local): Use it to catch `cmp'.
* doc/autoconf.texi (Limitations of Usual Tools): HP-UX' cmp and
/dev/null.
Reported months ago by H. Merijn Brand.
longer required can still cause errors.
Reported by Alexandre Duret-Lutz.
* bin/autom4te.in (&parse_args): Do not prepend `--reload-state'
to frozen files in @ARGV, as @ARGV must remain being a list of
files. Rather, at M4 call sites, use this...
(&files_to_options): New function.
(&freeze): Use &error.
(&up_to_date): If a file that was included according to the cache
is no longer there, then the output is out dated.
(&main): Don't even check whether a file is up to date is anyway
--force is given.
* tests/tools.at (autom4te cache): New.
* bin/autoupdate.in (&parse_args): Kill old options.
* bin/autoreconf.in (&parse_args): Remove dead options.
Factor some code.
(&autoreconf): Report the directories we enter *and leave*, so
that error messages can be easily located, and use GNU Make
format, so that Emacs' compile mode understands us.
* lib/Autom4te/General.pm (&update_file): Use `verbose' to report
if some file was changed instead of `print'.
* bin/autoheader.in: Suggest AC_DEFINE with 3 args when needed.
(&parse_args): Remove the dead options.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Adjust to the new
autoheader's quiet mode.
(AT_CHECK_AUTOUPDATE): Likewise.
* tests/tools.at (autoupdate): Adjust.
* tests/semantics.at (AC_C_BIGENDIAN): Likewise.
aclocal invocation, as Gettext macros might not be visible to
aclocal.
Instead of blindly running autopoint, scan configure.ac (not the
traces) for AM_GNU_GETTEXT_VERSION uses, as autopoint does.
Reported by Paul D. Smith.
None of this seems to have anything to do with POSIX, really,
but it's how Perl getopt works.
* bin/autom4te.in (parse_args): Configure GetOpt with
"permute", too.
* doc/autoconf.texi (Invoking autom4te):
--warning -> --warnings.
* lib/autom4te.in: --warning -> --warnings.
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.
autoheader are Perl programs.
(autoconf, autoheader, autoreconf, autoupdate, ifnames, autoscan)
(autom4te): Specify that the sources are in the $srcdir.
* doc/autoconf.texi (Installation Directory Variables): Adjust.
* lib/autoconf/autoconf.m4: Include it.
* lib/autoconf/functions.m4: Use AN_FUNCTION for all the functions
that were listed in the original autoscan.list.
* lib/autoconf/headers.m4: Similarly with headers.
* lib/freeze.mk (autoconf_m4f_dependencies): Add autoscan.m4.
(.m4.m4f): Don't pass --prepend-include, since that's done by
tests/autom4te itself.
* lib/autoscan/Makefile.am: Include freeze.mk.
(autoscan.list): New target --this file is no longer a source.
(autoscan.pre): New file.
Adjust all uses.
(&init_tables): When --debug, report the list of rules to ease
tracking changes in autoscan.list.
* lib/autoscan/autoscan.list (function): Strip comments, sort.
* lib/autoscan/identifiers, lib/autoscan/makevars,
* lib/autoscan/programs: Make the `kind' explicit, i.e., each
`functions' line is now prefixed with `function:'.
* bin/autoscan.in (&init_tables): Adjust.
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.
* doc/autoconf.texi (Installation Directory Variables): Update.
(Limitations of Make): Some about `Single Suffix Rules and
Separated Dependencies'.
* bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate)
(ifnames, autoscan, autom4te): Un-factor into several rules.
make handles suffix-rules differently from GNU make.
* bin/Makefile.am (SUFFIXES, .in): Remove.
(autoconf autoheader autoreconf autoupdate ifnames autoscan autom4te):
Move the body of the old .in rule here.
`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.
(ifnames, autoscan, autom4te): Since we don't only depend on
configure.ac variables (such as VERSION etc.), but also on prefix
and so forth, depend on Makefile, not configure.ac.
Reported by Alexandre Duret-Lutz.
* doc/autoconf.texi (Installation Directory Variables): Adjust.
stdout, as traditional "ls" does.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT,
_AC_COMPILER_EXEEXT_O): Likewise.
* doc/autoconf.texi (Limitations of Usual Tools): Add "ls".
* bin/autoconf.as: Add --prepend-include option. This patch was
applied to bin/autoconf.in in the 2002-07-17 patch by Mark D. Roth,
but bin/autoconf.in is generated automatically from bin/autoconf.as.
* bin/autoconf.in, configure: Regenerate.
ENV, MAIL, MAILPATH, PS1, PS2, PS4. Index PWD.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Unset ENV, MAIL,
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.
1003.1-2001's requirements for CDPATH. Give a simpler workaround
for the CDPATH problem. Document PWD.
(Limitations of Builtins): Document the problem that "cd $foo" and
"ls $foo" may refer to different directories in shells conforming
to POSIX 1003.1-2001. Use PS1 rather than CDPATH for "unset"
example, since the old example is now out of date.
* lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Reject FOO if "cd
FOO" and "ls FOO" talk about different directories; this catches
problems when POSIX 1003.1-2001 "cd" fails due to symlink
spaghetti.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Use AS_UNSET instead
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.
* Makefile.in, aclocal.m4, bin/Makefile.in,
config/Makefile.in, doc/Makefile.in, lib/Makefile.in,
lib/Autom4te/Makefile.in, lib/autoconf/Makefile.in,
lib/autoscan/Makefile.in, lib/autotest/Makefile.in,
lib/emacs/Makefile.in, lib/m4sugar/Makefile.in, man/Makefile.in,
tests/Makefile.in: Regenerate with Automake 1.6.3.
* config/config.guess, config/config.sub, config/mkinstalldirs:
Update.
* configure: Regenerate with self.
(&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.
fixing a bug introduced by the previous patch.
(Limitations of Make): Add a 'target lookup' subentry in the
'VPATH' entry. Rewrite all `make' occurences as `@command{make}'.
* 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.
* Makefile.am (MAKEINFO): Remove; it's a user-specified macro.
Replace with:
(AM_MAKEINFOFLAGS): New macro.
* doc/Makefile.am (MAKEINFO, AM_MAKEINFOFLAGS): Likewise.
* Makefile.am (INSTALL): Use the new macros.
Use -o rather than --output, since "missing" does not grok --output.
Use PATH="/nonexistent;.", not PATH=".;.", as FreeBSD ksh2002
apparently treats PATH="nonexistent" as if it contained ".".
Bug reported by Stefan `Sec' Zehl.