Commit Graph

24 Commits

Author SHA1 Message Date
Akim Demaille
03d56d8bbe * bin/autoconf.as: Kill dead options.
* 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.
2002-10-16 06:38:50 +00:00
Akim Demaille
1f064c63b6 * lib/Autom4te/General.pm (&update_file): s/die/error/.
Reported by Raja R. Harinath.
* bin/autoheader.in, bin/autoreconf.in, bin/autoscan.in,
* bin/autoupdate.in: Use error instead of die.
2002-09-02 07:41:56 +00:00
Akim Demaille
a364aa42ba * lib/Autom4te/General.pm (&xqx): New.
(&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.
2002-08-29 08:03:10 +00:00
Akim Demaille
4cb1a9ef1c * lib/Autom4te/General.pm (find_file): Browse the directories in
the order they are given.
2002-07-17 16:07:32 +00:00
Alexandre Duret-Lutz
617c68ef91 * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in,
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.
2002-07-02 20:31:22 +00:00
Akim Demaille
a3b5a2e1b3 * lib/Autom4te/General.pm (getopt): Use a more GNUish error
message on invalid options.
* bin/autom4te.in (parse_args): Don't use
Autoconf::General::getopt with non valid options.
2002-01-21 13:00:52 +00:00
Akim Demaille
8993e7a7fa * lib/Autom4te/General.pm: (&catfile, &canonfile)
(&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.
2001-11-03 12:01:35 +00:00
Akim Demaille
3b536e758c * lib/Autom4te/General.pm (@export_vars, @export_subs)
(@export_forward_subs): New.
Add basename, dirname, and fileparse.
(@EXPORT): Adjust.
* bin/autoreconf.in (&autoreconf): Fix call to fileparse.
Don't look for aclocal flags if we already know aclocal is not
used.
Move aclocal.m4t only if it exists.
Reported by Ezra Peisach.
2001-11-03 11:59:48 +00:00
Paul Eggert
b68b9bab2f Require Perl 5.005_03 instead of just 5.005, as some tests fail
with 5.005_02.
2001-10-26 19:52:43 +00:00
Akim Demaille
eff4e7a6ee * lib/Autom4te/General.pm (backname): New. 2001-10-24 14:29:16 +00:00
Akim Demaille
9958e7c098 * lib/Autom4te/General.pm (&update_file): If destination is
unchanged, remove the source.
(&up_to_date_p): Don't be verbose, be debug.
* bin/autoreconf.in: No longer support --m4dir.
(&autoreconf): Display the full path of the configure.ac we are
studying.
Trace it only once.
Be sure to honor --force with gettextize.
Always run aclocal.
* doc/autoconf.texi: Adjust.
2001-10-20 06:56:45 +00:00
Akim Demaille
fa70471557 * tests/tools.at (AT_CHECK_PERL_SYNTAX): Check autoreconf.
(Syntax of the shell scripts): Don't.
* bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in: Don't
bother with $force since...
* lib/Autom4te/General.pm: does.
2001-10-08 08:26:43 +00:00
Akim Demaille
788b2078c0 * bin/autoreconf.in: Rewrite in Perl.
* configure.ac: Adjust.
* lib/Autom4te/General.pm (&up_to_date_p): New.
* bin/autom4te.in (&up_to_date_p): Use it.
Rename as...
(&up_to_date): this.
2001-10-08 08:25:44 +00:00
Akim Demaille
d3bcaf7a86 * lib/Autom4te/General.pm (&debug): New.
* bin/autom4te.in ($language): Move to...
(parse_args): here.
Handle --language in languages.
* lib/autom4te.in (Automake-selections, Autoheader-selections)
(Autoscan-selections): New.
(Autoconf): Adjust.
2001-09-23 17:16:01 +00:00
Akim Demaille
d3f9e418ab * lib/Autom4te/General.pm (&getopt): Work around the `-' Getopt bug.
* bin/autoheader.in, bin/autoupdate.in (&parse_args): Adjust.
* bin/autoscan.in: Use `getopt' and `find_files' etc.
Add -I, --include support.
* doc/autoconf.texi (autoscan Invocation): Adjust.
2001-09-05 07:06:02 +00:00
Akim Demaille
f66f5d6077 * lib/Autom4te/General.pm (&find_file): Browse the includes in the
inverse order.
2001-08-31 13:35:39 +00:00
Akim Demaille
b7e99feee5 * lib/Autom4te/General.pm ($version, $help, &getopt): New.
* bin/autoupdate.in, bin/autoheader.in, bin/autom4te.in: Use them.
* bin/autom4te.in ($autoconf): Pass --force.
`print $out' doesn't print `$_' but `$out'.
* tests/tools.at (Syntax of the Perl scripts): Pass the lib dir.
(autoheader): Pass --force since the test suite goes too fast for
the time stamps.
Adjust to the new autoheader messages.
2001-08-31 13:33:10 +00:00
Akim Demaille
e3e7e0a0af * bin/autoheader.in: Handle the acconfig.h etc. junk files.
Check the completeness of the #template.
* lib/Autom4te/General.pm (&update_file): s/remove/unlink/.
* tests/semantics.at (AC_C_BIGENDIAN): Adjust AT_CHECK_AUTOHEADER
invocation.
2001-08-31 13:32:54 +00:00
Akim Demaille
aa8dfa178d * lib/Autom4te/General.pm (&find_file, &update_file): New.
* bin/autoupdate.in, bin/autoheader.in: Adjust.
Drop AC_MACRODIR dead for real.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Now autoheader says
`autoheader: `config.hin' is created'.
* tests/tools.at (Syntax of the Perl scripts): Check autoheader.
2001-08-31 13:32:35 +00:00
Akim Demaille
1b9b5dd33a * configure.ac: Also find tested executables in bin.
* 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.
2001-08-31 13:30:11 +00:00
Akim Demaille
4ffd4212d6 Don't let autom4te compute the `include' traces several times:
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.
2001-08-04 13:14:39 +00:00
Akim Demaille
ca7d52c867 * lib/Autom4te/General.pm: Use carp' and croak', not `warn' and
`die'.
(&END): New.
* bin/autoconf.in, bin/autom4te.in, bin/autoupdate.in: Remove your
`END', as `Autom4te::General::END' will be triggered.
* bin/autoupdate.in, bin/autoscan.in: Improve error messages accuracy.
* bin/autoupdate.in (File::Compare, File::Copy): Use them instead of
system to run `mv', `rm', and `cmp'.
2001-08-01 15:10:36 +00:00
Akim Demaille
f0cd6d6a75 * lib/Autom4te/General.pm (&unique): New.
* bin/autoscan.in (&output): Use it to issue trace requests once.
2001-08-01 15:02:36 +00:00
Akim Demaille
2892d23307 * lib/Autom4te/General.pm: New.
* bin/autom4te.in (Autom4te::General): Use it.
($me, $tmp, $verbose, $debug, &mktmpdir, &verbose, &xsystem)
(&find_configure_ac, &find_slave): Remove.
* bin/autoscan.in: Likewise.
* bin/autoupdate.in: Likewise.
2001-08-01 15:01:16 +00:00