Commit Graph

544 Commits

Author SHA1 Message Date
Akim Demaille
e17454b662 * bin/autoreconf.in (&parse_args, $help): Support --warnings.
* doc/autoconf.texi (Invoking autom4te): Rename as...
(autom4te Invocation): this, for consistency with the other nodes.
2002-10-29 08:09:05 +00:00
Akim Demaille
701557402c * tests/atspecific.m4 (AT_CHECK_AUTOM4TE): Be robust to different
m4 executable names, and different GNU M4 version.
Reported by Ezra Peisach and Paul Jarc.
2002-10-28 07:15:05 +00:00
Akim Demaille
017a1dc5e5 * lib/freeze.mk ($(AUTOM4TE_CFG)): Add a missing dependency on
autom4te.in that resulted in the need for two `make' runs.
2002-10-27 18:16:06 +00:00
Akim Demaille
c54fb7e2e7 * configure.ac: Bump to 2.54b. 2002-10-27 18:14:58 +00:00
Akim Demaille
85f7faa898 Regen. 2002-10-25 15:34:28 +00:00
Akim Demaille
c9f4d136c9 Neutralize the dependency on current sources. 2002-10-25 15:15:56 +00:00
Akim Demaille
47dcd42876 * lib/autoscan/Makefile.am (autoscan.list): Disable the cache.
* bin/Makefile.am: Include freeze.mk.
2002-10-25 15:12:59 +00:00
Akim Demaille
da6caf35ba * bin/autom4te.in (&load_configuration): Take the file as
argument.
(&parse_args): Handle -C, --cache.
($help): Adjust.
(MAIN): Load ~/.autom4te.cfg and ./.autom4te.cfg.
* lib/autom4te.in (Autoconf): Pass --cache=autom4te.cache.
* doc/autoconf.texi (Invoking autom4te): Document --cache.
Now a subsection of...
(Using autom4te): This new section.
(Customizing autom4te): New.
(autom4te.cache): Adjust.
2002-10-25 11:52:37 +00:00
Akim Demaille
eb898adee6 * bin/autoconf.as, bin/autoconf.in, bin/autoupdate.in ($help):
Space changes.
2002-10-25 08:24:16 +00:00
Akim Demaille
bd71c86380 * bin/autoscan.in (output): Output AC_PREREQ.
(%needed_macros): Add AC_PREREQ so that configure.ac without one
be reported.
2002-10-25 08:22:52 +00:00
Akim Demaille
3c17011eec * bin/autom4te.in (handle_traces): Handle @&t@ in traces.
Reported by Peter Eisentraut.
2002-10-23 07:37:38 +00:00
Akim Demaille
cba40759dd * tests/foreign.at (Libtool): Don't check autoconf's stderr: there
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.
2002-10-22 11:14:44 +00:00
Akim Demaille
33c894c0bf * lib/m4sugar/m4sh.m4 (_AS_QUOTE): The warning about quoted
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.
2002-10-22 08:20:19 +00:00
Akim Demaille
a6cc487161 * bin/autom4te.in (handle_m4): Pass --fatal-warning to m4, so that
missing included files _are_ errors.
Thanks to Alexandre Duret-Lutz.
* tests/tools.at (autom4te cache): Adjust.
* tests/atspecific.m4 (AT_CHECK_AUTOM4TE): New.
(AT_CHECK_M4SUGAR): Use it.
* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Adjust.
* tests/tools.at (autom4te): Now it does exit 1.
2002-10-18 15:20:46 +00:00
Akim Demaille
aef93a0d75 Because of caching, some files that no longer exist and are no
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.
2002-10-16 17:06:57 +00:00
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
035459d652 * bin/autoreconf.in (&autoreconf): Run autopoint before the first
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.
2002-10-11 09:29:20 +00:00
Paul Eggert
826b10b108 (parse_args): Configure GetOpt with "permute", too, to work
around POSIXLY_CORRECT problems.
2002-10-08 23:04:33 +00:00
Akim Demaille
8054f9034f * lib/autom4te.in (Autoscan-preselections, Autoreconf-preselections)
(Automake-preselections): Update.
* bin/autoreconf.in, bin/autoheader.in: Comment changes.
2002-09-28 16:39:22 +00:00
Akim Demaille
54b5830601 * bin/Makefile.am (ETAGS_SH, ETAGS_PERL): Update: ifnames and
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.
2002-09-28 14:09:42 +00:00
Akim Demaille
7134f17d88 * lib/autoconf/autoscan.m4: New file.
* 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.
2002-09-28 14:06:07 +00:00
Akim Demaille
9dfa6d9aa3 * bin/autoscan.in (@kinds): Make them singular.
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.
2002-09-28 14:03:14 +00:00
Akim Demaille
51de11a561 * lib/autoscan/functions, lib/autoscan/headers,
* lib/autoscan/identifiers, lib/autoscan/makevars,
* lib/autoscan/programs: Merge into...
* lib/autoscan/autoscan.list: this.
* bin/autoscan.in (&init_tables): Adjust.
2002-09-28 14:02:11 +00:00
Akim Demaille
d8a2311821 * lib/autoscan/functions, lib/autoscan/headers,
* 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.
2002-09-28 14:01:11 +00:00
Akim Demaille
0d44ad22d0 From now on, autoscan files must always map a macro name to a
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.
2002-09-28 14:00:35 +00:00
Akim Demaille
a670d9bc40 * bin/autoscan.in (%c_keywords): Remove.
(&used): Keep only track of the words we might be interested in.
(&output_kind): It is no longer needed to look for non active
checks.
2002-09-28 13:59:59 +00:00
Akim Demaille
686b49d823 * bin/autoscan.in: Improve the comments.
(&parse_args): Drop obsolete undocumented options.
(&output_kind): Output warnings.
* lib/autoscan/functions: (dcgettext): Now trigger AM_GNU_GETTEXT.
(getwd): Trigger a warning.
2002-09-27 07:35:39 +00:00
Akim Demaille
7a3cf15135 * bin/autoreconf.in: Clarify that -s is meaningless without -i.
Reported by Ralf Corsepius.
* doc/autoconf.texi (autoreconf Invocation): Likewise.
2002-09-26 12:05:24 +00:00
Akim Demaille
906c694837 Single suffix rules and seperated dependencies are not portable.
* 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.
2002-09-26 11:57:28 +00:00
Paul Eggert
60641de439 Fix a portability bug reported by Alexandre Duret-Lutz: Solaris 8
make handles suffix-rules differently from GNU make.

(SUFFIXES, .in): Remove.
(autoconf autoheader autoreconf autoupdate ifnames autoscan autom4te):
Move the body of the old .in rule here.
2002-09-25 00:25:11 +00:00
Akim Demaille
c751364a4a * bin/autoreconf.in: Don't use Cwd::chdir, since in its internals
(chdir_init) might hang when stat'ing mounted directories.
Reported by Vance Shipley.
2002-09-13 06:59:56 +00:00
Akim Demaille
5bcbc9d67a * bin/autoscan.in (&parse_args): Pass a reference to the lists, not
the lists.
2002-09-12 15:04:18 +00:00
Akim Demaille
533c668ec2 Regen. 2002-09-11 10:01:54 +00:00
Akim Demaille
32d4eac8a4 * bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate)
(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.
2002-09-05 09:43:34 +00:00
Akim Demaille
ea94a810c2 * Makefile.am, doc/Makefile.am: Remove pdf targets, handled by
Automake 1.6c.
* Makefile.am (maintainer-clean-local): Remove.
(MAINTAINERCLEANFILES): Remove COPYING.
2002-09-04 16:03:12 +00:00
Akim Demaille
b2888aa57e * configure.ac: Bump to 2.53d.
* Makefile.am (AUTOMAKE_OPTIONS): Require 1.6c, i.e., CVS Automake
as of today, on Automake's team suggestion.
2002-09-03 09:17:44 +00:00
Akim Demaille
d417d35b57 * bin/autom4te.in (parse_args): Don't honor AUTOM4TE_PATH and
SITE_MACRO_DIR.
* configure.ac: Disable SITE_MACRO_DIR.
2002-09-03 06:09:30 +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
Paul Eggert
430a6c9614 (parse_args): --warning -> --warnings. 2002-09-01 11:04:24 +00:00
Paul Eggert
52a290c19c Regenerate. 2002-09-01 10:33:45 +00:00
Paul Eggert
2f955c6e78 Work even if "ls" outputs "FOO not found" to stdout, as traditional
"ls" does.
2002-09-01 10:10:02 +00:00
Paul Eggert
9e22b61cb2 Regenerate, this time with the correct m4.m4. 2002-09-01 08:17:15 +00:00
Paul Eggert
6fb1e2093b Regenerate with Automake 1.6.3. 2002-08-31 05:51:03 +00:00
Akim Demaille
bf0ec7678a * bin/autom4te.in (Request::load): Correctly test for "do" read
failure.
2002-08-29 08:13:24 +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
Mark D. Roth
a4865e2e2e 2002-07-29 Mark D. Roth <roth@feep.net>
* 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.
2002-07-30 00:42:58 +00:00
Akim Demaille
5eb0e35124 Regen. 2002-07-17 08:35:59 +00:00
Paul Eggert
66d5f073b5 2002-07-17 Mark D. Roth <roth@feep.net>
* configure.ac: Add --enable-site-macro-dir option.
	* bin/Makefile.am: Expand @SITE_MACRO_DIR@.
	* bin/autom4te.in: Add --prepend-include, --include-envvar, and
	--site-macro-subdir options.
	* bin/autoconf.in: Add --prepend-include option.
	* bin/autoheader.in: Add --prepend-include option.
	* bin/autoreconf.in: Add --prepend-include option.
	* bin/autoscan.in: Add --prepend-include option.
	* bin/autoupdate.in: Add --prepend-include option.
	* doc/autoconf.texi: Document use of $AC_MACRO_PATH and site
	macro directory, remove note that include path directories are
	used in reverse order, and document --prepend-include option.
	* lib/autom4te.in: Use --prepend-include instead of --include.
	* tests/wrapsh.in: Use --prepend-include instead of --include.
2002-07-17 08:30:42 +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
Paul Eggert
9edd82d2ee * bin/autoconf.as (AUTOM4TE): Default to a fully qualified path
name, so that symlinks to 'autoconf' work properly.  Bug reported
by Bruno Haible.
* bin/autoheader.in (AUTOM4TE): Likewise.
* bin/autoreconf.in (autoconf, autoheader): Likewise.
* bin/autoscan.in (autom4te): Likewise.
* bin/autoupdate.in (autom4te): Likewise.
2002-06-12 17:26:19 +00:00
Alexandre Duret-Lutz
2b18ea7e89 * bin/autom4te.in ($cache): Don't define using `$me', the name
of the cache should not depend on the name under which autom4te
was installed.
2002-06-10 09:54:21 +00:00
Akim Demaille
dad5b29768 * bin/autom4te.in (warn_forbidden): When rejecting a token,
suggest m4_pattern_allow.
Suggested by Adam J. Richter.
2002-06-07 08:03:55 +00:00
Paul Eggert
695a933cf5 ($m4): Do not assume that egrep and fgrep exist. 2002-05-29 22:24:52 +00:00
Akim Demaille
e7c982f548 * bin/autoreconf.in (autoreconf): Rewrite to use Gettext's
autopoint instead of gettextize.
($uses_alocal): Rename as...
($uses_aclocal): this.
* doc/autoconf.texi (autoreconf Invocation): Adjust.
Suggested by Bruno Haible.
2002-05-03 16:09:11 +00:00
Paul Eggert
eafcef5a74 (autoreconf): Don't age aclocal.m4's input
files to be 1 second older; just set them to be the same time.
Also, sleep 1 second after the first aclocal, to work around
problems with sub-second time stamps on the input files.
2002-04-30 06:33:12 +00:00
Akim Demaille
7928c2ab02 * bin/autoreconf.in (autoreconf): Don't let aclocal.m4 be older
than some of the input files, hence, on the second run of aclocal,
if some of its input are younger, make them older.
Suggested by Paul Eggert.
2002-04-25 10:28:01 +00:00
Akim Demaille
f401af795d * bin/autoreconf.in (autoreconf): Run automake after autoconf and
autoheader, so that automake does not complain about a missing
config.h.in that was to be created.
2002-04-24 16:28:39 +00:00
Akim Demaille
9376c35c08 * bin/autoheader.in (parse_args): --warning takes an argument.
Fixes PR/220.
2002-04-23 16:59:11 +00:00
Akim Demaille
e3bd4560c9 Regen. 2002-04-22 09:10:58 +00:00
Paul Eggert
298b5b57f3 Minor spelling and grammar fixes. 2002-04-21 07:25:20 +00:00
Paul Eggert
dd756ac977 Minor spelling and grammar fixes. 2002-04-20 06:09:01 +00:00
Paul Eggert
d4116a3b2f Use 'case' statement to work around "$@" shell problem. 2002-04-19 18:59:59 +00:00
Paul Eggert
df43014023 Rewrite so that the "$@" problem does not come up. 2002-04-19 18:59:17 +00:00
Alexandre Duret-Lutz
c38047ab05 * bin/autoupdate.in (handle_autoconf_macros): Honor AU_DEFUNs
from aclocal.m4 too.
2002-04-19 08:30:38 +00:00
Akim Demaille
8fe3db26e0 Regen. 2002-04-10 17:32:35 +00:00
Akim Demaille
9d658eddd9 * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Install the Zsh
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.
2002-04-10 15:58:19 +00:00
Akim Demaille
7924a3fc93 * bin/autoreconf.in (autoreconf): Be sure to accumulate the
directories when descending in a SUBDIRS.
Reported by Ezra Peisach.
2002-04-05 09:42:48 +00:00
Andreas Schwab
70e9cf4bd3 * bin/autoreconf.in (autoreconf): Run automake after rerunning
aclocal.
2002-04-03 10:53:55 +00:00
Akim Demaille
000289a83d * bin/autoscan.in (scan_file): Specify the location in `&used'
invocations.
From Nicolas Joly.
2002-03-19 15:25:26 +00:00
Akim Demaille
a0ee17575f * bin/autoreconf.in (&study_gettextize): New.
(&autoreconf): Handle newest gettextize.
Rerun aclocal if needed.
Suggested by Andreas Schwab.
2002-03-14 17:25:13 +00:00
Akim Demaille
fbee53ee14 * Makefile.am (AUTOMAKE_OPTIONS): 1.6. 2002-03-08 12:44:46 +00:00
Akim Demaille
3767d9c104 * bin/autom4te.in (&handle_m4): Do not foreach with `$_' as it
aliases the actual variables, and modifications of the former
affect the latter.
2002-03-08 12:01:23 +00:00
Akim Demaille
c4473c82aa * bin/autom4te.in (&handle_m4): Protect us from corrupted file
because of C-c: have m4 output in tmp files, then mv them.
2002-03-08 11:48:17 +00:00
Akim Demaille
2399c3c6a6 * bin/autoconf.in, bin/autoheader.in, bin/autom4te.in,
* bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in,
* bin/ifnames.in: Copyright update.
2002-03-08 11:46:31 +00:00
Akim Demaille
f12cd33d89 * lib/freeze.mk ($(build_libdir)/m4sugar/version.m4): New, for
parallel builds.
2002-03-04 15:08:23 +00:00
Akim Demaille
b0f1186048 Implement `autom4te --freeze'.
* bin/autom4te.in (&freeze): New.
* lib/autoconf/autoconf.m4, lib/autotest/general.m4,
* lib/m4sugar/m4sh.m4: Don't include files given by autom4te.
2002-02-05 08:12:46 +00:00
Akim Demaille
542109e14f * bin/autom4te.in (&parse_args): Implement `frozen files are
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.
2002-02-05 08:11:32 +00:00
Akim Demaille
8722aef4db * bin/autoheader.in, bin/autoconf.in, bin/autoscan.in,
* doc/autoconf.texi: Finally add Akim as an author.
2002-01-24 18:41:16 +00:00
Akim Demaille
b6f98b4ec1 Regen. 2002-01-24 17:39:46 +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
6de8a0df09 * bin/autoscan.in (scan_file): Use `&used'. 2002-01-06 20:47:57 +00:00
Akim Demaille
4f944b43d5 * bin/autoscan.in (%c_keywords): Build it at top level.
Map to 1 in order to simplify its uses.
2001-11-26 10:53:00 +00:00
Akim Demaille
32e1426355 * bin/autoscan.in (&scan_c_file, &scan_sh_file, &scan_makefile):
Remove $filepath, useless.
(&scan_makefile): Don't remove the $(FOO), ${FOO} and @FOO@
variables, they are really part of the tokens.
Split the input line on spaces and then look for tokens.
Now autoscan ceases to ask for AC_PROG_LEX for the package Bison
because of `lex$U.$(OBJEXT)'.
(&scan_files): Use "@list" instead of join.
* doc/Makefile.am (CLEANFILES): Add *.fns.
2001-11-26 10:52:46 +00:00
Akim Demaille
d1228cd752 * bin/autoscan.in (used): New.
Use it.
2001-11-26 10:51:44 +00:00
Akim Demaille
6e35b89f81 * bin/autoscan.in (&scan_c_file): Better parsing of CPP
directives.
(&scan_sh_file): Remove a duplicate pattern.
(&check_configure_ac): Use long options.
* lib/autoscan/headers (alloca.h): Check with AC_FUNC_ALLOCA.
2001-11-26 10:51:29 +00:00
Akim Demaille
32598e1b56 * bin/autoscan.in (scan_c_file): Fix the handling of C comments.
Before, having a line containing the opening of a multi line
comment made the whole line be ignored.
2001-11-26 10:51:14 +00:00
Akim Demaille
b863f27fcc * bin/autoreconf.in (&autoreconf): Run aclocal before tracing, so
that we can trace macros from aclocal.m4.
Trace AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL, since the latter is
obsoleted, and redirect to the former anyway.
Reported by Ralf Corsepius.
2001-11-08 17:21:38 +00:00
Akim Demaille
00b6183c8e * bin/autoreconf.in (&autoreconf): AC_CONFIG_SUBIDRS are to be
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.
2001-11-08 16:15:20 +00:00
Akim Demaille
21b8d2f2dc * lib/m4sugar/m4sugar.m4 (m4_pattern_forbid): Accepts $2.
* lib/autoconf/general.m4 (AC_INTI): Forbid LIBOBJS.
(_AC_LIBOBJ): s/LIBOBJS/LIB@&t@OBJS/.
* bin/autom4te.in (warn_forbidden): New.
(handle_output): Use it.
Read m4_pattern_forbid with messages.
2001-11-07 19:34:20 +00:00
Akim Demaille
eec4a3470d * bin/autom4te.in (--normalize): Remove.
* lib/autom4te.in: Adjust.
2001-11-05 17:39:33 +00:00
Akim Demaille
06de04bb1c * doc/autoconf.texi (testsuite Invocation): Update.
(Writing testsuite.at): Update.
2001-11-05 09:32:35 +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
Akim Demaille
03cd990470 * bin/autoreconf.in (&parse_args): Work only on the configure.ac
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.
2001-11-03 11:59:35 +00:00
Akim Demaille
5e98f4efcf * bin/autoreconf.in (&autoreconf): Set `$aclocal_flags' to ''.
Don't run aclocal when aclocal.m4 is not from aclocal.
From Ezra Peisach.
Don't run libtoolize and gettextize if --install is not given.
2001-11-02 16:28:33 +00:00
Akim Demaille
89af419b83 Regen. 2001-10-31 10:43:31 +00:00
Akim Demaille
d7089440fc * m4/: Remove, merged into...
* config/: here.
2001-10-24 13:30:56 +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
56eefd1f8d * bin/autoheader.in ($localdir, $m4, $SIMPLE_BACKUP_SUFFIX):
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.
2001-10-20 06:51:41 +00:00
Akim Demaille
c886cdc10e * bin/autoreconf.in (autoreconf): Display the path to the
configure.ac being studied.
2001-10-19 14:26:45 +00:00
Akim Demaille
6dfba95517 * bin/autoreconf.in (&autoreconf): Remove debugging code.
(&parse_args): Pass verbosity/debugging options to subtools when
--debug, not when --verbose.
* lib/autom4te.in (Autoreconf-preselections): New.
(Autoconf): Use it.
2001-10-08 09:40:33 +00:00
Akim Demaille
218609130b * bin/autoreconf.in (autoreconf): Run libtoolize when appropriate. 2001-10-08 08:27:15 +00:00
Akim Demaille
abeb5bf977 * doc/autoconf.texi (autoreconf Invocation): Adjust.
* bin/autoreconf.in (autoreconf): Run gettextize when appropriate.
2001-10-08 08:26:58 +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
969517ed7b * bin/autom4te.in (parse_args): There can be several invocations
of --language now.
2001-09-23 17:18:20 +00:00
Akim Demaille
eacc95ddc9 * lib/autotest/general.m4 (AT_INIT): Dump config.log last.
Pass $at_debug_args to the rerun test suite.
* lib/m4sugar/Makefile.am (DISTCLEANFILES): New.
* bin/Makefile.am (ETAGS_SH): Don't use characters ranges.
From Paul Eggert.
2001-09-23 17:16:43 +00:00
Akim Demaille
f69035452d * bin/autom4te.in (@my_warning): Remove, handled by `autom4te.cfg'. 2001-09-23 17:16:28 +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
Tim Van Holder
79bc254fde * bin/autoscan.in: Add 'exec-perl-if-not-run-by-perl'.
* bin/autoupdate.in: Ditto.
* bin/autoheader.in: Reworded a few comments.
* bin/autoconf.in: Reworded help text for a few options.
* bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in,
* bin/autoscan.in, bin/autoupdate.in: Ditto.
2001-09-20 14:55:49 +00:00
Akim Demaille
c737451f8c * bin/ifnames.in: Rewrite in Perl.
* configure.ac: Don't look for AWK.
* tests/tools.at (AWK portability): Remove.
(Syntax of the shell scripts): Don't check ifnames.
(AT_CHECK_PERL_SYNTAX): New.
(Syntax of the Perl scripts): Check ifnames.
* tests/ifnames: New.
2001-09-13 06:54:35 +00:00
Akim Demaille
5fd6e6f70a * bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5
doesn't neutralize SIGINT, making autoconf etc. non interruptible.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Move the package
related variables into `at_package_*'.
* lib/autotest/general.m4 (AT_VICTIMS): New.
(AT_INIT): Adjust for stand-alone/embedded test suites.
(AS_MESSAGE_LOG_FD): Define and use it.
* tests/suite.at (AT_VICTIMS): Use it.
* tests/tools.at (autoupdating AC_PREREQ): Don't depend upon
at_version.
2001-09-07 08:26:57 +00:00
Akim Demaille
15d0a48936 * bin/autom4te.in: --language is -l, not -s. 2001-09-05 07:48:11 +00:00
Akim Demaille
7d6abb82f3 Be ready to handle filenames as stupid as `dnl.at', for if even
the maintainer is dumb enough to do that...
* lib/autotest/general.m4 (AT_SETUP, AT_LINE): Demonstrates your
excellence in M4 quotation: consider `__file__' is active.
And BTW, when invoking m4, pass the --include in the right order:
the wrong one.
* bin/autom4te.in, bin/autoupdate.in: Use reverse when kingtal to
4m.
2001-09-05 07:06:58 +00:00
Akim Demaille
d134e3aa8d * lib/Autom4te/XFile.pm: New lib file.
* bin/autoupdate.in, bin/autoscan.pl, bin/autom4te.in,
* bin/autoheader.in: Use it.
2001-09-05 07:06:40 +00:00
Akim Demaille
32672ba4a6 * bin/autoupdate.in (&handle_m4_macros) <unm4.m4>: Undefine iff
defined.
2001-09-05 07:06:18 +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
2d55f8a447 CVS GNU M4 doesn't like `undefine(undefined)'.
* bin/autoupdate.in (&handle_m4_macros, &handle_autoconf_macros):
New, extracted from main.
Use IO::File wherever possible.
(input.m4): Be constant, use -I instead of hard coding $tmp.
Therefore be a quoted heredoc.
Don't invoke `_au_disable', since ac was not loaded, but just
`unm4.m4'.
2001-09-05 07:04:02 +00:00
Akim Demaille
ff07c5ffe4 * doc/autoconf.texi (Quadrigraphs): Document `@&t@'.
(testsuite Scripts): There is no such thing as `atconfig.in'.
And actually one diagram is missing: test suite runtime.
2001-08-31 13:36:05 +00:00
Akim Demaille
daa8455624 * bin/autoupdate.in (@include): `installcheck' revealed the path
to m4sugar was lacking!
2001-08-31 13:35:17 +00:00
Akim Demaille
bf0d5c6195 * bin/autom4te.in (&parse_args): Strip .' from @include'.
* bin/autoupdate.in: Use --include, -I, and --force, -f, too.
Use directly autom4te, not autoconf.
* tests/autoupdate: $top_srcdir/lib is needed too for melt files.
2001-08-31 13:34:30 +00:00
Akim Demaille
0e30eb6fc9 * tests/semantics.at (AC_C_BIGENDIAN): Missing eol.
* bin/autoheader.in (%symbol): Strip arguments of macros.
2001-08-31 13:34:01 +00:00
Akim Demaille
1776c542d1 * bin/autom4te.in (&parse_args): Die on unknown languages.
* bin/autoheader.in: Run directly autom4te --mode=autoconf, no
need for autoconf.
Promote --include over --macrodir and other obsolete options.
2001-08-31 13:33:26 +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
d7d052d158 * bin/autoheader.in: Rewrite in Perl.
* tests/autoheader: Adjust.
2001-08-31 13:32:13 +00:00
Akim Demaille
cd0e85de14 * bin/autoconf.in (--include, -I): New option.
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.
2001-08-31 13:31:54 +00:00
Akim Demaille
d19fa10fd6 * bin/autoconf.in: Don't bother with acsite.m4' and aclocal.m4'.
* 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?'.
2001-08-31 13:31:37 +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
8f108edc8e * bin/autom4te.in, lib/autom4te.in, bin/autoconf.in:
s/--set/--language/.
2001-08-29 13:30:27 +00:00
Akim Demaille
0b057944a7 * bin/autom4te.in (&handle_output): s/@__@/@&t@/.
Suggested by Paul Eggert.
2001-08-29 13:11:16 +00:00
Akim Demaille
6acd8f5313 * lib/autom4te.in: New.
* 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.
2001-08-29 09:52:49 +00:00
Akim Demaille
ba3b08af20 Automake 1.5.
* 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.
2001-08-27 07:12:16 +00:00
Akim Demaille
f827e95708 Provide a mean to ``AC_PREREQ'' for M4sugar, M4sh and Autotest.
* lib/autoconf/version.in: Remove.
* lib/m4sugar/version.in: New.
* lib/m4sugar/m4sugar.m4 (m4_acversion, m4_version_prereq): New.
Adjust callers.
* bin/autoupdate.in: Distinguish M4sugar vs. Autoconf macros by
the name of the directory they're in, instead of the filename,
since version.m4 is now in m4sugar, but m4_acversion must not be
classified as an Autoconf macro.
($input_m4): Don't qualify the path to m4sugar.
Rather, pass autoconf_dir to m4.
* tests/Makefile.am (testsuite): Remove -I top_srcdir, unneeded.
* tests/suite.at: Require 2.52c.
2001-08-27 07:08:56 +00:00
Akim Demaille
22d6c214ea * bin/autom4te.in (handle_output): Handle @__@. 2001-08-20 14:44:26 +00:00
Akim Demaille
d69c3d31b4 * bin/autom4te.in (&parse_args): Recognize --normalize. 2001-08-17 12:38:53 +00:00
Akim Demaille
80001aa3dc * bin/autom4te.in: --normalize is a new option.
* bin/autoconf.in: Use it.
2001-08-17 12:06:56 +00:00
Akim Demaille
40556ab827 * bin/Makefile.am, lib/Autom4te/Makefile.am, lib/autoconf/Makefile.am
* lib/autotest/Makefile.am, lib/m4sugar/Makefile.am: Add TAGS support.
2001-08-17 12:06:44 +00:00
Akim Demaille
283bf6a536 * bin/autom4te.in (@m4_warning): New.
(&handle_m4): Use it.
* tests/m4sugar.at (m4_warn): Pass `-f' to autom4te to ensure the
warnings are issued at each run.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): M4sugar
is in the src tree.
2001-08-15 07:49:59 +00:00
Akim Demaille
14a3c0c717 * bin/autom4te.in (&handle_output): Don't use `grep' with side
effects.
Suggested by Russ Allbery.
2001-08-10 07:48:09 +00:00
Akim Demaille
0b0cae0fed * bin/autom4te.in ($icache): Load it only if older than autom4te. 2001-08-09 10:27:40 +00:00
Akim Demaille
dbf7fc61b5 * bin/autoconf.in, bin/autoheader.in: --force, -f is a new option. 2001-08-07 07:55:07 +00:00
Akim Demaille
bbfdf23a93 Don't rely on M4sugar outputting the patterns in files, since we
might process the output _without_ running m4, hence without these
files.
* lib/m4sugar/m4sugar.m4 (m4_init): No need for `m4_tmpdir'.
* bin/autom4te.in (@Request::includes): Remove, unused.
(@Request::source): Rename as...
(@Request::input): this.
(@preselect): Add `m4_pattern_forbid' and `m4_pattern_allow'.
(&handle_output): Fetch the patterns from the traces.
`$forbidden' and `$allowed' are constant: use m//o.
(&handle_m4): M4sugar no longer wants `m4_tmpdir'.
(m4_pattern_forbid, m4_pattern_allow): Adjust for tracing only.
2001-08-04 13:16:47 +00:00
Akim Demaille
f12c18c780 autoconf && autoheader' is sped up. Now, speed up autoheader &&
autoconf', i.e., in addition to caching traces, cache the output.
* bin/autom4te.in (Request::cache): Rename as...
(Request::id): this.
($cache, $icache, $tcache, $ocache): New.
(&handle_m4): Save M4 output in the cache instead of $tmp.
(&handle_output): Adjust.
(&up_to_date_p): Check that the output cache is up to date too.
(top level): Run `&handle_m4' iff force or the cache is invalid.
Run `&handle_output' if the output cache is more recent.
2001-08-04 13:16:30 +00:00
Akim Demaille
337c1e9594 * bin/autom4te.in ($force): New.
(&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.
2001-08-04 13:16:15 +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
4eea9f6530 Autom4te shall not encode Autoconf data, and preselecting traces
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.
2001-08-04 13:14:10 +00:00
Alexandre Duret-Lutz
8fffbbe523 * bin/autom4te.in (handle_traces): Fix rewriting of traces without 2001-08-03 15:22:34 +00:00
Akim Demaille
01f2ae88a0 * bin/autoconf.in ($@): Work around the usual sh bug.
From Nicolas Joly.
2001-08-03 09:23:34 +00:00