Commit Graph

6237 Commits

Author SHA1 Message Date
Ralf Wildenhues
97d209ddb1 docs: document zsh specialty with empty here-documents.
* doc/autoconf.texi (Here-Documents): zsh 4.3.10 adds a newline
to empty here-docs.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:27:31 +02:00
Ralf Wildenhues
23a2c336ad docs: document zsh special array $options.
* doc/autoconf.texi (Special Shell Variables): Add entry for
`options'.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:21:31 +02:00
Ralf Wildenhues
cb093133b5 doc: minor updates.
* doc/autoconf.texi (Generic Compiler Characteristics): Use
second argument of @uref consistently, for nicer OpenMP link.
(Polymorphic Variables): Restore font-lock.
(Debugging): Add item for bashdb.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:21:00 +02:00
Ralf Wildenhues
37b43561c5 Document and test AT_CHECK args shell execution environment.
* doc/autoconf.texi (Writing Testsuites): Document that COMMANDS
is run in a subshell, but RUN-IF-FAIL and RUN-IF-PASS are not.
* tests/autotest.at (AT@&t@_CHECK execution environment): New
test.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:19:51 +02:00
Ralf Wildenhues
d85369c9bf autotest: document and test at_status semantics.
* doc/autoconf.texi (Writing Testsuites): Document $at_status.
* tests/autotest.at (at_status): New test.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:19:20 +02:00
Ralf Wildenhues
88eeae7588 doc: index entries for non-environment, non-output variables.
* doc/autoconf.texi: Clarify the meaning of the various variable
indices.  Merge variable index `vr' into concept index using
syncodeindex.
(Configuration Actions, Generic Programs, Generic Functions)
(Writing Testsuites): Add index entries for documented shell
variables used during in configure and testsuite scripts.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 20:18:10 +02:00
Fernando Carrijo
dfa02369c4 docs: fix minor typo and 'See See foo' instances
* doc/autoconf.texi (Buffer Overruns and Subscript Errors): Fix
usage of TeX superscript notation to correctly represent number
exponent.
(Shell Functions): s/[Ss]ee @xref/@xref/
(Limitations of Shell Builtins, Canonicalizing): Likewise.
* THANKS: Update.

Signed-off-by: Fernando Carrijo <fcarrijo@freedesktop.org>
Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-13 10:20:05 -06:00
Eric Blake
d8e7417c13 tests: skip broken automake wrapper on MirBSD
On a fresh default install, MirBSD ships with an automake wrapper
script that has bad behavior:

$ automake --version; echo $?
Provide an AUTOMAKE_VERSION environment variable, please
0

* tests/tools.at (autom4te preselections): Skip, rather than fail,
if 'automake --version' succeeds without printing a version when
an environment variable is not set.
* tests/torture.at (Configuring subdirectories)
(Unusual Automake input files): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-13 10:08:58 -06:00
Ralf Wildenhues
b8e54a39f0 doc: minor indexing update.
(Shell Substitutions, Site Defaults): Fix markup for indexed
entried, using @code and @file as appropriate.
(M4 Macro Index): Clarify which of the indexed macros have m4_
and which have AS_ prefix.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 09:40:20 +02:00
Eric Blake
cd12a7faea m4sh: preserve set -vx over re-exec
See http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00035.html
for the motivation for this patch.

* lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Trace through
re-exec, to make it easier to debug script startup issues.
Idea from recent bug-gnulib change to init.sh.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-08 10:43:25 -06:00
Eric Blake
e10883c0df docs: update alloca recommendations
* doc/autoconf.texi (Particular Functions): Don't redeclare alloca
on FreeBSD.
* THANKS: Update.
Reported by Giorgos Keramidas.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-08 09:42:56 -06:00
Eric Blake
0569949c61 docs: link to GNU Coding Standards in intro
* doc/autoconf.texi (Introduction): Actually link to the
standards.  Make other references consistent.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-08 09:13:38 -06:00
Eric Blake
10adce65fe docs: mention traditional awk limitation
* doc/autoconf.texi (Limitations of Usual Tools) <awk>: Mention
that traditional awk lacks ENVIRON.  Add reference to awk manual.
(Particular Programs) <AC_PROG_AWK>: Add reference to awk section.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-08 08:23:13 -06:00
Eric Blake
4416ea8d25 docs: mention bash vs. POSIXLY_CORRECT
* doc/autoconf.texi (Special Shell Variables) <POSIXLY_CORRECT>:
Document bash behavior.
* THANKS: Update.
Reported by Dustin J. Mitchell, via bug-gnulib list.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-07 13:52:44 -06:00
Eric Blake
d46804252a docs: enhance recommendations on test usage
* doc/autoconf.texi (Limitations of Builtins) <test (strings)>:
Mention yet another Solaris issue.
Reported by Stefano Lattarini.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-07 08:40:46 -06:00
Eric Blake
35b14d5e35 tests: avoid trashing /
* tests/torture.at (AC_CONFIG_COMMANDS with temporary directory):
Use a relative path, rather than risking issues with /.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-30 11:59:40 -06:00
Eric Blake
2626155d5c docs: mention Solaris here-docs vs. ${a-"b c"}
* doc/autoconf.texi (Shell Substitutions) <${var:=value}>:
Document problem of "" within here-docs.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-30 11:16:17 -06:00
Eric Blake
30378453ea fortran: always avoid AC_LANG_CONFTEST warning
* lib/autoconf/lang.m4 (AC_LANG_CONFTEST()): Make the default
match the fact that the default AC_LANG_SOURCE does not inline
confdefs.h in the first place.
* lib/autoconf/fortran.m4 (AC_FC_FREEFORM, AC_FC_FIXEDFORM)
(AC_FC_LINE_LENGTH, __AC_FC_NAME_MANGLING): Revert previous use of
AC_LANG_DEFINES_PROVIDED.
Suggested by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-30 10:43:33 -06:00
Eric Blake
d97d8a7d04 config.status: minimize use of $tmp
* lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP)
(_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_FILE)
(_AC_OUTPUT_HEADERS_PREPARE, _AC_OUTPUT_HEADER): Use $ac_tmp
internally, while preserving $tmp for existing users.
* tests/torture.at (AC_CONFIG_COMMANDS with temporary directory):
New test, that $tmp is available but not essential.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-30 10:43:31 -06:00
Eric Blake
6284d1bef7 docs: avoid use of $tmp outside of config.status use
* doc/autoconf.texi (Polymorphic Variables, Shell Substitutions):
Use $var or $t instead.
(Limitations of Usual Tools): Use $dir instead.
(Initialization Macros) <AS_TMPDIR>: Make good on the NEWS
regarding AS_TMPDIR being documented as consuming $tmp.
Suggested by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-30 09:56:41 -06:00
Paul Eggert
838bdfa56d AC_PROG_YACC: fix comment re what "yacc" stands for
* lib/autoconf/programs.m4 (AC_PROG_YACC): YACC stands for
"Yet Another Compiler Compiler", not "Yet Another C Compiler".
Problem reported by Chris Long in
<http://lists.gnu.org/archive/html/bug-autoconf/2010-08/msg00134.html>.
2010-08-29 20:21:26 -07:00
Ralf Wildenhues
79fc9707ae Avoid long lines in testsuite script.
* lib/autotest/general.m4 (AT_INIT): Remove definition of
AT_groups_all.  Initialize at_groups from at_help_all, with
newlines instead of spaces separating test groups numbers.
Adjust all code to newlines.
* NEWS: Update.
* tests/autotest.at (Huge testsuite): New test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-27 20:03:58 +02:00
Ralf Wildenhues
e9cceec734 Try to update config.cache atomically; respect symlinks.
* lib/autoconf/general.m4 (AC_CACHE_SAVE): Use `mv -f' to update
the cache file if it is a regular file and not a symlink.  Move
first to temporary name in the target directory if not in the
current directory for atomicity across mount points.
* tests/base.at (AC_CACHE_CHECK): Try symlinked cache file.
* doc/autoconf.texi (Cache Files): Leftover temporary cache
files may be deleted by the user.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-27 19:49:28 +02:00
Eric Blake
55f532e539 m4sh: protect LINENO against stray macro
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Double quote entire
sed script, to avoid issue uncovered by automake testsuite where
'b' was an m4 macro that broke execution on dash.
Reported by Stefano Lattarini.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-27 10:59:40 -06:00
Eric Blake
d1bea5123b m4sh: assume ${a:-b} support
* tests/m4sh.at (Null variable substitution): New test.
* doc/autoconf.texi (Shell Substitutions) <${var:-value}>: Mention
that m4sh guarantees support.
(Limitations of Usual Tools) <mktemp>: Use it.
* lib/m4sugar/m4sh.m4 (AS_LINENO_POP, AS_VAR_IF, AS_TMPDIR):
Exploit use of colon for smaller files.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-27 10:05:10 -06:00
Eric Blake
270b834086 docs: document m4_define_default
* doc/autoconf.texi (Conditional constructs) <m4_define_default>:
Document it, since gnulib wants to use it.
* NEWS: Mention this.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-26 16:24:41 -06:00
Eric Blake
1e604ecfb2 autoconf: warn if AC_*_IFELSE lacks complete program
* lib/autoconf/lang.m4 (AC_LANG_DEFINES_PROVIDED): New macro.
(AC_LANG_SOURCE): Call it.
(AC_LANG_CONFTEST): Add warning if new macro is not called.
* lib/autoconf/c.m4 (_AC_LANG_OPENMP): Add missing AC_LANG_SOURCE.
* lib/autoconf/fortran.m4 (AC_FC_FREEFORM, AC_FC_FIXEDFORM)
(AC_FC_LINE_LENGTH, __AC_FC_NAME_MANGLING): Intentionally bypass
AC_LANG_SOURCE.
* lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Likewise.
* tests/compile.at (AC_COMPILE_IFELSE): New test.
* doc/autoconf.texi (Generating Sources) <AC_LANG_CONFTEST>:
Document new warning.
<AC_LANG_DEFINES_PROVIDED>: Document new macro.
<AC_LANG_SOURCE>: Document use of new macro.
* NEWS: Document the improvement.
Suggested by Bruno Haible.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-26 15:24:13 -06:00
Eric Blake
092a8b3848 autoconf: fix regression in AC_FUNC_SELECT_ARGTYPES
* lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): Fix
quoting; regression from yesteray leaked '' into default value.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-26 11:54:11 -06:00
Eric Blake
b292f282e2 docs: mention another issue with variable expansion
In particular, see http://austingroupbugs.net/view.php?id=221
and http://austingroupbugs.net/view.php?id=255.

* doc/autoconf.texi (Shell Substitutions) <${var+value}>: New
subsection.
<${var=literal}>: Tweak wording.  Add mention of an ambiguity
allowed by POSIX.
* tests/torture.at (Substitute and define special characters):
Make test more robust; here, the outer "" is in a here-doc, and
does not violate the quoting rules of thumb just documented.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-26 11:27:49 -06:00
Eric Blake
65d740da99 m4sh: revert incorrect mix of "${a='b'}"
Regression introduced in cb27df430d.

* bin/autoconf.as: Revert leak of literal '' into assignment.
* tests/tools.at (autom4te preselections): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-25 21:27:22 -06:00
Eric Blake
4b6f3d2ce1 m4sh: revert regression in AS_TMPDIR
Regression introduced in e0ac12089e.

* lib/m4sugar/m4sh.m4 (AS_TMPDIR): The previous patch trying to
rename $tmp to $as_tmp was wrong; config.status relies on it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-25 21:27:03 -06:00
Eric Blake
ae1cc9f03f m4sh: reduce size of AS_VAR_TEST_SET
* lib/m4sugar/m4sh.m4 (AS_VAR_TEST_SET): Make more compact.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-25 17:22:21 -06:00
Eric Blake
bbf53dd459 tests: improve some shell assumption testing
* tests/m4sh.at (Functions Support, Functions and return Support)
(Negated classes in globbing): Update comments.
(AS@&t@_VAR basics): Test comparison to empty string.
2010-08-25 17:22:21 -06:00
Eric Blake
cb27df430d docs: mention cost of globbing during variable expansion
* doc/autoconf.texi (Shell Substitutions) <${var=literal}>:
Recommend quoting substitutions that might trigger globbing.
(Limitations of Builtins) <:>: Likewise.
* bin/autoconf.as: Follow our own advice.
* lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): Likewise.
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Likewise.
* lib/autoconf/status.m4 (AC_OUTPUT): Likewise.
* lib/autotest/general.m4 (_AT_FINISH): Likewise.
* lib/m4sugar/m4sh.m4 (AS_TMPDIR): Likewise.
* tests/autotest.at (parallel autotest and signal handling):
Likewise.
* tests/c.at (AC_OPENMP and C, AC_OPENMP and C++): Likewise.
* tests/foreign.at (shtool): Likewise.
* tests/fortran.at: Likewise.
* tests/tools.at (autom4te preselections): Likewise.
* tests/torture.at (VPATH): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-25 17:22:18 -06:00
Eric Blake
e0ac12089e m4sh: fix some namespace safety issues
* lib/m4sugar/m4sh.m4 (_AS_SHELL_SANITIZE): Avoid problems if
as_myself is inherited from environment.
(AS_TMPDIR): Be namespace clean.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-25 16:21:39 -06:00
Ralf Wildenhues
9b7d0212e7 tests: fix AC_CACHE_CHECK to skip with bad shells.
* tests/base.at (AC_CACHE_CHECK): Skip test with malformed
config.site file if the shell does not report syntax errors
from a sourced file.  Fixes test failure on AIX and FreeBSD.
Report from Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-24 23:12:25 +02:00
Paul Eggert
d984765218 AC_HEADER_STDBOOL: avoid spurious failure with modern xlc
* lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Move the "bool e =
&s;" test into the main program, as C99 might plausibly be
interpreted as not requiring support for this construction in
static initializers.  Remove the "#if defined __xlc__" stuff, as
the bug is not present in recent xlc implementations, and they
reject the test for other (valid) reasons.  People using ancient
xlc versions, if any, are suggested to update to fixed versions.
Reported by Ralf Wildenhues in the thread starting at:
http://lists.gnu.org/archive/html/bug-autoconf/2010-08/msg00103.html
2010-08-24 14:04:16 -07:00
Eric Blake
9a30240650 AC_FUNC_GETLOADAVG: don't define SVR4 on cygwin
* lib/autoconf/functions.m4 (_AC_LIBOBJ_GETLOADAVG): Only define
SVR4 when -lkvm is required.
* THANKS: Update.
Reported by Yaakov Selkowitz.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-24 07:41:41 -06:00
Eric Blake
bfc4d94c7d AC_HEADER_STDBOOL: avoid spurious clang failure
* lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Drop gcc (and by
extension clang) check in favor of a gnulib test.  Force failure,
rather than merely testing for a compiler extension.
* THANKS: Update.
Reported by Anders Kaseorg.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-23 14:36:13 -06:00
Ralf Wildenhues
3b418ae86b doc: AIX sed dislikes indented comments.
* doc/autoconf.texi (Limitations of Usual Tools) <sed>: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-22 15:58:32 +02:00
Stefano Lattarini
1027010dcd autoreconf: mention the AUTOM4TE environment variable
* doc/autoconf.texi (Using autoreconf to Update configure
Scripts): List `AUTOM4TE' among the environment variables
honored by autoreconf.
* bin/autoreconf.in ($help): Likewise.
2010-08-19 10:55:53 -06:00
Eric Blake
6c2fe4a197 doc: improve AS_VAR_IF details
* doc/autoconf.texi (Polymorphic Variables) <AS_VAR_IF>: Make it
clear that user must supply quotes as needed.
* THANKS: Update.
Suggested by Randall Cotton.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-17 08:19:39 -06:00
Ralf Wildenhues
00d80808b5 Fix Autotest --errexit to exit after XPASSing tests.
* lib/autotest/general.m4 (AT_INIT) <at_fn_group_postprocess>:
Exit after an unexpected passing test if $at_errexit.
* tests/autotest.at (errexit): Also try tests that xpass, skip,
xfail, or fail hard.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-16 21:14:20 +02:00
Eric Blake
64000cf1f8 AC_INIT: allow bugreport to contain '?'
* lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Relax check.
* tests/base.at (AC_INIT with unusual version strings): Enhance
test.
* doc/autoconf.texi (Initializing configure): Document this.
* NEWS: Likewise.
* THANKS: Update.
Reported by Yavor Doganov and others.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-14 13:24:53 -06:00
Peter Rosin
8fb83cd25b autotest: keep testsuite files on unexpected pass
* lib/autotest/general.m4 (AT_INIT) <at_fn_group_postprocess>:
Don't cleanup the group directory when a test unexpectedly passes.
* tests/autotest.at (Cleanup): Check that an unexpected pass leaves
the test group directory intact.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-14 12:01:12 -06:00
Ralf Wildenhues
e8ad0ea4c1 Skip AC_FC_SRCEXT([f90]) tests with a Fortran 77 compiler in $FC.
* tests/fortran.at (AC_FC_FREEFORM with AC_FC_SRCEXT)
(AC_FC_FIXEDFORM with AC_FC_SRCEXT): Skip if the compiler cannot
handle files with .f90 extension.
Report by Luke Dalessandro.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-10 22:46:40 +02:00
Ralf Wildenhues
87010b725a Fix testsuite failures with typical m4-x.y.z program suffix.
* tests/local.at (AT_CHECK_M4): Normalize hyphens and digits
after the `m4' program name.
* THANKS: Update.
Report by Luke Dalessandro.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-10 22:46:10 +02:00
Ralf Wildenhues
3fdd727caa Fix description of AC_CONFIG_TESTDIR to not mention atconfig.in.
* doc/autoconf.texi (Making testsuite Scripts): atconfig is not
created from an input template.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-06 23:00:46 +02:00
Bruno Haible
08b6974837 AC_FUNC_ALLOCA: modernize
* lib/autoconf/functions.m4 (AC_FUNC_ALLOCA): Assume that alloca's
return type is 'void *', not 'char *'.  Supply C89 prototype.
Reported by Thomas Klausner.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-08-05 14:53:17 -06:00
Ralf Wildenhues
c40eb4bc72 Fix testsuite failure due to bugs in third-party aclocal macros.
* tests/torture.at (Non-literal AC_CONFIG_SUBDIRS): Create a
hand-written aclocal.m4 file, so the -Werror test doesn't fail
over aclocal warnings about errors in third-party macro files.
Simplify test accordingly, calling autoreconf throughout.
Report by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-05 06:21:09 +02:00