]> git.ipfire.org Git - thirdparty/autoconf.git/log
thirdparty/autoconf.git
16 years agoImprove confusing section names.
Eric Blake [Tue, 17 Mar 2009 12:38:07 +0000 (06:38 -0600)] 
Improve confusing section names.

* doc/autoconf.texi (Specifying Names): Rename node...
(Specifying Target Triplets): ...to this.
(Generic Programs): Adjust references.
* doc/install.texi (System Type): Touch up formatting.
* THANKS: Update.
Reported by Tim Freeman, in http://bugs.debian.org/312873.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoRemove historical inaccuracy.
Eric Blake [Tue, 17 Mar 2009 12:09:22 +0000 (06:09 -0600)] 
Remove historical inaccuracy.

* doc/autoconf.texi (Portable Shell): Don't perpetuate myth about
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoRecommend AS_HELP_STRING more prominently.
Eric Blake [Tue, 17 Mar 2009 12:05:11 +0000 (06:05 -0600)] 
Recommend AS_HELP_STRING more prominently.

* doc/autoconf.texi (External Software): Reduce mention of
hand-written help strings.
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix 'make pdf'.
Eric Blake [Mon, 16 Mar 2009 23:03:27 +0000 (17:03 -0600)] 
Fix 'make pdf'.

* doc/autoconf.texi (Balancing Parentheses): Fix usage of
@itemize.
Reported by Ralf Wildenhues, fix suggested by Karl Berry.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoResync upstream files.
Eric Blake [Sat, 14 Mar 2009 22:23:29 +0000 (16:23 -0600)] 
Resync upstream files.

* GNUmakefile: Run 'make fetch'.
* build-aux/announce-gen: Likewise.
* build-aux/config.guess: Likewise.
* build-aux/config.sub: Likewise.
* build-aux/gnupload: Likewise.
* build-aux/texinfo.tex: Likewise.
* build-aux/vc-list-files: Likewise.
* doc/gnu-oids.texi: Likewise.
* doc/standards.texi: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoNew test for SunStudio `restrict' handling.
Ralf Wildenhues [Mon, 9 Mar 2009 18:25:18 +0000 (19:25 +0100)] 
New test for SunStudio `restrict' handling.

* tests/c.at (AC_C_RESTRICT and C++): New test.
Prompted by bug report from Rolf Vandevaart.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoManual: testsuite depends on package.m4.
Ralf Wildenhues [Sun, 8 Mar 2009 10:24:06 +0000 (11:24 +0100)] 
Manual: testsuite depends on package.m4.

* doc/autoconf.texi (Making testsuite Scripts): In the example
makefile snippet, $(TESTSUITE) depends on $(srcdir)/package.m4.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoFix a typo in comment for AS_LITERAL_IF.
Allan Caffee [Mon, 2 Mar 2009 18:11:19 +0000 (11:11 -0700)] 
Fix a typo in comment for AS_LITERAL_IF.

* lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Update a comment that fell
out of date when this function was moved/renamed in 59ecd766.
* THANKS: Update.

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove wording for AS_ESCAPE.
Eric Blake [Mon, 2 Mar 2009 17:29:35 +0000 (10:29 -0700)] 
Improve wording for AS_ESCAPE.

* doc/autoconf.texi (Common Shell Constructs) <AS_ESCAPE>: Touch
up documentation.
* lib/m4sugar/m4sh.m4 (_AS_ESCAPE): Fix comment typos.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse pkgdatadir consistently.
Eric Blake [Tue, 24 Feb 2009 16:27:15 +0000 (09:27 -0700)] 
Use pkgdatadir consistently.

* bin/Makefile.am (edit): Substitute pkgdatadir, not datadir.
* lib/Makefile.am (edit): Likewise.
* lib/autom4te.in (Autoconf-without-aclocal-m4, Autotest, M4sh)
(M4sugar): Use @pkgdatadir@, not @datadir@.
* bin/autoheader.in ($datadir): Likewise.
* bin/autom4te.in ($datadir): Likewise.
* bin/autoreconf.in ($datadir): Likewise.
* bin/autoscan.in ($datadir): Likewise.
* bin/autoupdate.in ($datadir): Likewise.
* bin/ifnames.in ($datadir): Likewise.
* doc/autoconf.texi (Installation Directory Variables): Update
example to be consistent; focus on $(bindir) as an autoconf
variable, and mention that $(pkgdatadir) comes from automake.
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse m4_translit more efficiently in AS_ESCAPE.
Eric Blake [Thu, 19 Feb 2009 21:32:36 +0000 (14:32 -0700)] 
Use m4_translit more efficiently in AS_ESCAPE.

* lib/m4sugar/m4sh.m4 (_AS_ESCAPE): Alter API to take first byte
of set separately from rest.
(AS_ESCAPE, _AS_QUOTE_MODERN, AS_TR_SH, AS_VAR_GET): Adjust
callers.
* lib/autoconf/autoheader.m4 (AH_VERBATIM): Avoid duplicate
characters in translit request.
* doc/autoconf.texi (Common Shell Constructs) <AS_ESCAPE>:
Document the macro.
* NEWS: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMention recently documented macros.
Eric Blake [Thu, 19 Feb 2009 16:53:35 +0000 (09:53 -0700)] 
Mention recently documented macros.

* NEWS: Update list of new documentation.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd index for config.site.
Ralf Wildenhues [Sat, 14 Feb 2009 20:17:07 +0000 (21:17 +0100)] 
Add index for config.site.

* doc/autoconf.texi (Site Defaults): Add index for config.site.
* THANKS: Update.
Report by Stephen P. Schaefer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoFix m4_set speed regression introduced 2008-12-18.
Eric Blake [Thu, 12 Feb 2009 15:27:18 +0000 (08:27 -0700)] 
Fix m4_set speed regression introduced 2008-12-18.

* lib/m4sugar/m4sugar.m4 (_m4_stack_reverse): Alter API to avoid
creating larger argument on each iteration.
(m4_stack_foreach_sep, m4_stack_foreach_sep_lifo)
(_m4_set_contents_2): Adjust all four-argument callers.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMention new AC_DEFUN_ONCE clients.
Eric Blake [Thu, 5 Feb 2009 13:12:24 +0000 (06:12 -0700)] 
Mention new AC_DEFUN_ONCE clients.

* NEWS: Mention recent semantic changes.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse AC_DEFUN_ONCE for some one-shot AC_PROG macros.
Eric Blake [Wed, 28 Jan 2009 16:11:43 +0000 (09:11 -0700)] 
Use AC_DEFUN_ONCE for some one-shot AC_PROG macros.

* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Switch to
AC_DEFUN_ONCE, since this is a one-shot macro.
(AC_PROG_INSTALL): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMention that packagers should not pre-set CFLAGS.
Eric Blake [Tue, 3 Feb 2009 16:15:54 +0000 (09:15 -0700)] 
Mention that packagers should not pre-set CFLAGS.

* doc/autoconf.texi (Preset Output Variables) <CFLAGS>: Copy
advice given by automake on handling variables reserved by GNU
Coding Standards.
Reported by Karl Berry.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDocument lib64 in config.site.
Eric Blake [Tue, 3 Feb 2009 16:01:52 +0000 (09:01 -0700)] 
Document lib64 in config.site.

* doc/autoconf.texi (Site Defaults): Fix typo in FHS sample file.
Mention use of lib64.
* THANKS: Update.
Reported by Tom Browder, with help from Peter Breitenlohner.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse AC_DEFUN_ONCE for uncontroversial one-shot macros.
Eric Blake [Wed, 28 Jan 2009 16:11:28 +0000 (09:11 -0700)] 
Use AC_DEFUN_ONCE for uncontroversial one-shot macros.

* lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Switch to
AC_DEFUN_ONCE, since this is a one-shot macro.
* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
* lib/autoconf/general.m4 (AC_CANONICAL_BUILD)
(AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoReduce blank lines in AC_DEFUN_ONCE macros.
Eric Blake [Wed, 28 Jan 2009 23:14:13 +0000 (16:14 -0700)] 
Reduce blank lines in AC_DEFUN_ONCE macros.

* lib/m4sugar/m4sugar.m4 (m4_defun_once): Avoid redundant blank
line when a defun_once macro is required.
(_m4_defun_once): New helper macro, for less memory use.
* tests/m4sugar.at (m4@&t@_require: nested): Adjust test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoSilence another false positive expand-before-require.
Eric Blake [Wed, 28 Jan 2009 18:01:42 +0000 (11:01 -0700)] 
Silence another false positive expand-before-require.

* lib/m4sugar/m4sugar.m4 (_m4_defun_pro_outer)
(_m4_defun_epi_outer, _m4_require_call, m4_provide): Track name
that caused a diversion change, not just diversion number.
(m4_require): Factor...
(_m4_require_check): ...into new macro, which also checks whether
diversion that performed the expansion has been collected.
* tests/m4sugar.at (m4@&t@_require: nested): Enhance test.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix AC_C_RESTRICT for Sun Studio 12 C++.
Eric Blake [Wed, 28 Jan 2009 16:57:08 +0000 (09:57 -0700)] 
Fix AC_C_RESTRICT for Sun Studio 12 C++.

* lib/autoconf/c.m4 (AC_C_RESTRICT): Newer Sun Studio C provides
__restrict__ rather than _Restrict, which still trips up Sun
Studio 12 C++.
* THANKS: Update.
Reported by Rolf Vandevaart.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix years in copyright notices.
Eric Blake [Tue, 27 Jan 2009 23:13:55 +0000 (16:13 -0700)] 
Fix years in copyright notices.

* lib/m4sugar/m4sugar.m4 (m4_copyright_condense): New macro,
undocumented for now.
* lib/m4sugar/Makefile.am (version.m4): Add m4_PACKAGE_YEAR,
m4_PACKAGE_URL.
(RELEASE_YEAR): New macro, copied from bin/Makefile.am.
* lib/autoconf/general.m4 (_AC_COPYRIGHT_YEARS): New macro.
(AC_COPYRIGHT): Add undocumented third parameter.
(_AC_INIT_COPYRIGHT): Avoid need to bump copyright years.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Likewise.
(AT_COPYRIGHT): Add undocumented third parameter.
* tests/local.at (AT_COPYRIGHT): Don't add an extra copyright
parameter; the generic copyright given by autotest is sufficient
since we are the package that owns autotest.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse URLs in --help output, part 3: testsuite.
Eric Blake [Tue, 27 Jan 2009 23:13:41 +0000 (16:13 -0700)] 
Use URLs in --help output, part 3: testsuite.

* doc/autoconf.texi (Writing Testsuites): Mention autotest
namespace.
(Writing Testsuites) <AT_INIT>: Mention mandatory macros.
(Making testsuite Scripts): Document AT_PACKAGE_URL.
* tests/Makefile.am (package.m4): Follow our own advice.
* lib/autotest/general.m4 (AT_INIT): Give the user a hint about
package.m4.  Enhance --help output.
(_AT_COPYRIGHT_YEARS): New macro, to make copyright bump easier.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse URLs in --help output, part 2: configure.
Eric Blake [Mon, 26 Jan 2009 23:43:20 +0000 (16:43 -0700)] 
Use URLs in --help output, part 2: configure.

* lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Bump copyright
date.
(_AC_INIT_PACKAGE): Support optional URL parameter, mapped to
AC_PACKAGE_URL.
(_AC_INIT_DEFAULTS, _AC_INIT_PREPARE): Substitute it.
(_AC_INIT_HELP): Use it in './configure --help' output.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise, for
'./config.status --help'.  Bump copyright date.
* doc/autoconf.texi (Initializing configure) <AC_INIT>: Document
new parameter.
* NEWS: Likewise.
* tests/tools.at (autoheader): Adjust test.
* tests/torture.at (@%:@define header templates)
(Torturing config.status): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse URLs in --help output, part 1: autoconf executables.
Eric Blake [Mon, 26 Jan 2009 18:39:43 +0000 (11:39 -0700)] 
Use URLs in --help output, part 1: autoconf executables.

* bin/autoconf.as (usage): Make output consistent with recent
change in gnulib version-etc module.
* bin/autoheader.in ($help): Likewise.
* bin/autom4te.in ($help): Likewise.
* bin/autoreconf.in ($help): Likewise.
* bin/autoscan.in ($help): Likewise.
* bin/autoupdate.in ($help): Likewise.
* bin/ifnames.in ($help): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoQuote traced macros passed from autom4te to M4.
Peter Breitenlohner [Tue, 27 Jan 2009 13:48:04 +0000 (14:48 +0100)] 
Quote traced macros passed from autom4te to M4.

* bin/autom4te (handle_m4): Apply shell_quote to macro names.
* tests/tools.at (autom4te --trace and unusual macro names): New
test.
* THANKS: Update.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove AC_DEFUN_ONCE semantics.
Eric Blake [Mon, 26 Jan 2009 16:55:57 +0000 (09:55 -0700)] 
Improve AC_DEFUN_ONCE semantics.

* lib/m4sugar/m4sugar.m4 (m4_defun_once): Rewrite to be no-op,
rather than warning, on second use, and make sure first use never
occurs out of order.
* tests/m4sugar.at (m4@&t@_require: one-shot initialization):
Enhance test.
* tests/base.at (AC_REQUIRE & AC_DEFUN_ONCE: [Require, expand],
(AC_REQUIRE & AC_DEFUN_ONCE: [Expand, require]): Adjust tests.
* NEWS: Document this.
* doc/autoconf.texi (Macro Definitions) <AC_DEFUN>: Mention
AC_DEFUN_ONCE.
(Prerequisite Macros) <AC_REQUIRE>: Likewise.
(Expanded Before Required): Likewise.
(One-Shot Macros) <AC_DEFUN_ONCE>: Document new semantics.
Reported by Bruno Haible, with suggestion by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix typos in recent patches.
Eric Blake [Sat, 24 Jan 2009 13:33:41 +0000 (06:33 -0700)] 
Fix typos in recent patches.

* lib/m4sugar/m4sugar.m4: Improve m4_defun comments.
* doc/autoconf.texi (Expanded Before Required): Fix typos.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoRevert change to AC_DIR_HEADER.
Eric Blake [Sat, 24 Jan 2009 13:16:48 +0000 (06:16 -0700)] 
Revert change to AC_DIR_HEADER.

* lib/autoconf/headers.m4 (AC_DIR_HEADER): Explicitly expanding
AC_HEADER_DIRENT no longer triggers a warning, and helps the user
who decides they don't need the obsolete AC_FUNC_CLOSEDIR_VOID.
Reported by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoSilence a false positive expand-before-require case.
Eric Blake [Thu, 22 Jan 2009 15:08:06 +0000 (08:08 -0700)] 
Silence a false positive expand-before-require case.

* lib/m4sugar/m4sugar.m4 (m4_provide): Track the diversion in
which a macro was provided.
(m4_require): Compare diversion numbers, rather than m4_require
nesting, when determining direct requires.
* tests/m4sugar.at (m4@&t@_require: nested): Test it.
Reported by Ralf Wildenhues, affecting Libtool.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix out-of-order expansion with expand-before-require.
Eric Blake [Tue, 20 Jan 2009 21:22:41 +0000 (14:22 -0700)] 
Fix out-of-order expansion with expand-before-require.

* lib/m4sugar/m4sugar.m4 (m4_require): Redundantly expand a
required macro when issuing expand-before-require warning.
* doc/autoconf.texi (Prerequisite Macros): Adjust documentation.
(Expanded Before Required): New node.
* tests/m4sugar.at (m4@&t@_require: nested): Adjust test.
* NEWS: Mention this fix.
Suggested by Bruno Haible.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoWarn if macro is provided before indirectly required.
Eric Blake [Tue, 20 Jan 2009 21:03:59 +0000 (14:03 -0700)] 
Warn if macro is provided before indirectly required.

* lib/m4sugar/m4sugar.m4 (m4_provide): Track the set of all macros
provided since last outermost defun.
(_m4_defun_pro_outer): Empty the set.
(_m4_require_call): Distinguish between direct and indirect
requires, and remove required macros from the set.
(m4_require): Check the set, in order to warn.
* tests/m4sugar.at (m4@&t@_require: nested): Remove xfail, and add
test case for direct requires.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoClean up some bugs caught by preliminary dependency validation.
Eric Blake [Tue, 20 Jan 2009 17:08:11 +0000 (10:08 -0700)] 
Clean up some bugs caught by preliminary dependency validation.

* lib/autoconf/headers.m4 (AC_DIR_HEADER): Don't invoke
AC_HEADER_DIRENT, since AC_FUNC_CLOSEDIR_VOID requires it.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL)
(_AS_SHELL_SANITIZE): Fix quoting bugs.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove AC_REQUIRE documentation.
Eric Blake [Sat, 17 Jan 2009 16:36:02 +0000 (09:36 -0700)] 
Improve AC_REQUIRE documentation.

* doc/autoconf.texi (Macro Definitions) <AC_DEFUN>: Add @defmac,
and mention interaction with AC_REQUIRE.
(Prerequisite Macros) <AC_REQUIRE>: Give more detail on user
ordering constraint bug, and how to fix it.
* tests/m4sugar.at (m4@&t@_require: nested): New test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoSpeed up m4_require.
Eric Blake [Sat, 17 Jan 2009 15:38:11 +0000 (08:38 -0700)] 
Speed up m4_require.

* lib/m4sugar/m4sugar.m4 (_m4_divert_dump): Change semantics to
always be defined, as either empty or a number.
(_m4_defun_pro_outer, _m4_defun_epi_outer): Treat _m4_divert_dump
as a stack, rather than a one-shot macro.
(_m4_require_call): Expect third argument to be pre-expanded.
(m4_divert_require, m4_require): Adjust clients accordingly.
* lib/m4sugar/m4sh.m4 (AS_REQUIRE): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAvoid underfull hbox.
Eric Blake [Sat, 17 Jan 2009 16:35:41 +0000 (09:35 -0700)] 
Avoid underfull hbox.

* doc/autoconf.texi (Installation Directory Variables): Reword to
fit on line.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoIgnore `set -e'-related failure of NetBSD sh.
Ralf Wildenhues [Wed, 14 Jan 2009 06:35:53 +0000 (07:35 +0100)] 
Ignore `set -e'-related failure of NetBSD sh.

* tests/m4sh.at (AS@&t@_EXIT): Skip test if (NetBSD) shell
fails to finish EXIT trap after set -e.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoMaintainer cleanups.
Eric Blake [Tue, 6 Jan 2009 15:41:34 +0000 (08:41 -0700)] 
Maintainer cleanups.

* cfg.mk (web-manual): Use new feature of gendocs.
(fetch): Fetch gendocs.
* Makefile.am (EXTRA_DIST): Distribute new file.
* doc/Makefile.am (EXTRA_DIST): Likewise.
* .gitattributes: Ignore whitespace in upstream files.
* HACKING (Other web updates): Update Free Software Directory
instructions.
(Upload): No longer mention xdelta.
* maint.mk (xd-delta): Likewise.
* build-aux/gendocs.sh: New upstream file.
* doc/gendocs_template: Likewise.
* build-aux/announce-gen: Resync from upstream.
* build-aux/config.guess: Likewise.
* build-aux/config.sub: Likewise.
* build-aux/gnupload: Likewise.
* build-aux/texinfo.tex: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMake it easier to track diversion bugs.
Eric Blake [Tue, 30 Dec 2008 15:32:08 +0000 (08:32 -0700)] 
Make it easier to track diversion bugs.

* lib/m4sugar/m4sugar.m4 (_m4_divert_raw, _m4_undivert): New
internal macros, which are easier to trace than m4_builtin.
(m4_cleardivert, m4_divert, m4_divert_push, m4_divert_pop)
(m4_undivert): Use them.
(_m4_require_call): Likewise.  Use fewer macros.
* lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Fix typo.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove multiarch detection.
Bruno Haible [Mon, 29 Dec 2008 23:19:31 +0000 (16:19 -0700)] 
Improve multiarch detection.

* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Make detection of options
indicating a universal build more reliable.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse AS_CASE in documented example.
William Pursell [Sun, 28 Dec 2008 11:03:15 +0000 (11:03 +0000)] 
Use AS_CASE in documented example.

* doc/autoconf.texi (Using the System Type): Use AS_CASE in
example instead of raw case.

Signed-off-by: William Pursell <bill.pursell@gmail.com>
16 years agoMake m4_dumpdef more useful with M4 1.6.
Eric Blake [Tue, 23 Dec 2008 21:29:48 +0000 (14:29 -0700)] 
Make m4_dumpdef more useful with M4 1.6.

* lib/m4sugar/m4sugar.m4 (_m4_dumpdef): New macro.
(m4_init): Install it for new enough m4.
* tests/m4sugar.at (m4@&t@_dumpdef): Enhance test.
* doc/autoconf.texi (Redefined M4 Macros) <m4_dumpdef>: Mention
lack of sorting.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove INSTALL for HP-UX.
Bruno Haible [Wed, 24 Dec 2008 04:09:21 +0000 (21:09 -0700)] 
Improve INSTALL for HP-UX.

* doc/install.texi (Particular Systems): For HP-UX, also recommend
-D_XOPEN_SOURCE=500. Needed for the declaration of mbstate_t on
HP-UX 11.11.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove INSTALL for Haiku.
Bruno Haible [Tue, 23 Dec 2008 05:08:59 +0000 (22:08 -0700)] 
Improve INSTALL for Haiku.

* doc/install.texi (Particular Systems): Add a recommendation
which prefix to use on Haiku.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix typo in previous commit.
Eric Blake [Fri, 19 Dec 2008 21:49:18 +0000 (14:49 -0700)] 
Fix typo in previous commit.

* doc/autoconf.texi (Set manipulation Macros) <m4_set_map_sep>:
Fix typo.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDocument some recently added macros.
Eric Blake [Fri, 19 Dec 2008 21:06:46 +0000 (14:06 -0700)] 
Document some recently added macros.

* lib/m4sugar/m4sugar.m4 (m4_map_args_w): Add optional sep
parameter.
* doc/autoconf.texi (Looping constructs) <m4_map_args_sep>
<m4_map_args_w, m4_stack_foreach, m4_stack_foreach_sep>: Document
new macros.
(Set manipulation Macros) <m4_set_map_sep>: Likewise.
* tests/m4sugar.at (m4@&t@_stack, M4 loops): Enhance tests.
* NEWS: Document new macros.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix separator in m4_stack_foreach_sep.
Eric Blake [Fri, 19 Dec 2008 00:15:13 +0000 (17:15 -0700)] 
Fix separator in m4_stack_foreach_sep.

* lib/m4sugar/m4sugar.m4 (_m4_stack_reverse): Separate separator
from prefix.
* tests/m4sugar.at (m4@&t@_stack): Enhance test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMention limitation of M4 1.4.x on builtin tokens.
Eric Blake [Thu, 18 Dec 2008 22:55:58 +0000 (15:55 -0700)] 
Mention limitation of M4 1.4.x on builtin tokens.

* doc/autoconf.texi (Redefined M4 Macros) <m4_dumpdef>: Document
ramification of M4 1.4.x's inability to pass builtin tokens
through text macros.
(Evaluation Macros) <m4_curry>: Likewise.
* tests/m4sugar.at (m4@&t@_defn): Enhance test.
* NEWS: Mention subtle change in m4_dumpdef semantics.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDocument m4_version_prereq.
Eric Blake [Thu, 18 Dec 2008 13:44:59 +0000 (06:44 -0700)] 
Document m4_version_prereq.

* doc/autoconf.texi (Number processing Macros)
<m4_version_prereq>: Add documentation.
* NEWS: Mention it.
Reported by Bruno Haible.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAC_HEADER_ASSERT: don't say assertions are disabled when they're not
Jim Meyering [Wed, 10 Dec 2008 13:45:35 +0000 (14:45 +0100)] 
AC_HEADER_ASSERT: don't say assertions are disabled when they're not

* lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Do not make configure
report "checking whether to enable assertions... no", when they are
in fact enabled.  This is solely a bug in the output of configure.
In spite of saying "no", NDEBUG was not defined in that case.
Also, as noted by Eric Blake, leave assertions enabled upon
--enable-assert=INVALID.

16 years agoFix m4_location inside m4_wrap with m4 1.4.5.
Eric Blake [Tue, 9 Dec 2008 17:47:19 +0000 (10:47 -0700)] 
Fix m4_location inside m4_wrap with m4 1.4.5.

* lib/m4sugar/m4sugar.m4 (m4_undefine): Redefine m4_location
inside wrapped text if older m4 is detected.
Reported by William Pursell.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix AC_HEADER_ASSERT w.r.t. --enable-assert.
William Pursell [Mon, 8 Dec 2008 21:16:38 +0000 (14:16 -0700)] 
Fix AC_HEADER_ASSERT w.r.t. --enable-assert.

* lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Honor --enable-assert,
rather than treating it as a synonym for --disable-assert.
* NEWS: Document the fix.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix AC_HEADER_ASSERT not to treat --enable-assert and --disable-assert the same.
Paolo Bonzini [Mon, 8 Dec 2008 21:12:20 +0000 (22:12 +0100)] 
Fix AC_HEADER_ASSERT not to treat --enable-assert and --disable-assert the same.

* lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Check value of $enableval.

16 years agoFix some typos and grammatical errors in documentation.
William Pursell [Thu, 4 Dec 2008 21:18:40 +0000 (21:18 +0000)] 
Fix some typos and grammatical errors in documentation.

* doc/autoconf.texi: Clean up some bad use of English.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove AC_STATE_SAVE.
Eric Blake [Tue, 2 Dec 2008 18:51:44 +0000 (11:51 -0700)] 
Improve AC_STATE_SAVE.

* tests/local.at (AC_STATE_SAVE): Avoid ls -1, and use one less
process by hoisting the uniqueness check into sed.
* doc/autoconf.texi (Limitations of Usual Tools) <ls>: Mention
MacOS bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAvoid MacOS readdir bug in testsuite.
Eric Blake [Tue, 2 Dec 2008 18:15:55 +0000 (11:15 -0700)] 
Avoid MacOS readdir bug in testsuite.

* tests/local.at (AC_STATE_SAVE): Avoid spurious failures due to
duplicated ls entries.
* THANKS: Update.
Reported by Bruce Dugan and others.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoHide `set -m' error message, for zsh.
Ralf Wildenhues [Sat, 29 Nov 2008 09:57:00 +0000 (10:57 +0100)] 
Hide `set -m' error message, for zsh.

* lib/autotest/general.m4 (AT_JOB_FIFO_FD): Hide zsh 4.3.4
error messages about `set -m'.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoFix a couple of test failures with dash.
Ralf Wildenhues [Thu, 27 Nov 2008 19:02:34 +0000 (20:02 +0100)] 
Fix a couple of test failures with dash.

* tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Normalize
exit status of `cd'.
* tests/m4sh.at (AS_MESSAGE_LOG_FD): Remove script before
regeneration, to avoid timing effects.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoAdd m4_cleardivert.
Eric Blake [Tue, 25 Nov 2008 16:28:43 +0000 (09:28 -0700)] 
Add m4_cleardivert.

* lib/m4sugar/m4sugar.m4 (m4_cleardivert): New macro.
* lib/autotest/general.m4 (AT_INIT): Use it.
* lib/autoconf/general.m4 (_AC_INIT_NOTICE): Likewise.
* tests/m4sugar.at (m4@&t@_divert_stack): Test it.
* doc/autoconf.texi (Diversion support) <m4_cleardivert>: Document
it.
* NEWS: Likewise.
Suggested by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd safety check for m4_expand vs. diversions.
Eric Blake [Mon, 24 Nov 2008 20:52:01 +0000 (13:52 -0700)] 
Add safety check for m4_expand vs. diversions.

* lib/m4sugar/m4sugar.m4 (m4_expand): Make more robust against
diverted text.
* doc/autoconf.texi (Evaluation Macros) <m4_expand>: Document new
safety check.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix typo in AS_MESSAGE_LOG_FD patch.
Eric Blake [Mon, 24 Nov 2008 13:28:56 +0000 (06:28 -0700)] 
Fix typo in AS_MESSAGE_LOG_FD patch.

* lib/m4sugar/m4sh.m4 (AS_ERROR): Check correct condition.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMore reliable signal handling in Autotest.
Ralf Wildenhues [Sun, 23 Nov 2008 19:00:39 +0000 (20:00 +0100)] 
More reliable signal handling in Autotest.

* lib/autotest/general.m4 (Driver loop): Rewrite signal handler.
Start parallel jobs in their own process group, enabling job
control in the shell if possible, for better signal handling.
Deal with INT, TERM, and HUP in the testsuite driver.  In the
parallel driver, propagate TSTP to jobs either as TSTP or as
STOP (to avoid fork bombs with ksh).
Inside the job processes, add PIPE handler to write back the
job token, so the master process does not hang.
Disable the parallel driver if job control is not provided or if
trap does not understand signal names.
* tests/autotest.at (parallel autotest and signals): New test,
exercises INT, TERM, and PIPE, serial and parallel, with and
without `make' in the loop.
Kudos to Richard Stevens for writing APUE.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoFix testsuite failure on Solaris.
Eric Blake [Sat, 22 Nov 2008 15:40:39 +0000 (08:40 -0700)] 
Fix testsuite failure on Solaris.

* tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Normalize
failure status to 1.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoClean up AS_MESSAGE_LOG_FD usage.
Eric Blake [Fri, 21 Nov 2008 22:50:37 +0000 (15:50 -0700)] 
Clean up AS_MESSAGE_LOG_FD usage.

* lib/m4sugar/m4sh.m4 (AS_MESSAGE_FD, AS_MESSAGE_LOG_FD)
(AS_ORIGINAL_STDIN_FD): Provide default M4sh values.
(_AS_ECHO_LOG, AS_MESSAGE, _AS_ERROR_PREPARE, AS_ERROR): Simplify
usage.
(AS_INIT_GENERATED): Don't shuffle an unchanged AS_MESSAGE_FD.
* tests/m4sh.at (AS@&t@_INIT_GENERATED): Update test.
(AS@&t@_MESSAGE_FD): New test.
* doc/autoconf.texi (Initialization Macros) <AS_INIT_GENERATED>:
Give more details about fd manipulation.
(File Descriptor Macros): Describe M4sh defaults for the fds.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse shell function for AS_ERROR.
Eric Blake [Fri, 21 Nov 2008 17:15:20 +0000 (10:15 -0700)] 
Use shell function for AS_ERROR.

* lib/m4sugar/m4sh.m4 (_AS_ERROR_PREPARE): New macro, defining a
new shell function.
(AS_ERROR): Use it.
(_AS_LINENO_PREPARE): Break circular dependency.
(AS_PREPARE, _AS_PREPARE): Initialize for child scripts.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix typos in recent testsuite improvements.
Eric Blake [Fri, 21 Nov 2008 19:28:36 +0000 (12:28 -0700)] 
Fix typos in recent testsuite improvements.

* lib/autotest/general.m4 (AT_INIT) <at_fn_check_prepare_dynamic>:
Fix typo.
* NEWS: Clarify the potential impact to users.
* tests/autotest.at (AT_DATA_AUTOTEST): New macro, patterned after
AT_DATA_M4SUGAR.
(AT_CHECK_AT_PREP, AT_CHECK_AT_TITLE): Use it.
(unusual file names): Test that the recent echo fix does not
regress.  Fix quoting bug that made the test a no-op.
Reported by Paolo Bonzini and Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse modern m4sh constructs in autoconf.
Eric Blake [Fri, 21 Nov 2008 15:31:17 +0000 (08:31 -0700)] 
Use modern m4sh constructs in autoconf.

* bin/autoconf.as (exit_missing_arg, getopt): Use AS_ERROR, rather
than AS_EXIT.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoChange the semantics of AS_EXIT without argument.
Eric Blake [Fri, 21 Nov 2008 15:12:12 +0000 (08:12 -0700)] 
Change the semantics of AS_EXIT without argument.

* lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE): When defaulting, use $?
even if it is 0.
(AS_ERROR): Guarantee non-zero status.
* bin/autoconf.as (exit_missing_arg, getopt): Revert prior change;
we want non-zero status.
* tests/m4sh.at (AS@&t@_EXIT): Update test accordingly.
* doc/autoconf.texi (Common Shell Constructs) <AS_EXIT>: Update
the documentation.
<AS_SET_STATUS>: Don't overly restrict implementation.
(Printing Messages) <AC_MSG_ERROR>: Describe better default.
Suggestions by Paolo Bonzini and Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd @anchors within Builtins and Usual Tools lists.
Eric Blake [Fri, 21 Nov 2008 13:54:51 +0000 (06:54 -0700)] 
Add @anchors within Builtins and Usual Tools lists.

* doc/autoconf.texi (Limitations of Builtins)
(Limitatations of Usual Tools): Add anchors for tools called out
by name.  Adjust callers to narrow in on tool of interest.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoMove case statement style discussion to m4 quoting section.
Eric Blake [Fri, 21 Nov 2008 13:35:35 +0000 (06:35 -0700)] 
Move case statement style discussion to m4 quoting section.

* doc/autoconf.texi (Limitations of Builtins): Move comparison of
quoting styles...
(Balancing Parentheses): ...to this new node.
Suggested by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFactor more common code out of AT_CHECK into shell function.
Eric Blake [Fri, 21 Nov 2008 04:59:23 +0000 (21:59 -0700)] 
Factor more common code out of AT_CHECK into shell function.

* lib/autotest/general.m4 (_AT_CHECK): Avoid echo bug if AT_LINE
starts with -.  Move preparations...
(AT_INIT) <at_fn_check_prepare_trace>
<at_fn_check_prepare_notrace, at_fn_check_prepare_dynamic>:
...into these new shell functions.
<at_fn_check_newline>: Inline into only caller.
(_AT_DECIDE_TRACEABLE): Use them to condense testsuite size.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoHandle version numbers as decimal, even if they start with 0.
Eric Blake [Fri, 21 Nov 2008 04:02:22 +0000 (21:02 -0700)] 
Handle version numbers as decimal, even if they start with 0.

* lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Avoid
interpreting leading zeros as octal.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoSpeed up AT_CHECK.
Eric Blake [Fri, 21 Nov 2008 00:06:22 +0000 (17:06 -0700)] 
Speed up AT_CHECK.

* lib/autotest/general.m4 (AT_CHECK, AT_CHECK_UNQUOTED): Expand
third and fourth arguments once.
(_AT_CHECK): Don't re-expand expected output.  Rearrange code for
fewer scans of arguments.
(AT_CHECK): Update caller.
(AT_INIT) <at_fn_filter_trace>: Drop parameter.
* tests/m4sugar.at (m4@&t@_split): Protect test with
quadrigraphs.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix XFAIL related to AT_CHECK.
Eric Blake [Fri, 21 Nov 2008 00:23:52 +0000 (17:23 -0700)] 
Fix XFAIL related to AT_CHECK.

* lib/autotest/general.m4 (AT_CHECK, AT_CHECK_UNQUOTED): Expand
first argument once.
(_AT_CHECK): Don't re-expand commands.
* tests/autotest.at (Multiline command from M4 expansion): Remove
XFAIL.
* tests/tools.at (autoupdating AU_ALIAS): Quote unbalanced paren.
* NEWS: Document the fallout.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoReduce forks in AC_DEFINE.
Eric Blake [Fri, 14 Nov 2008 04:20:18 +0000 (21:20 -0700)] 
Reduce forks in AC_DEFINE.

* lib/autoconf/general.m4 (_AC_DEFINE_Q_PRINT): New macro.
(_AC_DEFINE_Q): Use it to avoid forks for all AC_DEFINE and most
AC_DEFINE_UNQUOTED.
* lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Properly quote #.
* tests/torture.at (Substitute and define special characters):
(Define to a 2000-byte string): Enhance tests to cover
AC_DEFINE_UNQUOTED.
(@%:@define header templates): Enhance test to cover #.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove m4_expand robustness, part 2.
Eric Blake [Wed, 19 Nov 2008 18:38:18 +0000 (11:38 -0700)] 
Improve m4_expand robustness, part 2.

* lib/m4sugar/m4sugar.m4 (m4_expand): Support unterminated
comments, by wrapping old implementation...
(_m4_expand): ...as this, and renaming old core...
(_m4_expand_): ...to this.
(m4_text_box): Use lighter-weight _m4_expand.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_EXPAND)
(_AS_DETECT_BETTER_SHELL, AS_FUNCTION_DESCRIBE): Likewise.
* lib/autotest/general.m4 (AT_KEYWORDS): Likewise.
* tests/m4sugar.at (m4@&t@_expand): Enhance test.
* tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Likewise.
* doc/autoconf.texi (Evaluation Macros) <m4_expand>: Mention new
functionality.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove m4_expand robustness, part 1.
Eric Blake [Wed, 19 Nov 2008 16:00:55 +0000 (09:00 -0700)] 
Improve m4_expand robustness, part 1.

* lib/m4sugar/m4sugar.m4 (_m4_expand): Tolerate unquoted
unbalanced `)'.
* tests/m4sugar.at (m4@&t@_expand): New test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd m4_chomp, m4_esyscmd_s.
Eric Blake [Thu, 13 Nov 2008 04:45:42 +0000 (21:45 -0700)] 
Add m4_chomp, m4_esyscmd_s.

* lib/m4sugar/m4sugar.m4 (m4_esyscmd_e, m4_chomp, m4_chomp_all):
New macros.
* doc/autoconf.texi (Redefined M4 Macros) <m4_esyscmd_s>: Document
them.
(Text processing Macros) <m4_chomp>: Likewise.
* NEWS: Likewise.
* tests/m4sugar.at (m4@&t@_esyscmd_s): New test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoRemove _m4_index.
Eric Blake [Thu, 13 Nov 2008 04:10:35 +0000 (21:10 -0700)] 
Remove _m4_index.

* lib/m4sugar/m4sugar.m4 (_m4_index): Delete; it is more efficient
to make callers guarantee a match.
(m4_init): Adjust caller.
* lib/autoconf/status.m4 (_AC_CONFIG_COMPUTE_DEST): Likewise.
* lib/autoconf/general.m4 (_AC_DEFINE_Q): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDescribe different hacks for balancing ')' in case statements.
Eric Blake [Thu, 20 Nov 2008 21:29:58 +0000 (14:29 -0700)] 
Describe different hacks for balancing ')' in case statements.

* doc/autoconf.texi (Limitations of Builtins) <case>: Add an
exposition on various quoting styles.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoSpeed up _AS_QUOTE.
Eric Blake [Thu, 20 Nov 2008 19:08:14 +0000 (12:08 -0700)] 
Speed up _AS_QUOTE.

* lib/m4sugar/m4sh.m4 (_AS_QUOTE_IFELSE): Inline into...
(_AS_QUOTE): ...here, delete unused second paramenter, and factor
choice into...
(_AS_QUOTE_MODERN, _AS_QUOTE_OLD): ...new helpers.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFor consistency, make temporary variable match language name.
Alfred G. de Wijn [Thu, 20 Nov 2008 12:48:07 +0000 (05:48 -0700)] 
For consistency, make temporary variable match language name.

* lib/autoconf/fortran.m4 (_AC_PROG_FC_G, _AC_PROG_FC_V_OUTPUT):
Match the save/test variables' names to the FFLAGS/FCFLAGS being
saved.
* THANKS: Update.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoImprove testsuite generation.
Eric Blake [Wed, 19 Nov 2008 16:25:22 +0000 (09:25 -0700)] 
Improve testsuite generation.

* tests/local.at (AT_DATA_M4SUGAR, AT_DATA_M4SH)
(AT_DATA_AUTOCONF): Escape all quadrigraphs, not just @&t@.  Use
fewer macros.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse fn for shell functions, func for autoconf CHECK_FUNCS.
Eric Blake [Tue, 18 Nov 2008 16:40:03 +0000 (09:40 -0700)] 
Use fn for shell functions, func for autoconf CHECK_FUNCS.

* lib/autoconf/functions.m4 (AC_CHECK_FUNC): Abbreviate shell
function names.
* lib/autoconf/general.m4 (_AC_PREPROC_IFELSE)
(_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE)
(AC_CHECK_DECL, AC_COMPUTE_INT): Likewise.
* lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL)
(_AC_CHECK_HEADER_COMPILE, _AC_CHECK_HEADER_PREPROC): Likewise.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, _AC_TYPE_INT)
(_AC_TYPE_UNSIGNED_INT, AC_CHECK_MEMBER): Likewise.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK, _AS_EXIT_PREPARE)
(AS_EXIT, AS_SET_STATUS, _AS_UNSET_PREPARE, _AS_MKDIR_P)
(_AS_MKDIR_P_PREPARE, _AS_VAR_APPEND_PREPARE, AS_VAR_APPEND)
(_AS_VAR_ARITH_PREPARE, AS_VAR_ARITH): Likewise.
* doc/autoconf.texi (Shell Functions): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAlter default value of AS_EXIT.
Eric Blake [Wed, 19 Nov 2008 03:58:19 +0000 (20:58 -0700)] 
Alter default value of AS_EXIT.

* lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE): Let as_func_exit
parameter be optional.
(AS_EXIT): Use it to make better default.
(_AS_DETECT_BETTER_SHELL): Use new default.
* bin/autoconf.as (exit_missing_arg, getopt): Likewise.
* lib/autoconf/status.m4 (AC_OUTPUT): Likewise.
* tests/m4sh.at (AS@&t@_EXIT): Update test.
* doc/autoconf.texi (Common Shell Constructs) <AS_EXIT>: Mention
new default behavior.
(Limitations of Builtins) <trap>: Adjust to use new default.
* NEWS: Mention the semantic change.
Suggested by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUpdate example to match actual Tru64 behavior.
Eric Blake [Wed, 19 Nov 2008 03:07:19 +0000 (20:07 -0700)] 
Update example to match actual Tru64 behavior.

* doc/autoconf.texi (Limitations of Builtins) <trap>: Correct
the example.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd AS_SET_STATUS, make AS_EXIT more efficient.
Eric Blake [Mon, 17 Nov 2008 22:49:30 +0000 (15:49 -0700)] 
Add AS_SET_STATUS, make AS_EXIT more efficient.

* lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE, AS_SET_STATUS): New
macros.
(AS_EXIT): Rewrite to avoid forks.
(_AS_SHELL_SANITIZE): Avoid AS_EXIT prior to shell functions.
(AS_PREPARE, _AS_PREPARE): Add new preparation.
* doc/autoconf.texi (Common Shell Constructs) <AS_SET_STATUS>:
Document.
* NEWS: Mention new macro.
* tests/m4sh.at (AS@&t@_EXIT): New test.
(BASENAME_TEST): Sort.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDocument Tru64 bug with 'set -e'.
Eric Blake [Tue, 18 Nov 2008 15:45:04 +0000 (08:45 -0700)] 
Document Tru64 bug with 'set -e'.

* doc/autoconf.texi (Limitations of Builtins) <trap>: Mention a
bug in mixing 'set -e' with 'trap .. 0'.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDocument a Solaris /bin/sh bug with 'set -e'.
Eric Blake [Tue, 18 Nov 2008 13:30:37 +0000 (06:30 -0700)] 
Document a Solaris /bin/sh bug with 'set -e'.

* doc/autoconf.texi (Shell Functions): Mention the bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoDetect empty list in AS_FOR.
Eric Blake [Mon, 17 Nov 2008 13:20:27 +0000 (06:20 -0700)] 
Detect empty list in AS_FOR.

* lib/m4sugar/m4sh.m4 (AS_FOR): Handle iteration over $@
properly.
* tests/m4sh.at (AS@&t@_FOR): Enhance test to catch it.
Reported by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoUse a different workaround for an automake quirk.
Ralf Wildenhues [Sun, 16 Nov 2008 22:03:29 +0000 (23:03 +0100)] 
Use a different workaround for an automake quirk.

* tests/Makefile.am (AUTOMAKE_OPTIONS): Remove.
(distclean_generic): New helper variable, to fool automake.
($(distclean_generic)): Depend on clean-local, to prevent
the race in the two rules with accessing and removing
$(TESTSUITE).
Report by Eric Blake.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoSimplify, avoid unbalanced parentheses from last change.
Ralf Wildenhues [Sun, 16 Nov 2008 22:00:22 +0000 (23:00 +0100)] 
Simplify, avoid unbalanced parentheses from last change.

* lib/m4sugar/m4sh.m4 (_AS_VAR_ARITH_PREPARE): Simplify, avoid
unbalanced parentheses from last change.
Spotted by Eric Blake, fix suggested by Paolo Bonzini.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoFix exit status of expr version of as_func_arith.
Ralf Wildenhues [Sun, 16 Nov 2008 21:18:07 +0000 (22:18 +0100)] 
Fix exit status of expr version of as_func_arith.

* lib/m4sugar/m4sh.m4 (_AS_VAR_ARITH_PREPARE): Count an exit
status of 1 of expr also as success, to avoid failure if the
computation result is zero.  Fixes test failures with IRIX sh,
where the expr variant of as_func_arith is used.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoDo not use read-only variable $status.
Ralf Wildenhues [Sun, 16 Nov 2008 16:54:54 +0000 (17:54 +0100)] 
Do not use read-only variable $status.

* tests/compile.at (AC_RUN_IFELSE): Use $estatus instead of
$status, for zsh.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16 years agoUse the new AS_FOR function.
Eric Blake [Sat, 15 Nov 2008 17:36:22 +0000 (10:36 -0700)] 
Use the new AS_FOR function.

* lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Use new
abstraction for cleaner code.
* lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoAdd AS_FOR, undocumented for now.
Eric Blake [Sat, 15 Nov 2008 17:17:06 +0000 (10:17 -0700)] 
Add AS_FOR, undocumented for now.

* lib/m4sugar/m4sh.m4 (AS_FOR): New macro.
* tests/m4sh.at (AS@&t@_FOR): New test.
Suggested by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoOptimize single-argument loop.
Eric Blake [Thu, 13 Nov 2008 21:02:51 +0000 (14:02 -0700)] 
Optimize single-argument loop.

* lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Avoid forks when
loop only has one argument.
* lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoFix AS_ESCAPE usage bugs.
Eric Blake [Thu, 13 Nov 2008 19:17:01 +0000 (12:17 -0700)] 
Fix AS_ESCAPE usage bugs.

* lib/m4sugar/m4sh.m4 (_AS_VAR_APPEND_PREPARE)
(_AS_VAR_ARITH_PREPARE): Expand macros prior to adding shell
escapes.
(AS_TR_SH, AS_VAR_GET): Use _AS_ESCAPE for speed.
* doc/autoconf.texi (Polymorphic Variables) <AS_VAR_SET>: Document
caveat due to conditional AS_ESCAPE.
* tests/m4sh.at (AS@&t@_VAR basics): Enhance test.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoWhitespace reduction in configure.
Eric Blake [Tue, 11 Nov 2008 17:34:08 +0000 (10:34 -0700)] 
Whitespace reduction in configure.

* lib/autoconf/autoheader.m4 (AH_VERBATIM): Avoid empty lines.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE, AC_CHECK_FILES):
Likewise.
(_AC_DEFINE_Q): Restore empty line, since some clients in the wild
depend on it.

Signed-off-by: Eric Blake <ebb9@byu.net>