* lib/m4sugar/general.m4 (_AS_DETECT_BETTER_SHELL): Define the macro
`_AS_FORCE_REEXEC_WITH_CONFIG_SHELL' to `yes', so that the code in
`_AS_DETECT_BETTER_SHELL' will cause autoconf-generated configure
scripts to always re-execute themselves with $CONFIG_SHELL, if it's
set in the environment.
* doc/autoconf.texi (config.status Invocation): Update.
* doc/install.texi (Defining Variables): Likewise.
* NEWS: Likewise.
* tests/m4sh.at: Add tests for the new semantics in ...
(Configure re-execs self with CONFIG_SHELL): ... this new
test group.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): If the m4sh client
has defined the macro `_AS_FORCE_REEXEC_WITH_CONFIG_SHELL' to
"yes", emit code to always re-execute the current script with
$CONFIG_SHELL, if that's set.
* tests/m4sh.at: Add tests for the new and old semantics, in ...
(Re-exec with CONFIG_SHELL, Forced re-exec with CONFIG_SHELL): ...
these new test groups.
* lib/autoconf/fortran.m4 (AC_FC_PP_DEFINE): New macro.
* lib/autom4te.in (Automake-preselections): Preselect it.
* doc/autoconf.texi (Fortran Compiler): Document it.
* tests/local.at (_AT_CHECK_ENV): Do not complain about
FCFLAGS_F nor FC_DEFINE.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/fortran.m4 (AC_FC_PP_SRCEXT): New macro.
* lib/autom4te.in (Automake-preselections): Preselect it.
* doc/autoconf.texi (Fortran Compiler): Document it, rewriting
the documentation for AC_FC_SRCEXT along the way.
* tests/fortran.at (AC_FC_PP_SRCEXT usage): New test.
* tests/mktests.sh: Exclude the macro from default testing.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/fortran.m4 (AC_FC_MODULE_FLAG): New macro,
adjusted and rewritten from the AX_F90_MODULE_FLAG macro from
the Autoconf Macro Archive by Luc Maisonobe, Julian C. Cummings,
and Alexander Pletzer.
* doc/autoconf.texi (Fortran Compiler): Document it.
* tests/fortran.at (AC_FC_MODULE_FLAG): New test.
* tests/local.at (AT_CHECK_ENV): Do not complain about FC_MODINC
setting.
* NEWS, THANKS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/fortran.m4 (AC_FC_MODULE_EXTENSION): New macro,
rewritten from the AX_F90_MODULE_EXTENSION macro from the
Autoconf Macro Archive by Luc Maisonobe and Alexander Pletzer.
* doc/autoconf.texi (Fortran Compiler): Document it.
* tests/local.at (_AT_CHECK_ENV): Do not complain about
FC_MODEXT setting.
* NEWS, THANKS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/fortran.at (GNU Fortran 77): Try to detect f2c wrapper
fort77 as GNU as well: it defines __GNUC__ too. Fixes testsuite
failure when f77 is fort77.
Report from Giulio Paci.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Require
AC_CANONICAL_HOST. Replace test for $CYGWIN with $host_s test.
* tests/fortran.at (AC_F77_DUMMY_MAIN usage)
(AC_FC_DUMMY_MAIN usage, AC_F77_MAIN usage, AC_FC_MAIN usage):
Use AT_CONFIGURE_AC and simplify accordingly, so auxiliary
scripts are copied into the test directories.
(AC_F77_FUNC usage, AC_FC_FUNC usage): Likewise. Adjust to
autoheader being used now.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/base.at (AC_CACHE_CHECK): Normalize configure exit
status in presence of syntax error in sourced site file.
Do not error out if configure is aborted at this point.
Fixes testsuite failure with dash 0.5.5.1.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/m4sugar/m4sh.m4 (_AS_LITERAL_IF): Treat = like +.
* tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP)
(AS@&t@_LITERAL_IF): Expand tests.
* NEWS: Document the fix.
Reported via Ben Pfaff; originally http://bugs.debian.org/593838
Signed-off-by: Eric Blake <eblake@redhat.com>
* tests/compile.at (AC_LANG_SOURCE example)
(AC_LANG_PROGRAM example): Remove trailing spaces before
comparing with expected output. Fixes testsuite failure
with GCC 2.95.3 on Haiku.
Report by Scott McCreary.
Signed-off-by: Eric Blake <eblake@redhat.com>
More fallout from the same 2.66 regression that was partially fixed
yesterday, but until yesterday's AS_LITERAL_IF actually treated \ as a
non-literal, apparently no one noticed the latent bug of a spurious
call to AC_CHECK_FUNC([\]) during automake's libobj5.test.
* lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines
and move guts...
(_AC_REPLACE_FUNCS): ...to new helper.
* tests/semantics.at (AC_REPLACE_FUNCS): Enhance test.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <eblake@redhat.com>
* lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Handle
non-literals, which was lost in 2010-02-26 optimization.
* tests/semantics.at (AC_REPLACE_FUNCS): Enhance test.
* NEWS: Document the fix.
* THANKS: Update.
Reported by Wiseman Jun.
Signed-off-by: Eric Blake <eblake@redhat.com>
* doc/autoconf.texi (Limitations of Usual Tools) <sed>: Mention
the issue.
* tests/torture.at (Substitute and define special characters):
Detect if sed cannot process 8-bit bytes in the C locale.
* THANKS: Update.
Reported by Rochan.
Signed-off-by: Eric Blake <eblake@redhat.com>
* bin/autom4te.in (_m4_warn): Pass warnings through the channels
machinery as a single chunk, to avoid partial filtering.
* lib/m4sugar/m4sugar.m4 (_m4_warn): Document the conventions.
* tests/m4sugar.at (m4@&t@_warn): Enhance test to catch this.
Reported by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
AS_ERROR Regression introduced in commit cffdc3947, but the
underlying problem stems from the introduction of m4_defun_init
in commit d0c5f482.
* lib/m4sugar/m4sugar.m4 (m4_defun_init): Avoid macro
concatenation on subsequent expansions
* tests/m4sh.at (AS_WARN and AS_ERROR): New test.
* tests/m4sugar.at (m4@&t@_require: one-shot initialization):
Enhance test.
* NEWS: Document the fix.
* THANKS: Update.
Reported by Adrian Bunk and and Nishio Futoshi.
Signed-off-by: Eric Blake <eblake@redhat.com>
* tests/tools.at (autom4te preselections): Remove minor
redundancies in regular expressions used to grep the output
'automake --version' for test skipping.
* tests/torture.at (Configuring subdirectories)
(Unusual Automake input files): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
* lib/autotest/general.m4 (AT_DATA): Special case an empty data
file, since zsh botches empty here-docs.
* doc/autoconf.texi (Writing Testsuites) <AT_DATA>: Document that
this allows empty contents.
* tests/autotest.at (AT_DATA): New test.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <eblake@redhat.com>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* tests/compile.at (AC_LANG_SOURCE example)
(AC_LANG_PROGRAM example): Fix broken sed script for
extracting the interesting part of the conftest.c file.
Fixes test failure on Haiku.
* THANKS: Update.
Report by Scott McCreary.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/autotest.at (colored test results): Use exit not
Exit. Fixes test failure with dash 0.5.4.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/autotest.at (parallel args but non-working mkfifo):
New test, to expose the failure v2.66-23-g991183c avoided.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/autoconf.texi (Writing Testsuites) <AT_BANNER>: Update
description.
* lib/autotest/general.m4 (AT_INIT) <at_fn_banner>: Set banner
to single space, not empty line, once printed. For empty
banners, print a single empty line to separate them from a
previous test group category.
* tests/autotest.at (Banners): Insert another test group; adjust
tests accordingly. Extend test to cover semantic change.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/autoconf.texi (Generating Sources): Don't mix gcc '-E' and
'-o -', since the former already implies stdout, while the latter
creates -.exe on cygwin.
* tests/compile.at (AC_LANG_SOURCE example)
(AC_LANG_PROGRAM example): Likewise. Also prevent any config.site
interference.
Signed-off-by: Eric Blake <eblake@redhat.com>
* lib/autoconf/general.m4 (_AC_INIT_LITERAL): Reject a couple more
problematic characters.
* tests/base.at (AC_INIT with unusual version strings): Enhance
test.
* doc/autoconf.texi (Initializing configure) <AC_INIT>: Further
clarifications, and clean up wording about use of m4_esyscmd.
* NEWS: Update previous news entry.
Suggested by Paolo Bonzini.
Signed-off-by: Eric Blake <eblake@redhat.com>