Paul Eggert [Sat, 18 Jun 2011 21:39:57 +0000 (14:39 -0700)]
* lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Try to outsmart GCC.
Problem with stack-detection code reported by Andy Wingo in
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00032.html>.
This fix is imported from gnulib's c-stack module.
New macro AC_FC_PP_DEFINE for the preprocessor define flag.
* 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.
New macro AC_FC_PP_SRCEXT for preprocessed file extensions.
* 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.
New macro AC_FC_MODULE_OUTPUT_FLAG: module output directory.
* lib/autoconf/fortran.m4 (AC_FC_MODULE_OUTPUT_FLAG): New macro.
* doc/autoconf.texi (Fortran Compiler): Document it.
* tests/local.at (_AT_CHECK_ENV): Do not complain about
FC_MODOUT.
* NEWS: Update.
New macro AC_FC_MODULE_FLAG: Fortran 90 module include path.
* 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.
New macro AC_FC_MODULE_EXTENSION: Fortran 90 module extension.
* 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.
Ralf Wildenhues [Sat, 5 Mar 2011 06:55:14 +0000 (07:55 +0100)]
New macro AC_FC_CHECK_BOUNDS to enable Fortran array bounds checking.
* lib/autoconf/fortran.m4 (AC_FC_CHECK_BOUNDS): New macro.
* doc/autoconf.texi (Fortran Compiler): Document it.
* tests/fortran.at (AC_FC_CHECK_BOUNDS): New test.
* NEWS: Update.
Prompted by report from Eve-Marie Devaliere.
Ralf Wildenhues [Fri, 4 Mar 2011 20:25:06 +0000 (21:25 +0100)]
tests: accept f2c/fort77 as GNU Fortran 77.
* 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.
Ralf Wildenhues [Sat, 26 Feb 2011 07:19:36 +0000 (08:19 +0100)]
config.status: do not quote $SHELL when rerunning configure.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Allow
$SHELL to contain more than one word, when rerunning configure,
for debugging purposes like CONFIG_SHELL='/bin/sh -x'.
Christian Rössel [Sun, 20 Feb 2011 17:24:23 +0000 (18:24 +0100)]
Fix OpenMP flag detection for various Fortran compilers.
* lib/autoconf/c.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
OpenMP-conditional compilation construct, to force compile
failure with missing OpenMP flag.
(AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
* THANKS: Update.
Eric Blake [Fri, 18 Feb 2011 18:08:08 +0000 (11:08 -0700)]
docs: document fourth argument of AC_RUN_IFELSE better
* doc/autoconf.texi (Runtime) <AC_RUN_IFELSE>: Make synopsis show
that the default is configure failure. Rework the text about
proper use of the fourth argument.
Paul Eggert [Wed, 16 Feb 2011 09:29:40 +0000 (01:29 -0800)]
autoconf: tune long long tests, particularly for c99
This change is imported from gnulib.
* lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
or running anything if c99, or if unsigned long long int does not
work. In either case, we know the answer without further tests.
Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice. Instead, compile
it at most once, and use its results for both long long int and
unsigned long long int. This is more likely to be efficient in
the common case where the program wants to check for both long
long int and unsigned long long int.
(AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
since the answer is already known.
Paul Eggert [Sat, 5 Feb 2011 04:38:07 +0000 (20:38 -0800)]
autoconf: new macro AC_HEADER_CHECK_STDBOOL
* NEWS: Document this.
* doc/autoconf.texi (Particular Headers): Likewise.
In example, don't assume a 'system.h' exists.
* lib/autoconf/headers.m4 (AC_CHECK_HEADER_STDBOOL): New macro.
Use it with AN_IDENTIFIER, since it's less heavyweight.
Reindent to match gnulib, since that's a bit nicer.
(AC_HEADER_STDBOOL): Reimplement in terms of it.
* doc/autoconf.texi (Parallel Make): Document that some make
implementations, when run in parallel mode, connect stdout and
stderr of child processes to pipes or temporary files, and might
re-route stderr of spawned processes to stout. Also document
that FreeBSD make in parallel mode reuses the same shell for
multiple commands within one recipe (like NetBSD make does).
Ralf Wildenhues [Tue, 25 Jan 2011 19:49:50 +0000 (20:49 +0100)]
docs: advise against HP-UX make due to time stamp semantics.
* doc/autoconf.texi (Timestamps and Make): Document HP-UX 11.31
make issue with targets having the same time stamps as their
prerequisites.
* doc/install.texi (Particular Systems): Warn against using
HP-UX make.
Ralf Wildenhues [Sun, 23 Jan 2011 10:24:02 +0000 (11:24 +0100)]
docs: new section about whitespace trimmmed from make command-lines.
* doc/autoconf.texi (Command-line Macros and whitespace): New
section, document trimming of whitespace from macros set on the
command line and from the environment.
Ralf Wildenhues [Sat, 22 Jan 2011 18:39:29 +0000 (19:39 +0100)]
docs: document how to use comment characters in rules.
* doc/autoconf.texi (Comments in Make Rules): Explain how to
produce a `#' in a rule.
(Comments in Make Macros): Add cross reference.
Suggestion from Eric Blake.
Ralf Wildenhues [Sat, 22 Jan 2011 10:16:27 +0000 (11:16 +0100)]
docs: new sections about comments and whitespace in make macros.
* doc/autoconf.texi (Top, Portable Make): Adjust menus.
(Comments in Make Macros, Trailing whitespace in Make Macros):
New sections.
Suggestion by Stefano Lattarini.
Ralf Wildenhues [Sat, 22 Jan 2011 12:46:06 +0000 (13:46 +0100)]
docs: do not use AIX 5.3 cp -R.
* doc/autoconf.texi (Limitations of Usual Tools): Document one
instance of the cp -R bug on AIX 5.3. This seems to have been
fixed in 6.1 and newer releases.
Ralf Wildenhues [Sat, 22 Jan 2011 08:28:44 +0000 (09:28 +0100)]
docs: update entry about unset.
* doc/autoconf.texi (Limitations of Builtins): NetBSD sh unset
also fails upon `unset' of a variable that is not set. Bash 2.01
could also dump core over `unset MAILPATH'.
Suggestion by Eric Blake.
Ralf Wildenhues [Fri, 21 Jan 2011 20:54:08 +0000 (21:54 +0100)]
Fix LEXLIB and YYTEXT_POINTER with IRIX 6.5 flex 2.5.4.
* lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL):
Overquote nontrivial yyless argument, to compensate for
underquoted macro definition in IRIX 6.5 flex 2.5.4
leading to compile failure due to incompatible operands.
Fixes Automake silent-lex-generic.test failure.
Ralf Wildenhues [Sun, 9 Jan 2011 09:16:33 +0000 (10:16 +0100)]
Avoid reference to $CYGWIN in Fortran macros.
* 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.
* doc/install.texi: Don't force @firstparagraphindent on all
clients; instead, add it only when building INSTALL. Compress
copyright.
* Makefile.am (INSTALL): Match gnulib's formatting.
Reported by Karl Berry.
Eric Blake [Tue, 4 Jan 2011 23:04:12 +0000 (16:04 -0700)]
maint: document use of copyright ranges
* README: Copy coreutils wording for allowing copyright year
ranges.
* cfg.mk (UPDATE_COPYRIGHT_USE_INTERVALS): Now that GNU Coding
Standards permit it, prefer shorthand copyright.
* .x-update-copyright: Exempt an imported file.
Paul Eggert [Fri, 26 Nov 2010 09:21:04 +0000 (01:21 -0800)]
autotest: fix file descriptor leak
* lib/autotest/general.m4 (_AT_CHECK): Close AS_MESSAGE_LOG_FD
when running the test. Problem reported by Luke Mewburn in
<http://lists.gnu.org/archive/html/autoconf/2010-11/msg00036.html>.
Paul Eggert [Sat, 20 Nov 2010 23:26:39 +0000 (15:26 -0800)]
autoconf: don't assume sys/stat.h and sys/types.h when testing C89
Problem reported by Patrick Pelissier in
<http://lists.gnu.org/archive/html/bug-autoconf/2010-11/msg00019.html>.
* lib/autoconf/c.m4 (_AC_PROG_CC_C89): Don't include sys/types.h
and sys/stat.h. Instead, define a dummy struct stat. C89 doesn't
guarantee sys/types.h and sys/stat.h.
Ralf Wildenhues [Tue, 12 Oct 2010 18:29:58 +0000 (20:29 +0200)]
tests: avoid AC_CACHE_CHECK test failure with dash.
* 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.
Eric Blake [Fri, 8 Oct 2010 16:54:31 +0000 (10:54 -0600)]
AS_LITERAL_IF: Treat raw = as literal again.
* 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
Eric Blake [Tue, 5 Oct 2010 15:59:56 +0000 (09:59 -0600)]
doc: suggest a few more workarounds
* doc/autoconf.texi (Limitations of Usual Tools) <tr>: Mention
that 'redundant' brackets can work around Solaris bug.
(File Descriptors): Mention that {} works as well as () for
silencing file-not-found warnings.
* THANKS: Update.
Suggested by Pádraig Brady.
tests: normalize trailing spaces in gcc -E -dD output.
* 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.
Eric Blake [Wed, 22 Sep 2010 21:55:26 +0000 (15:55 -0600)]
AC_REPLACE_FUNCS: allow split lines again
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.
Eric Blake [Tue, 21 Sep 2010 23:00:09 +0000 (17:00 -0600)]
AC_REPLACE_FUNCS: restore shell loop for non-literal
* 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.
Eric Blake [Tue, 21 Sep 2010 18:09:55 +0000 (12:09 -0600)]
tests: XFAIL in the face of a MacOS X bug
* 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.
Eric Blake [Mon, 20 Sep 2010 21:00:28 +0000 (15:00 -0600)]
autom4te: don't filter out portions of location traces
* 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.
Eric Blake [Fri, 17 Sep 2010 16:39:29 +0000 (10:39 -0600)]
config.status: avoid corrupting $ac_t
* lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): Use a
different name, so as not to clash with pre-2.50 usage of "$ac_t"
as a tab character.
Reported by Sam Steingold.
Bruno Haible [Fri, 17 Sep 2010 15:56:27 +0000 (09:56 -0600)]
docs: mark several macros obsolete
* doc/autoconf.texi (Particular Functions): Mark AC_FUNC_ERROR_AT_LINE,
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_MKTIME, AC_FUNC_STRTOD
as obsolete and refer to Gnulib.
* NEWS: Mention the change.
Eric Blake [Thu, 16 Sep 2010 14:43:27 +0000 (08:43 -0600)]
m4sugar: fix regression in AC_MSG_ERROR expansion
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.
* 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.
Eric Blake [Mon, 13 Sep 2010 17:31:23 +0000 (11:31 -0600)]
autotest: work around zsh bug
* 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.
* 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.
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.