Eric Blake [Fri, 11 Jul 2008 14:55:15 +0000 (08:55 -0600)]
Work around M4 1.6 warning on undefined macros.
* lib/m4sugar/m4sugar.m4 (changeword, symbols): Don't rename if
not already available as builtins.
* bin/autoupdate.in (_au___undefine): New macro,...
(_au__undefine): ...wrapped by ifdef to silence m4 warnings.
Reported by Ralf Wildenhues.
Eric Blake [Fri, 4 Apr 2008 15:09:47 +0000 (09:09 -0600)]
Use GPLv2+ plus exception as license for release.
Return back to GPLv2+, until the text of the exceptions is
finalized, reverting the change from 2007-07-03 and the first
part of the change from 2007-07-20.
Also:
* COPYING: Revert to GPLv2.
* COPYINGv3: New file, since some auxiliary build tools, used for
building autoconf and not installed, are GPLv3.
* Makefile.am (EXTRA_DIST): Distribute COPYINGv3.
* NEWS: Remove mention of GPLv3.
* README: Clarify situation regarding GPLv3.
Eric Blake [Sat, 5 Apr 2008 22:55:03 +0000 (16:55 -0600)]
Prepare for release.
* maint.mk (announcement): Avoid deleted option.
* cfg.mk (release_archive_dir): Use default.
* build-aux/gnupload: New file, from automake/gnulib.
* Makefile.am (EXTRA_DIST): Distribute it.
* .x-sc_two_space_separator_in_usage: New file, to exempt gnupload
from syntax check.
Jim Meyering [Sat, 5 Apr 2008 15:47:42 +0000 (09:47 -0600)]
Work around CR EOL markers on OS/2 (www.ecomstation.com Ecs v2 rc4)
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): When CR
is the EOL marker, skip a step that would remove and translate
carriage return bytes.
* THANKS: Update.
Reported by Elbert Pol.
Eric Blake [Thu, 3 Apr 2008 22:45:11 +0000 (16:45 -0600)]
Fix version number generation in man pages.
* Makefile.am (EXTRA_DIST): Distribute .version.
(.version): New rule.
* man/Makefile.am (common_dep): Depend on .version, not
configure.ac.
(.x.1): Use package name for version string.
* GNUmakefile [!_have-Makefile]: Sync from upstream, again.
* build-aux/git-version-gen: Sync from upstream.
Peter O'Gorman [Fri, 28 Mar 2008 17:37:23 +0000 (12:37 -0500)]
Find X11 on Mac OS X too.
* lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT,_AC_PATH_X_XMKMF):
Check for libX11 with extensions dylib la and dll too.
* THANKS: Update.
Reported by Martin Costabel.
Ralf Wildenhues [Wed, 26 Mar 2008 05:55:22 +0000 (06:55 +0100)]
Warn, not fail on whitespace-only precious variable differences.
* lib/autoconf/general.m4 (_AC_ARG_VAR_VALIDATE): Output
precious variable differences less ambiguous with `ugly-quotes'.
If their settings differ only in whitespace, do not fail, but
reuse the old value.
* tests/torture.at (AT_CHECK_AC_ARG_VAR): Extend macro to allow
an optional status and expected-warning argument. Fix m4
quotation for initial value.
(AC_ARG_VAR): Also test for whitespace-only differences, and
that the old value is retained in this case.
* doc/autoconf.texi (Setting Output Variables): Document this.
* NEWS: Update.
Report and initial patch by Paolo Bonzini.
Eric Blake [Wed, 26 Mar 2008 03:19:58 +0000 (21:19 -0600)]
Document busybox sed bug.
* doc/autoconf.texi (Limitations of Usual Tools): Mention
restrictions when using back-references.
Reported by Vincent Lefevre:
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13013>.
Eric Blake [Fri, 21 Mar 2008 17:07:08 +0000 (11:07 -0600)]
Don't swallow $1 in textual local variables.
* lib/m4sugar/m4sugar.m4 (m4_combine): Don't use overquoting and
expansion of text arguments, as that swallows $1.
(m4_text_wrap): Likewise, by splitting out...
(_m4_text_wrap): ...new helper macro. Also, allow arbitrary
expression for width.
* tests/m4sugar.at (m4@&t@_text_wrap): Test this.
(m4@&t@_combine): Likewise.
Ralf Wildenhues [Fri, 21 Mar 2008 06:57:26 +0000 (07:57 +0100)]
Avoid leftover files on Leopard.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT): Remove a.out.dSYM
directory created on darwin.
(AC_NO_EXECUTABLES): Likewise; also remove objects which may be
left over from a broken link.
* tests/c.at (AC_NO_EXECUTABLES (working linker))
(AC_NO_EXECUTABLES (broken linker)): New tests.
Report by Gary V. Vaughan.
Ralf Wildenhues [Mon, 17 Mar 2008 05:58:49 +0000 (06:58 +0100)]
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.
Eric Blake [Wed, 12 Mar 2008 02:05:49 +0000 (20:05 -0600)]
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.
Eric Blake [Wed, 5 Mar 2008 20:39:23 +0000 (13:39 -0700)]
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.
Eric Blake [Tue, 11 Mar 2008 13:11:44 +0000 (07:11 -0600)]
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.
Eric Blake [Wed, 5 Mar 2008 16:32:04 +0000 (09:32 -0700)]
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.
Eric Blake [Wed, 5 Mar 2008 16:20:23 +0000 (09:20 -0700)]
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.
Ralf Wildenhues [Mon, 3 Mar 2008 22:53:10 +0000 (23:53 +0100)]
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.
Eric Blake [Mon, 3 Mar 2008 13:29:00 +0000 (06:29 -0700)]
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.
Jim Meyering [Thu, 28 Feb 2008 11:55:01 +0000 (12:55 +0100)]
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.
Ralf Wildenhues [Sun, 2 Mar 2008 13:14:44 +0000 (14:14 +0100)]
* 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.
Ralf Wildenhues [Fri, 4 Jan 2008 17:10:04 +0000 (18:10 +0100)]
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.
Benoit Sigoure [Tue, 18 Dec 2007 12:54:08 +0000 (13:54 +0100)]
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.
Benoit Sigoure [Tue, 18 Dec 2007 12:54:07 +0000 (13:54 +0100)]
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.
Benoit Sigoure [Tue, 18 Dec 2007 12:54:06 +0000 (13:54 +0100)]
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.
Ralf Wildenhues [Fri, 1 Feb 2008 23:10:25 +0000 (00:10 +0100)]
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.
Eric Blake [Tue, 29 Jan 2008 23:56:36 +0000 (16:56 -0700)]
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.
Eric Blake [Tue, 29 Jan 2008 17:24:12 +0000 (10:24 -0700)]
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.
Eric Blake [Tue, 29 Jan 2008 05:42:17 +0000 (22:42 -0700)]
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.
Eric Blake [Mon, 28 Jan 2008 14:02:43 +0000 (07:02 -0700)]
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.
Eric Blake [Mon, 28 Jan 2008 13:57:46 +0000 (06:57 -0700)]
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.
Ralf Wildenhues [Tue, 22 Jan 2008 20:48:51 +0000 (21:48 +0100)]
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.
Ralf Wildenhues [Tue, 8 Jan 2008 20:57:36 +0000 (21:57 +0100)]
Fix creation of manpages from test wrapper scripts.
* tests/Makefile.am (noinst_SCRIPTS): Renamed from
check_SCRIPTS. Building the wrappers for `all' allows help2man
to use them for the manpages.
Report by Benoit Sigoure.
Ralf Wildenhues [Sun, 16 Dec 2007 21:24:14 +0000 (22:24 +0100)]
Fix some write failure cases in Autotest.
* lib/autotest/general.m4 (AT_INIT): Do not exit successfully
upon write failures for --help, --version, --list.
Guard against write failures for intermediate created scripts.
<at_func_create_debugging_script>: Do not make the debugging
script executable if it is not complete.
Ralf Wildenhues [Tue, 4 Dec 2007 21:49:36 +0000 (22:49 +0100)]
Do not pass top_srcdir to configure scripts in testsuite.
* tests/autotest.at (srcdir propagation): Copy install-sh to
source tree.
(my only test): Drop setting of `top_srcdir'.
* tests/base.at (Input/Output): Likewise.
* tests/local.at (AT_CONFIGURE_AC): Copy install-sh,
config.guess, and config.sub to test source tree.
Drop AC_CONFIG_AUX_DIR setting.
(AT_CHECK_CONFIGURE): Drop setting of `top_srcdir'.
* tests/torture.at (Substitute a 2000-byte string): Drop
AC_CONFIG_AUX_DIR setting, copy install-sh to test source tree.
(Substitute a newline, datarootdir workaround): Likewise.
(Define a newline): Adjust for linenumber changes in configure.ac.
* tests/foreign.at (Libtool): Adjust comment to reflect changes.