(&file_name_is_absolute): New, wrappers around routines from
File::Spec.
Use and export them.
(&find_configure_ac): Optionally take a directory where to look at.
* bin/autoreconf.in (&parse_args): Trim the configure.ac part of
the arguments.
Default @ARGV to `.', not find_configure_ac.
(&autoreconf): Argument is a directory.
Trace AC_CONFIG_SUBDIRS and schedule the subdirs for autoreconf'ing.
* doc/autoconf.texi (autoreconf Invocation): Update.
passed on command line, defaulting to ./configure.ac if present.
(&maybe_autoreconf, File::Find): Remove, unused.
(&autoreconf): If autoconf is not used, don't try to trace.
Remove, dead.
* bin/autoreconf.in (&autoreconf): Do not run gettextize when
`intl' is already present, as it refuses unless --force.
(&parse_args): Use -I, --include instead of the old Autoconf
options.
($localdir, $autoconf_dir): Remove.
(@include): New.
(&maybe_autoreconf): New, to preserve $_ for File::Find.
ac_buildpath, ac_top_buildpath, ac_srcpath, and ac_top_srcpath.
(_AC_OUTPUT_FILES): Also substitute srcpath, top_srcpath,
builddir, buildpath, top_builddir, and top_buildpath.
(_AC_OUTPUT_SUBDIRS): Compute the dir variables *before* changing
the current directory.
* lib/autoconf/general.m4 (_AC_INIT_HELP): Compute the dir
variables *before* changing the current directory.
Skip nonexistent dirs.
* doc/autoconf.texi (Preset Output Variables): Document these
variables.
* lib/autotest/general.m4: Do not reset AT_victims.
Don't compute at_srcdir nor at_top_srcdir.
* tests/tools.at: Hence use top_srcdir.
* tests/Makefile.am, tests/autoconf, tests/autoheader,
* tests/autom4te, tests/autoreconf, tests/autoupdate, tests/ifnames:
Remove.
* tests/autoreconf.in, tests/wrappl.in, tests/autom4te.in,
* tests/wrapsh.in, tests/autoupdate.in: New.
* tests/Makefile.am (DISTCLEANFILES, EXTRA_DIST): Adjust.
* configure.ac: Build the position independent wrappers.
* man/Makefile.am: Now that test wrappers are position
independent, use them and drop dark envvar magic.
Map --localdir, --autoconf-dir onto it.
Forward autom4te's options instead of interpreting them.
* bin/autoconf.in, bin/autoheader.in (AC_MACRODIR, autoconf_dir):
There is no such envvar since the inception of autom4te.cfg.
* bin/autom4te.in (&parse_args): Uniquify `@include'.
* bin/autoupdate.in: Adjust, and perform more control.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Adjust.
* tests/autoconf: Dittowise.
* bin/autom4te.in (&find_file): Support `FILE?' standing for
optionally `FILE'.
Use -e, not -f, since /dev/null for instance is OK.
(&parse_args): Adjust.
* lib/autom4te.in (Autoconf): Add `acsite.m4?' and `aclocal.m4?'.
* bin/autoconf.in, bin/autoheader.in, bin/autoreconf.in,
* bin/autoscan.in, autoupdate.in: Use exclusively the name of the
installed peer executables, only PATH is allowed to resolve it.
Pass `autoconf_dir' via options, not via invisible envvars.
* lib/Autom4te/General.pm (&find_peer): Remove.
* lib/autotest/general.m4 (AT_INIT): `AUTOTEST_PATH=a:b' gives
`abuild:asrc:bbuild:bsrc', not `abuild:bbuild:asrc:bsrc'.
* man/Makefile.am: Let help2man rely on PATH instead of trying to
find the executables for it.
* tests/Makefile.am: Major cleanup. Too lazy to document...
* tests/atlocal.in: Remove all the obscure envvar manipulations.
We only need PERL.
* tests/atspecific.m4, tests/tools.at: Passing --localdir is
indeed related to running the test suite, while passing
--autoconf-dir and others is related to running non installed
Autoconf executables. So don't do that, leave it to...
* tests/autoconf, tests/autoheader, tests/autom4te, tests/autoupdate,
* tests/autoscan: New.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't
refer to library files: rely on --language.
* lib/Makefile.am (edit, autom4te.cfg): New.
* bin/autom4te.in (BEGIN): Simplify.
Rely on `AC_MACRODIR' in addition of `autom4te_perllibdir'.
(&load_configuration): New. Use it.
(&parse_args): Support --mode, --set, and --melt.
* bin/autoconf.in: Simplify and adjust.
* tests/Makefile.am (AUTOMAKE): Use --set.
* tests/atlocal.in: Adjust.
* BUGS: distcheck and check are weak.
* Makefile.am (AUTOMAKE_OPTIONS): Add 1.5 and dist-bzip2.
(AMTAR): Help automake define it.
(INSTALL, install-data-hook): The INSTALL.txt trick is no longer
needed, 1.5 can have a macro and a target with the same name.
* m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/install-sh.m4,
* m4/strip.m4: New.
* m4/init.m4, m4/sanity.m4: Update.
* doc/Makefile.am (CLEANFILES): 1.5 knows the texi2dvi files.
* lib/autoconf/Makefile.am, lib/autotest/Makefile.am,
* lib/m4sugar/Makefile.am, lib/autoscan/Makefile.am,
* lib/Autom4te/Makefile.am, man/Makefile.am: Use dist/nodist.
(&parse_args, &print_usage): -f, --force is a new option.
(&handle_output): CPP directives might have spaces after `#'.
(&parse_args): The first file only can be frozen.
first check that the trace cache file is up to date, and then
compare its timestamp with that of the output.
* bin/autom4te.in, bin/autoupdate.in, bin/autoscan.in: Normalize
the preamble. Don't require 5.005 as Autom4te::General does it,
and better yet (use `use', not `require'!).
* lib/Autom4te/Struct.pm: Rename the last occurrences of
Class::Struct as Autom4te::Struct.
* lib/Autom4te/General.pm (File::stat): Use it.
(&mtime): New, export it.
* bin/autom4te.in: Use it.
Declare `$req' is invalid if it is outdated.
Don't declare it valid before saving it if something went wrong.
must be proposed to the users.
* bin/autom4te.in (@required_trace): Remove.
(@preselect): New.
(&parse_args, &print_usage): -p, --preselect is a new option.
(&up_to_date_p): Adjust.
* bin/autoconf.in: Preselect some Autoconf macros.
(m4_divert_pop): Dump the whole diversion stack when a diversion
mismatch happens.
* bin/autom4te.in (&handle_output): Remember of the first
occurrence of a possibly undefined macro, not the last.
Complain about the possibly undefined macros in the same order as
the appear in the output.
* lib/autoconf/Makefile.am (autoconf.m4f): List its dependencies.
* tests/tools.at (autoconf: forbidden tokens, basic)
(autoconf: forbidden tokens, exceptions): No longer sort
autoconf's stderr, as it is now deterministic.
Check that `dnl' is caught.
* autoconf.in ($task, task trace): Remove, merely pass --trace to
autom4te.
* autoheader.in: Don't pass `-' to autoconf, rather, a tmp file.
(Because I found no way for autom4te to accept `-').
* autom4te.in (&Request::request): Beware of M4 builtins.
(END): Don't try to remove the content of an empty dir.
(&parse_args): Default is `$f:$l:$n:$%', not `$f:$l:$n:$*'.
(&handle_output): Set a default value to `$forbidden'.
* autoupdate.in (&verbose, &xsystem): New, from autom4te.in.
($autoconf): Pass --debug and --verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Clean up autom4te's
cache.
Adjust all the routines to use it.
($log): New file (autoscan.log).
(output): Dump detailed logs into $log, and a shortened version to
stderr.
(&scan_makefile): Refine the regexp catching tokens in the code.
* doc/autoconf.texi (autoscan Invocation): Document `autoscan.log'
and the `configure.ac' checking feature.
Reported by Michael Elizabeth Chastain.
* autoconf.in: Refuse such AWK.
* configure.in: Likewise.
* Makefile.am (acversion.m4): Do not use move-if-change this file
has dependencies.
* doc/autoconf.texi (Fortran 77 Compiler): Some typos.