Commit Graph

68 Commits

Author SHA1 Message Date
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
Akim Demaille
9229a5416d * autoscan.pl: Formatting changes.
Check `configure.ac' or `configure.in' if present.
2001-01-22 19:04:00 +00:00
Akim Demaille
2711ab3056 * autoscan.pl (&wanted): Don't register `Makefile' when
`Makefile.in' is present.
Factor the simplification of $name.
(&scan_makefile, &scan_sh_file): Instead of counting the number of
occurrences where a program/makevar is wanted, register	file:line.
Adjust the verbose output.
(&check_configure_ac): Report the location where the macro is required.
2001-01-22 19:01:40 +00:00
Akim Demaille
85065e6ad0 * autoscan.pl: Instead of undefined globals, set them to empty
values.
(%needed_macros): New.
(&check_configure_ac): New.  Call it.
(&output_libraries): Eve out from &output_programs.
(&print_unique): For the time being register in %needed_macros
only argument less macros.
2001-01-22 19:01:23 +00:00
Akim Demaille
e2e36c55ce * Makefile.am (editpl, editsh): Merge into...
(edit).
* m4sh.m4 (AS_UNAME): Eved out from...
* acgeneral.m4 (_AC_INIT_DEFAULTS): here.
(_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME.
(_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables.
Propagate their use in the executables and the test suite.
* tests/atgeneral.m4 (PATH): Include only absolute paths.
(AT_INIT): Use AS_UNAME.
2001-01-16 10:25:57 +00:00
Akim Demaille
5058e82d54 * acgeneral.m4: Last changes for `configure.ac'.
(_AC_INIT_HELP, _AC_OUTPUT_SUBDIRS): Take `configure.ac' into
account.
* autoreconf.sh: Likewise.
2001-01-12 09:19:59 +00:00
Pavel Roskin
7173ba3da5 * autoscan.pl (init_tables): Allow spaces on the right hand side
in autoscan tables. Die if there are no spaces at all.
(scan_c_file): Use b instead of W so that keywords match at
the beginning and the end of the line.
(scan_sh_file): Likewise.
(scan_makefile): Likewise. Use B to match before `-l'.
(output): Suggest AC_CONFIG_HEADER if any C/C++ sources are
found.
* acidentifiers: Update macros for structure members st_blksize
and st_rdev.
2000-12-12 12:45:41 +00:00
Pavel Roskin
fddcd13579 * autoscan.pl (scan_files): Eliminate a warning if no C files
are found.
(output): Likewise. Use AC_CONFIG_SRCDIR and AC_CONFIG_FILES
instead of old-style arguments for AC_INIT and AC_OUTPUT.
2000-11-10 15:49:15 +00:00
Akim Demaille
1e3cdfe0a3 * acgeneral.m4: Adjust copyright notice.
* acspecific.m4: Likewise.
* acoldnames.m4: Likewise.
* acversion.m4.in: Likewise.
* autoconf.sh: Likewise.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
* autoscan.pl: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Likewise.
2000-10-16 18:25:55 +00:00
Akim Demaille
287ac9cdb8 * autoscan.pl: Repair broken Getopt::Long use. 2000-09-04 14:50:50 +00:00
Akim Demaille
83afb4f7ce * autoscan.pl: Be ready to handle AC_CHECK_TYPES requests.
Quote properly the output.
Remove useless backslashes.
2000-08-01 11:12:12 +00:00
Akim Demaille
4d600514e0 * autoscan.pl: Use Getopt::Long;
* acidentifiers: Classify, sort.
2000-08-01 10:05:11 +00:00