* lib/autoconf/status.m4 (_AC_CONFIG_FILE, _AC_CONFIG_HEADER)
(_AC_CONFIG_COMMAND, _AC_CONFIG_LINK): New.
Use dnl, not the KILL diversion.
Extracted from...
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS)
(AC_CONFIG_LINKS): here.
Adjust.
Don't use the KILL diversion, as it kills spurious output, which
results in failures being hidden.
Use m4_defn where appropriate.
(AC_CONFIG_IF_MEMBER): Kill the real bug: a spurious parenthesis
after the second argument.
Use m4_defn.
* lib/autom4te.in (Autoconf, Autotest, M4sh): Don't pass --warning
syntax, as it is provided by M4sugar.
* tests/torture.at (Multiple AC_CONFIG_FILES): New.
Paul Eggert [Mon, 25 Mar 2002 22:03:16 +0000 (22:03 +0000)]
* tests/m4sh.at: Don't rely on "PATH=test:$PATH test-1" working
as POSIX requires, as it doesn't work with Zsh.
* doc/autoconf.texi (Assignments): Document the problem.
Paul Eggert [Fri, 22 Mar 2002 05:37:22 +0000 (05:37 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Unset ENV and BASH_ENV
when reinvoking the shell, to work around problems with installers
who put strange things like "cd" commands in their environments.
Paul Eggert [Fri, 22 Mar 2002 05:35:53 +0000 (05:35 +0000)]
(_AS_LINENO_PREPARE): Unset ENV and BASH_ENV when reinvoking the
shell, to work around problems with installers who put strange things
like "cd" commands in their environments.
Paul Eggert [Tue, 19 Mar 2002 06:44:36 +0000 (06:44 +0000)]
* doc/autoconf.texi (Programming in M4sh): Add AS_MKDIR_P.
(Limitations of Usual Tools): Add mkdir section.
* lib/m4sugar/m4sh.m4 (_AS_MKDIR_P_PREPARE): New macro.
(AS_MKDIR_P): Require it. Use mkdir -p if available, falling
back on AS_DIRNAME to compute prefixes otherwise; this is
roughly what mkinstalldirs does. That way, we need not have
our own filename disassembler. The old disassembler did not
work with Solaris 8 dtksh, which is ksh Version M-12/28/93d.
* lib/autotest/general.m4 (AT_INIT, AT_CLEANUP):
Create at_test_all by a series of assignments,
not by a single assignment of a long string. The latter causes ksh
version 11/16/88g to silently misbehave on OpenServer 5.0.6a,
presumably because of a buffer overrun.
Paul Eggert [Tue, 19 Mar 2002 06:43:17 +0000 (06:43 +0000)]
(AT_INIT, AT_CLEANUP):
Create at_test_all by a series of assignments,
not by a single assignment of a long string. The latter causes ksh
version 11/16/88g to silently misbehave on OpenServer 5.0.6a,
presumably because of a buffer overrun.
Paul Eggert [Tue, 19 Mar 2002 06:23:15 +0000 (06:23 +0000)]
(_AS_MKDIR_P_PREPARE): New macro.
(AS_MKDIR_P): Require it. Use mkdir -p if available, falling
back on AS_DIRNAME to compute prefixes otherwise; this is
roughly what mkinstalldirs does. That way, we need not have
our own filename disassembler. The old disassembler did not
work with Solaris 8 dtksh, which is ksh Version M-12/28/93d.
Paul Eggert [Thu, 14 Mar 2002 18:15:55 +0000 (18:15 +0000)]
* lib/autotest/general.m4 (at_times_skip):
Renamed from at_times. Now a boolean.
ksh93 Version M-12/28/93d doesn't like 'x=times; $x'; it
says 'times: not found'.
Akim Demaille [Mon, 4 Mar 2002 15:06:44 +0000 (15:06 +0000)]
* doc/autoconf.texi (Transforming Names): Equality between target
and host is irrelevant.
(Specifying Names, Canonicalizing): Remove all references to the
backward compatibility hooks. Rather, collect them all into...
(Hosts and Cross-Compilation): this new section.
* doc/install.texi (System Type): Ditto.
* lib/autoconf/general.m4 (AC_CANONICAL_HOST): Explicitly state
that `--host' implies cross-compilation.
Akim Demaille [Mon, 4 Mar 2002 15:05:13 +0000 (15:05 +0000)]
* doc/autoconf.texi (Evaluation Macros): New.
* lib/m4sugar/m4sugar.m4 (m4_lquote): Remove, it is totally
useless.
(_m4_foreach): Define the variant with immediate evaluation so
that it contains exactly the items, not an expression which
evaluation is the current item.
(m4_re_string, m4_re_word): Don't over quote them.
Akim Demaille [Mon, 4 Mar 2002 15:02:21 +0000 (15:02 +0000)]
Instead of having stacking `shift's evaluated at the end, let
`foreach' loops immediately evaluate them.
* lib/m4sugar/m4sugar.m4 (m4_quote, m4_dquote): Use $@ rather than
$*. This is the n-th time I change my mind, but hopefully this is
the last...
(m4_lquote): New.
(m4_text_wrap): Use m4_foreach, which is finally correct _and_
efficient.
(m4_foreach_quoted, m4_car_quoted, _m4_foreach_quoted): Remove, as
it was only a hack for m4_text_wrap.
(m4_car2): Remove, replaced by...
(m4_cdr): New.
(_m4_foreach): Adjust.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust, and use
m4_bpatsubst for clarification.
Akim Demaille [Thu, 7 Feb 2002 12:07:20 +0000 (12:07 +0000)]
Fix Autoconf PR/207:
AC_PREFIX_PROGRAM fails with dashed program names
* lib/autoconf/general.m4 (AC_PREFIX_PROGRAM): Just use a fresh
variable when looking for the prefix program.
Now it also works for shell variables.
Akim Demaille [Wed, 6 Feb 2002 17:51:01 +0000 (17:51 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_COMMANDS): Don't output empty
case/esac, some shells don't support it.
Reported by Zack Weinberg.
* tests/torture.at (AC_CONFIG_COMMANDS with empty commands): New.
Akim Demaille [Wed, 6 Feb 2002 17:29:44 +0000 (17:29 +0000)]
* lib/autotest/general.m4 (AT_INIT): When handling --keywords, be
sure not to introduce newlines in at_groups.
* lib/autotest/Makefile.am (autotest.m4f): Typo.
Paul Eggert [Tue, 5 Feb 2002 22:57:26 +0000 (22:57 +0000)]
* doc/autoconf.texi (Specific Compiler Characteristics):
Describe HP-UX cc bug workaround more accurately.
* lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Cast to long,
not unsigned long.
* tests/semantics.at (AC_CHECK_SIZEOF): Check non-GCC
cross-compilers, too. This undoes some of the most recent change
to this file.
Akim Demaille [Tue, 5 Feb 2002 08:11:32 +0000 (08:11 +0000)]
* bin/autom4te.in (&parse_args): Implement `frozen files are
optional are the sum of the previous files on the command line'.
Also, pass `--reload-state=' on them, so...
(handle_m4): don't.
* lib/autom4te.in (Autotest, Autoconf): Rely on M4sh.
(M4sh): Rely on M4sugar.
(Autotest, M4sh, M4sugar): Use frozen files.
Akim Demaille [Wed, 30 Jan 2002 15:11:49 +0000 (15:11 +0000)]
* tests/semantics.at (AC_CHECK_SIZEOF): Split into two tests: one
for plain code, the other for cross-compilation code. The latter
is now run with GCC only.
* doc/autoconf.texi (Compilers and Preprocessors): New.