Commit Graph

79 Commits

Author SHA1 Message Date
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
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
Paul Eggert
d4116a3b2f Use 'case' statement to work around "$@" shell problem. 2002-04-19 18:59:59 +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
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
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
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
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
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
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
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
Akim Demaille
b21ca4dd20 * acfunctions.m4: Rename as...
* lib/autoconf/functions.m4: this.
* acgeneral.m4: Rename as...
* lib/autoconf/general.m4: this.
* acheaders.m4: Rename as...
* lib/autoconf/headers.m4: this.
* aclang.m4: Rename as...
* lib/autoconf/lang.m4: this.
* acoldnames.m4: Rename as...
* lib/autoconf/oldnames.m4: this.
* acspecific.m4: Rename as...
* lib/autoconf/specific.m4: this.
* actypes.m4: Rename as...
* lib/autoconf/types.m4: this.
* autoconf.m4: Rename as...
* lib/autoconf/autoconf.m4: this.
* m4sugar.m4: Rename as...
* lib/m4sugar/m4sugar.m4: this.
* m4sh.m4: Rename as...
* lib/m4sugar/m4sh.m4: this.
* tests/atgeneral.m4: Rename as...
* lib/autotest/general.m4: this.
* acfunctions: Rename as...
* lib/autoscan/functions: this.
* acheaders: Rename as...
* lib/autoscan/headers: this.
* acidentifiers: Rename as...
* lib/autoscan/identifiers: this.
* aclibraries: Rename as...
* lib/autoscan/libraries: this.
* acmakevars: Rename as...
* lib/autoscan/makevars: this.
* acprograms: Rename as...
* lib/autoscan/programs: this.
2001-08-01 13:46:22 +00:00
Akim Demaille
beaa477c90 * autoscan.in: Use IO::File.
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.
2001-07-14 14:19:19 +00:00
Akim Demaille
d026b456c5 * autoscan.in (&scan_makefile): Improve programs regexp to parse
things like "g++", "file.c" and "some-conf" as tokens.
(&scan_file): Match C++ files extensions.
If the filename extension is C++ then ask for c++.
2001-07-10 09:16:33 +00:00
Akim Demaille
043dcc81de * autoscan.in (&scan_file): Skip FILE if there is FILE.in.
From Jens Petersen.
2001-07-04 07:45:12 +00:00
Akim Demaille
02adf2d812 * autoscan.in ($initfile): Remove.
(&find_file): Rename as...
(&scan_file): this.
Immediately scan the current file, instead of gathering them, and
later having them handled by &scan_files.
(&scan_files): Merely invoke Find::File.
Adjust.
2001-07-03 14:11:06 +00:00
Akim Demaille
4155128221 * autoscan.in: Formatting changes, matching the invocation order.
(File::Find): Use it instead of Perl 4's `find.pl'.
(&wanted): Rename as...
(&find_file): this.
2001-07-03 14:10:41 +00:00
Akim Demaille
80dc65a8a0 * autoscan.in (%macro): Now maps from word to list of macros.
(&init_tables): Die when a word which is already handled by
explicit macros is mapped to the default macro.
(&print_unique): Remove, inlined in...
(&output_kind): here.
(File::Basename): Use it.
(&output): Sort the CONFIG_FILES.
* acheaders: Normalize.
* acfunctions: Likewise.
2001-06-25 06:15:07 +00:00
Akim Demaille
9d948a65ed * autoscan.in (&output_kind): Output the comment only if it exists.
(%kind_comment): Add entry for `programs'.
(&output_programs): Use &output_kind.
(&output_functions, &output_identifiers, &output_headers)
(&output_programs): Inline, and remove.
2001-06-12 10:16:49 +00:00
Akim Demaille
49ee5178ef * autoscan.in (%kind_comment): New.
(output_kind): New.
(output_functions, output_identifiers, output_headers): Use it.
2001-06-12 10:05:27 +00:00
Akim Demaille
00e2194dad * autoscan.in (&print_unique): Take $kind' and $word' as
arguments, to factor indirections into `%macro' and `%used'.
(%generic_macro): Fix a typo.
2001-06-12 09:45:01 +00:00
Akim Demaille
54a953b733 * aclibraries: New.
* autoscan.in (@kinds): Add `libraries'.
Use `@kinds' instead of hard coded lists.
(%programs, %headers, %identifiers, %makevars, %libraries, %functions):
Remove, replaced by...
(%used): this.
2001-06-12 09:33:58 +00:00
Akim Demaille
c306314db9 * autoscan.in (%functions_macros %headers_macros)
(%identifiers_macros %programs_macros %makevars_macros): Remove,
replaced by...
(%macro): New.
2001-06-12 08:40:02 +00:00
Akim Demaille
f27d468f90 * autoconf.in, autoreconf.in, autoheader.in, autoscan.in, ifnames.in,
* autoupdate.in: Specify the Emacs mode.
* acversion.m4.in: Rename as...
* acversion.m4: this.
* tests/Makefile.am (CLEANFILES): More garbage.
2001-05-22 14:04:22 +00:00
Akim Demaille
260929dc38 * autoscan.pl, autoupdate.in: Use use' instead of require' to
require some version of Perl, so that the test is performed at
compile time, not run time.
Suggested by Nicolas Joly.
2001-03-13 18:15:58 +00:00
Akim Demaille
3fd60be7b0 * autoscan.pl (&find_configure_ac): New. 2001-02-21 08:47:16 +00:00
Akim Demaille
a70d38879b * autoscan.pl (check_configure_ac): Pretty missing macro warnings
output.
2001-02-20 09:24:40 +00:00
Jim Meyering
d33b855c6c Misc. clean-up:
Move declarations of variables into the scope where they're used.
Use `qw'.  Don't use `$_'.
2001-02-11 17:15:03 +00:00
Jim Meyering
3e1011933f Ensure that even `autoscan --version' fails when e.g.,
writing to a full disk.

(END): New function.
2001-02-11 16:38:44 +00:00
Pavel Roskin
9c5fe516c9 * autoscan.pl (scan_c_file): When in verbose mode, don't print
out hashes common for the whole package. Do it in scan_files()
instead.
(scan_makefile): Likewise.
(scan_sh_file): Likewise.
Thanks to Jim Meyering for improved implementation.
2001-02-02 18:15:36 +00:00
Akim Demaille
6eaa0cd781 * autoscan.pl: Do scan `configure.ac' when you claim it.
From Raja R Harinath.
(@kinds): Use `qw', rather than lots of quotes and commas.
(%generic_macro): Use single quotes around literals.
($configure_scan): Define global, and use it instead of the literal.
Use `warn' in place of `printf STDERR'.
2001-01-29 09:50:01 +00:00
Akim Demaille
8af30c8986 * autoscan.pl: `Formatting++' changes: prototypes all the
functions, no longer use `&' to call functions as it disables
prototype checking, topological sort so that functions are defined
before being used, and put an Autoconf like nice comment to
describe the functions.
(output): Accept an CONFIGURE_SCAN parameters, and open CONF.
2001-01-29 09:24:13 +00:00
Akim Demaille
f2f63c8cb6 * autoscan.pl (output): Detect/report a close failure. 2001-01-24 17:44:59 +00:00
Akim Demaille
4c23c729fa * autoscan.pl (generic_macro): s/AC_CHECK_FUNCTIONS/AC_CHECK_FUNCS/.
* acfunctions: Just like the previous patch.
2001-01-24 07:58:59 +00:00
Akim Demaille
b6c86b528a * autoscan.pl (@kinds, %generic_macro): New.
(&init_tables): Use them.
* acheaders: Run `autoconf -t AC_CHECK_HEADERS:'$1'' on the fileutils,
and include all these headers in here.
Don't specify `AC_CHECK_HEADERS' as it's the default.
2001-01-24 07:58:46 +00:00
Akim Demaille
c0e271d2a6 * autoscan.pl: Just like the previous patch, but for
AC_CHECK_FUNCS, AC_CHECK_TYPES, and AC_CHECK_MEMBERS.
2001-01-24 07:58:31 +00:00
Akim Demaille
a29dd40a44 * autoscan.pl (print_unique): Push all the macro invocation
locations.
(output_headers): For headers that need to be checked, push either
the specialized macro, or the generic macro call.
(check_configure_ac): Handle AC_CHECK_HEADERS.
2001-01-24 07:58:16 +00:00
Akim Demaille
8538546df6 * autoscan.pl: Don't use `defined' to check whether an array is
defined.
Don't use parens with `defined'.
2001-01-23 10:28:29 +00:00
Pavel Roskin
487edb489f * autoscan.pl: Use "use strict". Declare all global variables
or make them private. Make all local variables private.
(find_autoconf): New, moved some code from the top level.
Use %ENV outside quotes to eliminate a warning.
2001-01-22 20:21:33 +00:00
Akim Demaille
2b4643604b * autoscan.pl ($dir, $autoconf): New. 2001-01-22 19:05:16 +00:00
Akim Demaille
c3aa22ab53 * autoscan.pl ($headers, $functions, $identifiers, $libraries):
Also register locations of their requirement instead of a simple
counter.
(&check_configure_ac): Close TRACES.
2001-01-22 19:04:47 +00:00