Paul Eggert [Wed, 13 Jun 2007 16:52:24 +0000 (16:52 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Set FPATH too.
Problem reported by Fred Kreek in
<http://lists.gnu.org/archive/html/bug-autoconf/2007-06/msg00009.html>.
* doc/autoconf.texi (Special Shell Variables): Warn about FPATH.
(Macro Names, Defining Directories): Don't mention PATH as a name
for a fully qualified file name, as this usage violates the GNU
coding standards and we shouldn't recommend it.
* lib/autotest/general.m4 (AT_INIT): Don't set PATH to the empty
string and then assume shell builtins like "test" will work.
Noah Misch [Tue, 12 Jun 2007 11:36:56 +0000 (11:36 +0000)]
* lib/autoconf/general.m4 (AC_SUBST): Raise a fatal error if VARIABLE is
not a valid shell variable name.
* tests/mktests.sh (ac_exclude_list): Add AC_ARG_VAR.
* tests/torture.at (AC_SUBST: variable name validation): New test.
Reported by Andreas Schwab.
Paul Eggert [Tue, 29 May 2007 05:36:28 +0000 (05:36 +0000)]
* doc/autoconf.texi (Particular Types): AC_TYPE_INT8_T does not
define HAVE_INT8_T, and likewise for similar macros.
Problem reported by Patrick Welche in
<http://lists.gnu.org/archive/html/autoconf/2007-05/msg00062.html>.
Paul Eggert [Mon, 21 May 2007 23:10:09 +0000 (23:10 +0000)]
* lib/autoconf/c.m4 (AC_OPENMP): Don't echo --enable-openmp
choice, since that's what we do with --enable-largefile etc.
Redo indenting and assignments to simplify things a bit, and make
the parens work with Emacs.
Noah Misch [Thu, 17 May 2007 02:43:12 +0000 (02:43 +0000)]
* bin/autoconf.as: Handle `-' just like other input files.
* bin/autom4te.in (parse_args): Pass `-' through.
(handle_output): Skip the forbidden token search if we read from stdin.
(up_to_date): Always treat stdin as out of date.
* tests/tools.at (autoconf: input from stdin): New test.
(autoconf: forbidden tokens, basic): Check a second `autoconf' run.
Stepan Kasal [Thu, 3 May 2007 14:47:12 +0000 (14:47 +0000)]
* lib/autoconf/lang.m4, lib/autoconf/c.m4,
lib/autoconf/fortran.m4, lib/autoconf/erlang.m4: Cleanup of
section titles and other comments; no code change.
Paul Eggert [Mon, 30 Apr 2007 17:08:07 +0000 (17:08 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_SPY): Don't imply that
'configure' will fail if the shell lacks proper support for shell
functions. Suggested by RMS.
Paul Eggert [Sun, 29 Apr 2007 05:50:27 +0000 (05:50 +0000)]
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Don't look
for a.* when searching for executables, as this prevents users
from having files like a.c. Problem reported by Ralf Wildenhues in:
http://lists.gnu.org/archive/html/autoconf-patches/2007-04/msg00029.html
This fixes a problem introduced on 2000-12-19.
Paul Eggert [Fri, 13 Apr 2007 07:52:57 +0000 (07:52 +0000)]
* NEWS: Document recent changes to AC_CHECK_ALIGNOF, AC_CHECK_SIZEOF,
AC_CHECK_TYPE, AC_CHECK_TYPES.
* doc/autoconf.texi (Generic types): C types must be type-names
(the C terminology), not type-ids (the C++ term). C++ types
must not be anonymous.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW): Remove special case
for C++; this drops support for anonymous struct and union types,
which were problematic anyway.
* tests/semantics.at (AC_CHECK_HEADERS_NEW): Adjust test to work even
for C++.
* lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Fix AC_CONFIG_LINKS
to prefer a link source from the build tree, if it exists.
Report by Pallav Gupta <pallavgupta@gmail.com>.
Paul Eggert [Thu, 12 Apr 2007 00:12:06 +0000 (00:12 +0000)]
* doc/autoconf.texi (Generic Types): Document the restrictions
on types imposed by AC_CHECK_TYPE, AC_CHECK_TYPES.
(Generic Compiler Characteristics): AC_CHECK_SIZEOF now works
with objects too. Document the restrictions on its use.
Document the restrictions on AC_CHECK_ALIGNOF's type argument.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW):
For C, just try sizeof (TYPE) and sizeof ((TYPE)); if the former
works but the latter doesn't, then it's a valid type.
This lets people use function types and so forth.
For C++ there doesn't seem to be a simple solution, so leave it alone.
(AC_CHECK_SIZEOF): Allow argument to be a variable.
(AC_CHECK_SIZEOF, AC_CHECK_ALIGNOF): Don't bother to invoke
AC_CHECK_TYPE; that wasn't documented or necessary.
Paul Eggert [Thu, 29 Mar 2007 22:25:17 +0000 (22:25 +0000)]
* doc/autoconf.texi (Here-Documents, Limitations of Builtins):
(Limitations of Usual Tools): Don't say "older" if Solaris 10 by
default still has the problem. Problem reported by Bruce Korb.
Paul Eggert [Tue, 6 Mar 2007 07:30:17 +0000 (07:30 +0000)]
* doc/autoconf.texi (C Compiler): Warn that AC_C_BIGENDIAN
suggests AC_CONFIG_HEADERS.
* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Warn if not using
AC_CONFIG_HEADERS. Problem reported by
Peter O'Gorman.
Paul Eggert [Thu, 1 Mar 2007 00:18:28 +0000 (00:18 +0000)]
* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Fix typo "__LITLE_ENDIAN__".
Problem reported by Paolo Bonzini in:
http://lists.gnu.org/archive/html/autoconf-patches/2007-02/msg00024.html
* tests/semantics.at (AC_C_BIGENDIAN): Don't reject hosts that have
universal binaries. Problem reported by Elias Pipping.
Paul Eggert [Wed, 28 Feb 2007 00:03:33 +0000 (00:03 +0000)]
* NEWS: AC_C_BIGENDIAN now supports universal binaries a la Mac OS X.
* doc/autoconf.texi (C Compiler): Document this. There is a new
extra argument ACTION-IF-UNIVERSAL.
* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Implement this.
Add support for Solaris-style _LITTLE_ENDIAN and _BIG_ENDIAN.
Reindent for sanity's sake.
Ralf Wildenhues [Tue, 13 Feb 2007 06:22:45 +0000 (06:22 +0000)]
* lib/autotest/general.m4 (AT_INIT): With --clean, return exit
status of rm so we know when it failed.
If cleaning of test dir failed before running the test, warn.
Output the line separator in verbose mode before the warning
to make clear the warning belongs to the following test.
Paul Eggert [Wed, 7 Feb 2007 17:45:37 +0000 (17:45 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Prefer \r to
an actual carriage return. Use "ac_cr" to contain the actual
carriage return.
* doc/autoconf.texi (Limitations of Usual Tools): Document problem
with traditional Awk and begin.
* tests/torture.at (Limitations of Builtins): Document the problem
with Bash 2.03 printf.
(Substitute and define special characters):
Remove trailing white space. Work around a bug in Solaris 8 /bin/bash.
Ralf Wildenhues [Tue, 6 Feb 2007 18:52:33 +0000 (18:52 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Redirect
input from /dev/null in awk test, so even Solaris /usr/bin/awk
will not wait for input with a script containing only a BEGIN
rule.
Eric Blake [Fri, 2 Feb 2007 14:07:38 +0000 (14:07 +0000)]
* m4/m4.m4 (AC_PROG_GNU_M4): Reject M4 1.4 through 1.4.4 as
broken.
* configure.ac: Update error message.
* NEWS: Note that M4 1.4.5 or later is now a hard dependency.
Reported by Gary Vaughan and Jim Meyering, and problem analyzed
by Stepan Kasal:
http://lists.gnu.org/archive/html/bug-autoconf/2006-11/msg00025.html
Paul Eggert [Mon, 29 Jan 2007 01:26:12 +0000 (01:26 +0000)]
* doc/autoconf.texi (Shellology): pdksh 5.2.14 is still the
latest version.
(Shell Substitutions): Note problems with @{var:=value} etc.
Add a new section for problems with @{#var} etc. Problem noted
by Ralf Wildenhues. See:
http://lists.gnu.org/archive/html/libtool-patches/2005-01/msg00157.html
Ralf Wildenhues [Tue, 23 Jan 2007 18:54:37 +0000 (18:54 +0000)]
* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Also
AC_SUBST([MKDIR_P]), so that Automake < 1.10 will pick up its
trace, if a package uses AC_PROG_MKDIR_P explicitly. The actual
substitution will still be done by the special code.
Report by Jim Meyering.
Ralf Wildenhues [Fri, 19 Jan 2007 06:54:34 +0000 (06:54 +0000)]
* doc/autoconf.texi (Setting Output Variables): Mention that
all non-NUL characters are ok in substituted values.
* lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): Fix comment typo.
(_AC_OUTPUT_FILES_PREPARE): Test and use backslash escaping of
carriage return for $AWK, needed for BSD awk.
* tests/torture.at (Substitute and define special characters):
Test all 8 bit non-NUL characters.
Report against Automake by Patrick Welche.
Ralf Wildenhues [Thu, 11 Jan 2007 21:17:37 +0000 (21:17 +0000)]
* lib/autoconf/programs.m4 (AC_PROG_SED): When closing a pipe
early on the reader side, drop stderr of the input to avoid
`broken pipe' error output; this may happen even with shell
builtin `echo' of some bash versions. Reports by Ian Macdonald
<iamacdo@telkomsa.net> and Sam Sexton <Sam.Sexton@reuters.com>.
Ralf Wildenhues [Wed, 10 Jan 2007 17:59:57 +0000 (17:59 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Use newlines to
separate items of `ac_user_opts', to avoid long lines.
(_AC_INIT_PARSE_ENABLE2, _AC_ENABLE_IF_ACTION): Adjust.
Paul Eggert [Fri, 5 Jan 2007 23:44:26 +0000 (23:44 +0000)]
Fix some wording problems noted by Paolo Bonzini in:
http://lists.gnu.org/archive/html/autoconf-patches/2007-01/msg00077.html
* doc/autoconf.texi (Signed Overflow Examples): Give more
discussion about the allow_superuser_privileges example,
and change it a bit to make things clearer.
(Optimization and Wraparound): Clarify whether the compiler
will generate an infinite loop for the example derived from
Autoconf's mktime test.
(Signed Overflow Advice): Say that -ftrapv is meant for debugging.
Also, clarify unsigned multiplication overflow.
Paul Eggert [Wed, 3 Jan 2007 07:18:38 +0000 (07:18 +0000)]
* doc/autoconf.texi (Integer Overflow): Revised based on today's
feedback. The most important changes document what happens when
you convert an out-of-range value to a signed integer type, and
say that (sum < a) != (b < 0) reliably detects overflow when sum =
a + b.
Paul Eggert [Tue, 2 Jan 2007 23:06:07 +0000 (23:06 +0000)]
* doc/autoconf.texi (Integer Overflow): Greatly expand and
rewrite, taking notions from the recent discussion on the gcc and
autoconf mailing lists; please see
http://lists.gnu.org/archive/html/autoconf-patches/2006-12/msg00091.html
and follow the many links.
(Integer Overflow Basics, Signed Overflow Examples):
(Optimization and Wraparound, Signed Overflow Advice):
(Signed Integer Division): New sections.
Paul Eggert [Fri, 29 Dec 2006 06:44:41 +0000 (06:44 +0000)]
* lib/autoconf/general.m4 (AC_DEFINE_TRACE): Don't include
preprocessor macro arguments in traced name.
* doc/autoconf.texi (Defining symbols): Document longstanding
support for AC_DEFINE-ing macros with arguments, and document
behavior when the same variable has multiple AC_DEFINEs.
* lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Revert to the
old implementation which AC_DEFINEs the FC_FUNC and FC_FUNC_
macros directly, giving much shorter and simpler code.
Paul Eggert [Thu, 28 Dec 2006 23:20:18 +0000 (23:20 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Insert a
space before "$ac_configure_args" to prevent a 'config.status
--recheck' failure if ac_configure_args doesn't contain a leading
space. This works around a problem with the XEmacs configure.ac,
which uses the (undocumented) ac_configure_args variable
inconsistently with Autoconf.
Paul Eggert [Fri, 22 Dec 2006 08:42:17 +0000 (08:42 +0000)]
* lib/autoconf/functions.m4 (AC_FUNC_MKTIME):
Include <limits.h>, and use its INT_MAX to rewrite the
j loop so that it does not overflow 'int'. Problem reported by
Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
Play it safe by shifting left by 1 rather than multiplying by 2,
as GCC is less likely to optimize this away when the value
is signed (when it assumes overflow leads to undefined behavior).
Also, don't assume time_t uses two's complement.
Ralf Wildenhues [Wed, 20 Dec 2006 00:09:44 +0000 (00:09 +0000)]
* tests/torture.at (Substitute a 2000-byte string): Avoid using
a 10kB long (multi-line) string literal, OpenServer 5.0.7 ksh
dumps core on it. Report by Tim Rice.
Paul Eggert [Tue, 19 Dec 2006 05:41:18 +0000 (05:41 +0000)]
* lib/autoconf/general.m4 (AC_ARG_ENABLE): Print help about
--disable-option-checking to --help output even when
AC_PRESERVE_HELP_ORDER is not used.
(_AC_INIT_PARSE_ENABLE2): Print warnings using actual --enable or
--with argument, rather than argument with [-.] replaced by
underscores.
* NEWS: Fix typo in previous change; the news was in the
wrong section.
Paul Eggert [Mon, 18 Dec 2006 20:10:05 +0000 (20:10 +0000)]
* NEWS: Warnings are now generated by default for unknown
--enable-* and --with-* options.
* doc/autoconf.texi (Option Checking): Renamed from
(Configure Option Checking). Tighten up the wording a bit.
(External Software, Package Options): Cross-reference to Option
Checking, and use this to shorten our section.
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Prefer test -n
"$x" to test "x$foo" != x.
* lib/autoconf/status.m4 (AC_OUTPUT): Likewise.
Don't warn if $enable_option_checking is "no".
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Initialize
ac_unrecognized_opts to the empty string.
Don't echo the unrecognized opts, as this might mishandle
backslashes or leading -.
(AC_PRESERVE_HELP_ORDER): Put the --disable-option-checking
usage next to the other --disable-FEATURE options in the
help string.
2006-12-18 Steven G. Johnson <stevenj@alum.mit.edu>
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS, _AC_INIT_PARSE_ARGS):
(_AC_INIT_PARSE_ENABLE2, _AC_INIT_HELP, _AC_ENABLE_IF):
Print warning for unrecognized --with and --enable options
(AC_DISABLE_OPTION_CHECKING): New macro to disable warnings.
* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS):
Disable option checking when subdirs are configured.
(AC_OUTPUT): If warnings are enabled, print warning about
unrecognized --with and --enable options at the end of
the configure output (as well as at the beginning).
* doc/autoconf.texi (Option Checking): New node.
Document new option warning functionality.
Paul Eggert [Sat, 16 Dec 2006 05:38:41 +0000 (05:38 +0000)]
* lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT):
Define HAVE_GETMNTENT to 1, not to the empty string.
Problem originally reported by Jochen Friedrich in
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=403243>.
Paul Eggert [Fri, 15 Dec 2006 18:25:23 +0000 (18:25 +0000)]
This change prompted by a problem report by Andrey Simonenko in
<http://lists.gnu.org/archive/html/bug-autoconf/2006-12/msg00026.html>.
* doc/autoconf.texi (Defining Symbols): AC_DEFINE works for
object-like macros only, in the traditional portable character
set.
* lib/autoconf/general.m4 (AC_DEFINE_TRACE_LITERAL):
Warn about attempts to define things that are not identifiers.
* lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Rewrite to avoid
awful hack that AC_DEFINEd macro names containing parentheses.
Paul Eggert [Tue, 12 Dec 2006 17:53:13 +0000 (17:53 +0000)]
* doc/autoconf.texi: Undo some of the 2006-12-10 change. It was
too drastic, even if Texinfo in theory requires it for info mode.
(config.status Invocation): Renamed back from Recreating a
Configuration).
(Obsolete config.status Use): Renamed back from Obsolete Recreation.
(Autoconf 2.13): Renamed back from 20th-century Autoconf 2.
Paul Eggert [Mon, 11 Dec 2006 06:40:13 +0000 (06:40 +0000)]
* BUGS: Remove mention of VPATH problem, since it's now documented
not to be a bug in the Autoconf build procedure itself, but rather
a problem with the proprietary `make' programs.
* doc/autoconf.texi (Build Directories): Add a cross reference
to VPATH and Make.
* build-aux/config.guess, build-aux/config.sub, build-aux/texinfo.tex:
* doc/standards.texi: Sync from gnulib.