Commit Graph

5347 Commits

Author SHA1 Message Date
Ralf Wildenhues
97a91204c0 Provide a helpful message if autopoint or libtoolize do not exist.
* lib/Autom4te/FileUtils.pm (handle_exec_errors): New argument
$hint, show if the executing program does not exist.
(xsystem_hint): New function, like xsystem but allows to pass
a hint.
* bin/autoreconf.in: Use xsystem_hint for spawning autopoint and
libtoolize.
Report by Bruce Korb.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-17 06:59:44 +01:00
Stepan Kasal
4c32cbb30f * tests/fortran.at, tests/mktests.sh, tests/wrapper.as: Fix typos. 2008-03-14 15:33:35 +01:00
Stepan Kasal
2d9b62b11d * lib/Autom4te/ChannelDefs.pm: Fix typos. 2008-03-14 14:59:58 +01:00
Jim Meyering
e30dffd714 Use a more general GNUmakefile.
* GNUmakefile: Sync from coreutils.
* Makefile.am (EXTRA_DIST): Add GNUmakefile.cfg.
* GNUmakefile.cfg: New file.
2008-03-13 22:16:52 +01:00
Eric Blake
3c108e5e9d Fix yesterday's regression in m4_wrap([$1]).
* lib/m4sugar/m4sugar.m4 (_m4_wrap): Don't directly invoke wrapped
text, since it may contain text that looks like parameters.
* tests/m4sh.at (AS@&t@_INIT cleanup): Enhance test.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-11 20:05:49 -06:00
Eric Blake
21ba57f840 Improve error messages for common testsuite bugs.
* lib/autotest/general.m4 (_AT_DEFINE_INIT, _AT_DEFINE_SETUP): New
macros for defining order-enforced macros.
(AT_INIT, AT_SETUP, AT_CLEANUP, AT_BANNER, AT_XFAIL_IF)
(AT_CAPTURE_FILE, AT_DATA, AT_CHECK, AT_CHECK_NOESCAPE): Add error
messages when order violations are detected.
* tests/autotest.at (AT_CHECK_AT_SYNTAX): New helper macro.
(AT_SETUP without AT_INIT, AT_BANNER without AT_INIT)
(AT_CLEANUP without AT_INIT, Missing AT_CLEANUP)
(AT_CHECK without AT_SETUP, AT_DATA without AT_SETUP)
(AT_XFAIL_IF without AT_DATA, AT_KEYWORDS without AT_SETUP,
(AT_CLEANUP without AT_SETUP, AT_BANNER inside AT_SETUP)
(AT_SETUP inside AT_SETUP, Multiple AT_INIT)
(Banner-only test suite): New tests.
Reported by Christopher Hulbert.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-11 18:58:33 -06:00
Eric Blake
39ed7a3e19 Tweak m4_wrap to force FIFO or LIFO semantics.
* lib/m4sugar/m4sugar.m4 (m4_wrap): Override M4 implementation.
(m4_wrap_lifo, _m4_wrap): New macros.
* lib/m4sugar/m4sh.m4 (AS_INIT): Combine all cleanup into known
order, prior to m4sugar's.
(_AS_DETECT_BETTER_SHELL): Use cleanup parameter, rather than
m4_wrap.
* lib/autotest/general.m4 (AT_INIT): Combine all cleanup into
known order, prior to m4sh's.
* doc/autoconf.texi (Diagnostic Macros) <m4_fatal>: Document
argument.
(Redefined M4 Macros) <m4_wrap>: Rewrite documentation to match
new behavior.
* tests/m4sh.at (AS_INIT cleanup): New test.
* NEWS: Document the change.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-11 18:58:31 -06:00
Eric Blake
f79a05503d Encode nested autotest data.
* tests/autotest.at (AT_CHECK_AT_PREP): Avoid raw AT_ in output.
(unusual file names): Likewise.
(m4_pattern_allow): Remove loophole, to make it easier to catch
poorly written tests.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-10 21:02:11 -06:00
Eric Blake
24093173fd Factor some autotest tests.
* tests/autotest.at (AT_CHECK_AT_PREP): New macro, to factor out
common initialization.
(AT_CHECK_AT, Banners, Keywords and ranges, srcdir propagation)
(whitespace in absolute testdir, unusual file names): Use it.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-10 20:48:02 -06:00
Eric Blake
fd8b6f4727 Minor documentation fix.
* doc/autoconf.texi (Evaluation Macros): Fix typo.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-06 08:20:48 -07:00
Eric Blake
f2ebc5bc44 Make AT_CHECK act like a simple command.
* lib/autotest/general.m4 (_AT_CHECK): Wrap commands in {;}.
* tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Test it.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 16:33:31 -07:00
Ralf Wildenhues
ac17e815dc On MinGW, substitution of CR and 0xFF fails.
* tests/torture.at (Substitute and define special characters):
MinGW awk cannot handle 0xFF, and on MinGW, the test does the
wrong thing for CR.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-04 23:52:07 +01:00
Eric Blake
6f8e57e72f Pull in recent maintainer improvements from coreutils.
* GNUmakefile (_is-dist-target): 'make distclean' should not
trigger autoreconf.
(_dummy): Change directories before removing autom4te.cache.
(check dist distcheck install) [!_have-Makefile]: Provide nicer
diagnostics.
* configure.ac (AC_CONFIG_LINKS): Copy GNUmakefile into VPATH
builds, after initial bootstrap.
* Makefile.am (distclean-local): Work around current automake bug.
* Makefile.maint (ME): Allow VPATH usage.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 15:38:26 -07:00
Eric Blake
f687ca65ea Use git-merge-changelog when available.
* .gitattributes: New file.
* README-hacking: Document use of git-merge-changelog.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 15:13:25 -07:00
Eric Blake
53a1ce8ff8 Work around cygwin bug.
* tests/atlocal.in (unsupported_fs_chars): Avoid cygwin bug where
"touch 't\'" creates regular file 't'.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 15:05:46 -07:00
Eric Blake
9eb6a5986a Ignore tests that require read-only directories under root.
* tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Skip
no-write portion if user has root-like privileges.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 15:05:45 -07:00
Ralf Wildenhues
cd4eae6962 * lib/autotest/general.m4 (AT_INIT): Fix detection of '-C -'. 2008-03-04 07:38:09 +01:00
Ralf Wildenhues
af562c9a73 autoreconf -m now honors $MAKE.
* bin/autoreconf.in ($run_make): Renamed from ...
($make): ... this.  Use now as command to run `make',
overridden by $MAKE.  Document this in --help output.
* doc/autoconf.texi (autoreconf Invocation): Document
all environment variables honored by autoreconf.
* NEWS: Update.
Report by Paul Eggert.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-03 23:53:44 +01:00
Eric Blake
e3d1e29bc3 Documentation improvements.
* doc/autoconf.texi (Looping constructs): s/recurses/repeats/.
(Evaluation Macros): Drop `1' suffix from metasyntax variable name
that preceeds @dots.  Improve wording.
(Text processing Macros): Drop `1' suffix from metasyntax variable
name that preceeds @dots.
(Number processing Macros): Drop `1' suffix from metasyntax
variable name that preceeds @dots.  Improve wording.
* lib/m4sugar/m4sugar.m4 (m4_cmp): Comment wording fix.
Suggested by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-03 06:29:00 -07:00
Jim Meyering
8f9301b737 Don't infloop upon "make dist".
* GNUmakefile: Merge from coreutils.
* Makefile.am (dist-hook): Inject .tarball-version into tarball,
not .version.
* configure.ac (AC_INIT): Use .tarball-version, not .version.
* build-aux/git-version-gen: Update from gnulib.
2008-03-02 22:28:04 +01:00
Ralf Wildenhues
8b318e8487 * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
Before using /dev/full, check that it is a writable character
special device.
Report by Benoit Sigoure and Eric Blake.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-02 14:14:44 +01:00
Ralf Wildenhues
ad236d83f7 Actually test that @configure_input@ is expanded correctly.
* tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
Actually check generated file contents for the name of the
generated file, using AC_PROG_FGREP and $FGREP.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-02 13:13:46 +01:00
Benoit Sigoure
7559c93d38 Be nice with file systems that don't handle unusual characters.
* tests/atlocal.in (func_sanitize_file_name)
	(func_sanitize_dir_name): New shell functions.
	* tests/tools.at (autom4te and whitespace in file names)
	(autotools and whitespace in file names): Use them.
	* tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
	Cover more potentially problemtic file names.  Use the new
	functions.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-02 13:03:10 +01:00
Benoit Sigoure
2abed75dde Properly handle funny file names for headers in config.status.
The test suite did not cover this bug because the code was not
	quoting properly the arguments of `rm -f' (which "fails" silently)
	as well as the arguments of `diff' (whose output was redirected to
	/dev/null so we couldn't see its error message).
	* lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Properly quote the
	file names passed to `rm' and `diff'.
	* tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
	Add a regression test.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-02 13:00:23 +01:00
Benoit Sigoure
c197dc8d27 Properly expand @configure_input@ in config.status.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILE, _AC_OUTPUT_MAIN_LOOP):
Escape the backslashes and ampersands in $configure_input before
using it in the sed replacement string to expand @configure_input@.
Report by Eric Blake and Patrick Welche.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-03-02 12:50:55 +01:00
Ralf Wildenhues
32980cdc2d Add ChangeLog entry for last commit. 2008-03-02 12:16:06 +01:00
Ralf Wildenhues
bac71a40b9 Ignore errors from ./run on w32.
* tests/autotest.at (whitespace in absolute testdir):
Ignore stderr for `./run' which fails to remove the
busy test directory on w32.
2008-03-02 11:24:46 +01:00
Eric Blake
01a17a6664 Improve documentation for writing autotest suites.
* doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Mention that
checks must live inside a test group.
Reported by Christopher Hulbert.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-22 16:30:39 -07:00
Eric Blake
bf39a653c6 Sync git-version-gen from upstream.
* build-aux/git-version-gen: Pull from gnulib.
* configure.ac (AC_INIT): Adjust to new calling convention.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-21 07:55:13 -07:00
Eric Blake
49ffd6c9c1 Avoid trailing space in config.h with AC_DEFINE([var], []).
* lib/autoconf/general.m4 (_AC_DEFINE_Q): Explicitly mark empty
defines with a comment.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-12 08:49:59 -07:00
Eric Blake
e93d422b9e Fix texinfo typos in previous patch.
* doc/autoconf.texi (Site Defaults): s/[{}]/@&/g.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-08 08:35:27 -07:00
Eric Blake
52a9605272 Describe a config.site that can be used for FHS compliance.
* doc/autoconf.texi (Site Defaults): Fix typo.  Add new example
for FHS.
* THANKS: Update.
Reported by Jules Colding and Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-08 08:15:22 -07:00
Eric Blake
8957ad82aa * doc/autoconf.texi (Limitations of Usual Tools) <grep>: Fix typo.
Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-02 16:38:23 -07:00
Ralf Wildenhues
c573f843cc Fix autotest --clean, and make it work with `-C dir'.
* lib/autotest/general.m4 (AT_INIT): Fix --clean to work
again, broken since introduction of `-C dir'.
* tests/autotest.at (Choosing where testsuite is run): Test it.
2008-02-02 00:10:25 +01:00
Paul Eggert
7121e5b63d * doc/autoconf.texi: Update Back-Cover text to reflect new GNU wording. 2008-01-30 16:48:07 -08:00
Eric Blake
81e79b1cb4 Fix more autotest regressions.
* lib/autotest/general.m4 (AT_LINE): Fix regression from
2007-10-04 when file name is `dnl'.
(AT_INIT) <PREPARE_TESTS>: Move command-line assignments...
<TESTS_BEGIN>: ...to this new diversion, to fix regression from
yesterday in libtool's testsuite.
(_AT_ARG_OPTION): Detect write failure.
* doc/autoconf.texi (Diversion support): Document PREPARE_TESTS to
make libtool's use kosher.  Document m4_init.
(Programming in M4sh): Document AS_INIT.
(Writing Testsuites): Document limitation of AT_DATA file name.
* tests/autotest.at (unusual file names): New test.
(Banners, Keywords and ranges): Use correct shell.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-29 16:56:36 -07:00
Eric Blake
66b8003184 More corner cases in testsuite VAR=VALUE handling.
* lib/autotest/general.m4 (AT_INIT) <PREPARE_TESTS): Fix quoting
bug.
<PARSE_ARGS_END>: Also detect leading digits in assignments.
* tests/autotest.at (Using atlocal): Enhance test to catch last
bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-29 10:24:12 -07:00
Eric Blake
9935105de6 * doc/autoconf.texi (Limitations of Builtins) <.>: Mention bash bug.
Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-29 07:45:10 -07:00
Eric Blake
372769ca9e Fix regression in handling VAR=VALUE arguments to testsuite.
* lib/autotest/general.m4 (AT_INIT) <PARSE_ARGS_END>: Detect
leading = as invalid.  Defer use of command-line variable
assignments...
<PREPARE_TESTS>: ...here, after atconfig has been sourced.  Fix
regression in sourcing files.
* tests/autotest.at (Using atlocal): New test to catch this.
(Debugging a successful test, Choosing where testsuite is run):
Use correct shell.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-28 22:49:22 -07:00
Eric Blake
a0d6f350fe * doc/autoconf.texi (Limitations of Usual Tools) <grep>: Document
BSD behavior on binary input.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-28 19:14:27 -07:00
Eric Blake
c6c22af0e7 Minor testsuite improvements.
* lib/autotest/general.m4 (AT_INIT) <PREPARE_TESTS>: Use fewer
forks when sanitizing PATH.  Always output machine information,
not just when atconfig was located.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-28 07:02:43 -07:00
Eric Blake
b91a600e7f Add 'testsuite -C dir'.
* lib/autotest/general.m4 (_AT_ARG_OPTION): Move missing argument
detection...
(AT_INIT) <PARSE_ARGS_END>: ...here, since -k always takes
argument.
<DEFAULTS>: Delay computation of variables based on $at_dir...
<PREPARE_TESTS>: ...to here, since -C can change $at_dir.
<TESTS>: Re-invoke via absolute name, since -C may be in effect.
<PARSE_ARGS>: Parse new option.
<HELP_TUNING>: Document it.
* tests/autotest.at (Choosing where testsuite is run): New test
for this feature.
(Keywords and ranges): Add test for missing -k argument.
* NEWS: Document this.
* doc/autoconf.texi (testsuite Invocation): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-28 06:57:46 -07:00
Ralf Wildenhues
7882bbbed4 Sync upstream files from gnulib.
* build-aux/config.guess, build-aux/config.sub,
build-aux/texinfo.tex: Sync from gnulib.
* doc/fdl.texi, doc/make-stds.texi, doc/standards.texi:
Likewise.
2008-01-24 19:35:56 +01:00
Ralf Wildenhues
022a124034 * doc/autoconf.texi (Particular Programs): Do not mention the
Autoconf version in which the AC_PROG_INSTALL change was done.
Suggested by Paul Eggert.
2008-01-23 07:28:19 +01:00
Ralf Wildenhues
0fd647c636 Fix --help=recursive with multiple AC_CONFIG_SUBDIRS.
* lib/autoconf/general.m4 (_AC_INIT_HELP): If, for recursive help
mode, we change to the source directory, also set $ac_pwd so we
do not go back to the build tree for the next config subdir.
* tests/torture.at (Deep Package): Extend test to contain two
config subdirs on the top level.
2008-01-22 21:48:51 +01:00
Ralf Wildenhues
be86a1b921 Fix parallel `maintainer-check'.
* Makefile.am (maintainer-check-tests): Depend on `all'.
Use `$(MAKE) $(AM_MAKEFLAGS)' instead of plain `make'.
* tests/Makefile.am (maintainer-check-c++, maintainer-check-posix):
Likewise.
(maintainer-check): Serialize the testsuite runs.
2008-01-22 21:46:59 +01:00
Ralf Wildenhues
7fa2f766b8 Accept `+' in --enable and --with feature strings.
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE2): Accept `+'
in feature string for --enable/--with.  Convert to underscore
for variable name.
2008-01-22 21:40:50 +01:00
Ralf Wildenhues
4380a86978 AC_PROG_INSTALL: require installation of multiple files.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Require that
`install -c file1 file2 dir' works.
* doc/autoconf.texi (Particular Programs): Document this.
* NEWS: Update.
2008-01-22 07:00:44 +01:00
Eric Blake
0b2702981d Improve documentation about default include directives.
* doc/autoconf.texi (Generic Headers, Generic Declarations)
(Generic Structures, Generic Types)
(Generic Compiler Characteristics): Add links to
AC_INCLUDES_DEFAULT.
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-01-21 12:45:44 -07:00
Eric Blake
5df0aa5319 Merge branch 'master' of ericb@git.sv.gnu.org:/srv/git/autoconf 2008-01-21 12:16:02 -07:00