Akim Demaille [Mon, 28 Jan 2002 10:46:00 +0000 (10:46 +0000)]
* lib/autotest/general.m4 (AT_INIT): Don't be ridiculous: adjust
AUTOTEST_PATH *after* it was set.
Don't put `.' in the PATH: the user should be precise and `./' if
needed. In addition, given that the test suite does some `cd', if
`.' is in the path, the `tested programs' sections will report
programs found in the test suite's directory, while during the
tests (performed in their own directory), these programs are no
longer visible. In other words, the results is confusing and
useless.
* tests/m4sh.at: Adjust: don't rely on `.' being in the PATH.
Akim Demaille [Thu, 24 Jan 2002 17:53:52 +0000 (17:53 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Use PATH_SEPARATOR.
(_AS_PATH_SEPARATOR_PREPARE): Don't expect $SHELL to be
Bourne. Use /bin/sh.
From Andreas Buening.
Akim Demaille [Mon, 21 Jan 2002 13:00:52 +0000 (13:00 +0000)]
* 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.
Akim Demaille [Sun, 6 Jan 2002 20:48:25 +0000 (20:48 +0000)]
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't create
package.m4, since is really depends upon configure.ac, not
configure.
* doc/autoconf.texi (testsuite Scripts): Adjust.
* tests/Makefile.am (package.m4): New.
EXTRA_DIST it since its a source.
Akim Demaille [Sun, 6 Jan 2002 20:48:10 +0000 (20:48 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Move the AC_SUBST
of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING,
and PACKAGE_BUGREPORT from here...
(_AC_INIT_DEFAULTS): to here, since it is unrelated to the
arguments.
(_AC_INIT_PREPARE): AC_DEFINE these symbols.
* lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*.
(AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'.
* tests/tools.at (autoheader): Adjust.
* tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust.
Akim Demaille [Fri, 14 Dec 2001 18:06:28 +0000 (18:06 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): We cleaning up the
trailing files, don't apply `-rf' to files which might not be
created by configure (core, core.*, and *.core), but just `rm -f'.
Suggested by Jonathan Kamens.
Akim Demaille [Mon, 26 Nov 2001 10:52:46 +0000 (10:52 +0000)]
* 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.
Akim Demaille [Mon, 26 Nov 2001 10:52:31 +0000 (10:52 +0000)]
* tests/autoreconf.in, tests/autom4te.in, tests/autoupdate.in:
Remove, replaced by...
* tests/wrappl.in: Be common for all the Perl executables.
In particular autoscan and autoheader want -I.
* configure.ac: Adjust.
* lib/autoscan/headers: errno.h is portable.
Akim Demaille [Mon, 26 Nov 2001 10:51:29 +0000 (10:51 +0000)]
* 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.
Akim Demaille [Mon, 26 Nov 2001 10:51:14 +0000 (10:51 +0000)]
* 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.
Akim Demaille [Mon, 26 Nov 2001 10:50:36 +0000 (10:50 +0000)]
Test groups are now run two directories deeper.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Replace srcdir,
top_srcdir and top_builddir with at_srcdir, at_top_srcdir and
at_top_builddir.
* lib/autotest/general.m4 (AT_INIT): Compute srcdir,
top_srcdir, builddir and top_builddir.
Use `at_*dir' relatively to the directory containing the
suite, use `*dir' when relatively to the current group dir.
Paul Eggert [Fri, 16 Nov 2001 20:12:10 +0000 (20:12 +0000)]
This patch implements a `long double' suggestion by Oliver Kiddle.
* lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C)): Make the array
static, to catch errors if the value isn't known at compile-time
and the compiler supports dynamic arrays. Change its name from
`_array_' to `test_array' to avoid potential name clashes.
(AC_C_LONG_DOUBLE): Make it a compile-time test, not a run-time
test. Do not define HAVE_LONG_DOUBLE if `long double' is no
better than double. Catch a bug in GCC 2.95.2 x86.
* doc/autoconf.texi (C Compiler): Document the above.
* NEWS: Likewise.
Paul Eggert [Fri, 16 Nov 2001 20:09:58 +0000 (20:09 +0000)]
(AC_LANG_BOOL_COMPILE_TRY(C)): Make the array
static, to catch errors if the value isn't known at compile-time
and the compiler supports dynamic arrays. Change its name from
`_array_' to `test_array' to avoid potential name clashes.
(AC_C_LONG_DOUBLE): Make it a compile-time test, not a run-time
test. Do not define HAVE_LONG_DOUBLE if `long double' is no
better than double. Catch a bug in GCC 2.95.2 x86.
Akim Demaille [Tue, 13 Nov 2001 14:43:50 +0000 (14:43 +0000)]
* tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH)
(AT_DATA_AUTOCONF): Also protect @&t@ from autom4te.
(AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER): Pass no --include
option.
(AT_CHECK_CONFIGURE): Use absolute paths.
(_AT_CHECK_AC_MACRO): Create aclocal.m4 with AC_STATE_SAVE in it.
The problem is still the old one: there is no means in M4 (that I
know about) to create a defining macro, because there is no means
to create `$1' etc., therefore, the defining macro ``swallows''
all the arguments meant to the defined macro.
Akim Demaille [Tue, 13 Nov 2001 14:03:01 +0000 (14:03 +0000)]
* lib/autotest/general.m4: Change `tests?' into `groups?' in
variable names when referring to a single test group, or to
`suite' when referring to the whole test suite.
`at_last_test' is removed: m4 compute at_format itself.
(at_stdout, at_stder1, at_stderr): New variables.
(AT_CHECK): Use them.
Akim Demaille [Tue, 13 Nov 2001 13:15:48 +0000 (13:15 +0000)]
* lib/autotest/general.m4 (AT_INIT): Be sure to put `.', relative,
in PATH.
Create `testsuite.dir/003/run' instead of `testsuite.003'.
Do it as soon as a test fails, don't wait till the end of the test
suite.
Don't remove $as_me.[0-9]*, since these files no longer exist.
Akim Demaille [Tue, 13 Nov 2001 11:41:08 +0000 (11:41 +0000)]
Now that tests are running in their own private dir, there is no
need to list the files to remove at the end of tests groups.
* lib/autotest/general.m4 (_AT_CLEANUP_FILE, AT_CLEANUP_FILES):
(AT_data_files, at_data_files): Remove.
(AT_CLEANUP, AT_DATA): Simplify.
(AT_INIT): Adjust.
Remove the group dir if !debug && !failed.
* tests/atspecific.m4: Adjust.
Akim Demaille [Tue, 13 Nov 2001 11:39:14 +0000 (11:39 +0000)]
Start a new layout for Autotest: `testsuite' creates
`testsuite.dir' in which the at-check-line etc. files are to be
found, and `testsuite.dir/003' where the test group 3 is run.
* lib/autotest/general.m4 (AT_INIT): at_tests_dir,
at_check_line_file, at_format, at_test_normalized, at_group_dir
are new variables.
Create the directories.
Use absolute paths for at- files.
(AT_CHECK): Adjust.
Akim Demaille [Mon, 12 Nov 2001 16:08:52 +0000 (16:08 +0000)]
* lib/autoconf/c.m4, lib/autoconf/fortran.m4,
* lib/autoconf/functions.m4, lib/autoconf/general.m4,
* lib/autoconf/headers.m4, lib/autoconf/libs.m4,
* lib/autoconf/programs.m4, lib/autoconf/specific.m4,
* lib/autoconf/types.m4: When invoking AC_DEFINE and friends,
specify to what the macro should be defined (typically to 1).
Akim Demaille [Mon, 12 Nov 2001 08:59:54 +0000 (08:59 +0000)]
* lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Use
AC_TRY_EVAL to run $LEX, not AC_TRY_COMMAND. This validates the
definition used by Automake where LEX is +/- "${missing} lex" and
`missing' itself contains variables.
Akim Demaille [Thu, 8 Nov 2001 17:21:38 +0000 (17:21 +0000)]
* 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.
Akim Demaille [Thu, 8 Nov 2001 16:15:20 +0000 (16:15 +0000)]
* 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.
Akim Demaille [Sat, 3 Nov 2001 12:01:35 +0000 (12:01 +0000)]
* 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.
Akim Demaille [Sat, 3 Nov 2001 11:59:48 +0000 (11:59 +0000)]
* 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.
Akim Demaille [Sat, 3 Nov 2001 11:59:35 +0000 (11:59 +0000)]
* 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.
Akim Demaille [Fri, 2 Nov 2001 16:28:33 +0000 (16:28 +0000)]
* 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.
Paul Eggert [Thu, 1 Nov 2001 22:44:48 +0000 (22:44 +0000)]
(AS_SHELL_SANITIZE): _AS_CR_PREPARE needs to
be invoked before _AS_LINENO_PREPARE.
(_AS_LINENO_PREPARE): Use as_cr_digits and as_cr_alnum rather
than character ranges.