Paul Eggert [Wed, 25 Sep 2002 00:25:34 +0000 (00:25 +0000)]
Fix a portability bug reported by Alexandre Duret-Lutz: Solaris 8
make handles suffix-rules differently from GNU make.
* bin/Makefile.am (SUFFIXES, .in): Remove.
(autoconf autoheader autoreconf autoupdate ifnames autoscan autom4te):
Move the body of the old .in rule here.
* bin/autoreconf.in: Don't use Cwd::chdir, since in its internals
(chdir_init) might hang when stat'ing mounted directories.
Reported by Vance Shipley.
* doc/autoconf.texi (Defining Symbols): Present two different
prototypes for AC_DEFINE and AC_DEFINE_UNQUOTED to emphasize the
difference between 1 argument calls, and 2-3 argument calls.
Paul Eggert [Wed, 11 Sep 2002 19:04:26 +0000 (19:04 +0000)]
* doc/autoconf.texi (Defining Symbols): Explain that
AC_DEFINE(var) defaults to 1, but AC_DEFINE(var,,description) does
not; and the AC_DEFINE(var) case is obsolescent.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Keep the
`duplicates', since the algorithm was too naive and could keep
`--prefix=1 --prefix=2 --prefix=1' as `--prefix=1 --prefix=2', and
keep `--prefix foo --prefix bar' as `--prefix foo bar'.
Reported by Ralf Corsepius.
* tests/torture.at (Configuring subdirectories): Exercise these
cases.
* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use $srcdir when
looking for a replacement file.
* lib/autoconf/general.m4 (AC_CHECK_DECLS): Check that the
directory is relative.
* doc/autoconf.texi (Generic Functions): Clarify the replacement
directory definition.
Reported by Andreas Schwab and Jim Meyering.
* bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate)
(ifnames, autoscan, autom4te): Since we don't only depend on
configure.ac variables (such as VERSION etc.), but also on prefix
and so forth, depend on Makefile, not configure.ac.
Reported by Alexandre Duret-Lutz.
* doc/autoconf.texi (Installation Directory Variables): Adjust.
* lib/Autom4te/General.pm (&update_file): s/die/error/.
Reported by Raja R. Harinath.
* bin/autoheader.in, bin/autoreconf.in, bin/autoscan.in,
* bin/autoupdate.in: Use error instead of die.
Paul Eggert [Mon, 2 Sep 2002 06:44:58 +0000 (06:44 +0000)]
* tests/mktests.sh (ac_exclude_egrep, au_exclude_egrep): Use
ordinary shell concatenation rather than echo+tr+sed command that
runs afoul of a long-line-related sed bug in Solaris 8.
Paul Eggert [Mon, 2 Sep 2002 06:44:27 +0000 (06:44 +0000)]
(ac_exclude_egrep, au_exclude_egrep): Use ordinary shell concatenation
rather than echo+tr+sed command that runs afoul of a long-line-related
sed bug in Solaris 8.
Paul Eggert [Sun, 1 Sep 2002 10:41:31 +0000 (10:41 +0000)]
* bin/autoconf.as: Work even if "ls" outputs "FOO not found" to
stdout, as traditional "ls" does.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT,
_AC_COMPILER_EXEEXT_O): Likewise.
* doc/autoconf.texi (Limitations of Usual Tools): Add "ls".
* bin/autoconf.as: Add --prepend-include option. This patch was
applied to bin/autoconf.in in the 2002-07-17 patch by Mark D. Roth,
but bin/autoconf.in is generated automatically from bin/autoconf.as.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Unset ENV, MAIL,
MAILPATH and set PS1, PS2, PS4 to default values, to work
around bug in pre-3.0 UWIN ksh reported by Bruce Lilly.
For LC_ALL etc, first try to set to "C" as POSIX requires and as
the Autoconf documentation specifies; fall back to "unset" only if
this fails. Use a shell for-loop for this rather than an m4 loop,
to shorten the output script.
Paul Eggert [Sun, 1 Sep 2002 08:24:04 +0000 (08:24 +0000)]
(AS_SHELL_SANITIZE): Unset ENV, MAIL,
MAILPATH and set PS1, PS2, PS4 to default values, to work
around bug in pre-3.0 UWIN ksh reported by Bruce Lilly.
For LC_ALL etc, first try to set to "C" as POSIX requires and as
the Autoconf documentation specifies; fall back to "unset" only if
this fails. Use a shell for-loop for this rather than an m4 loop,
to shorten the output script.
Paul Eggert [Sat, 31 Aug 2002 05:52:46 +0000 (05:52 +0000)]
* doc/autoconf.texi (Special Shell Variables): Mention POSIX
1003.1-2001's requirements for CDPATH. Give a simpler workaround
for the CDPATH problem. Document PWD.
(Limitations of Builtins): Document the problem that "cd $foo" and
"ls $foo" may refer to different directories in shells conforming
to POSIX 1003.1-2001. Use PS1 rather than CDPATH for "unset"
example, since the old example is now out of date.
* lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Reject FOO if "cd
FOO" and "ls FOO" talk about different directories; this catches
problems when POSIX 1003.1-2001 "cd" fails due to symlink
spaghetti.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Use AS_UNSET instead
of rolling our own unset.
(_AS_PREPARE): $as_unset CDPATH instead of AS_UNSETting it, since
in practice we needn't worry about CDPATH if unset doesn't work.
Paul Eggert [Sat, 31 Aug 2002 05:48:04 +0000 (05:48 +0000)]
(AS_SHELL_SANITIZE): Use AS_UNSET instead
of rolling our own unset.
(_AS_PREPARE): $as_unset CDPATH instead of AS_UNSETting it, since
in practice we needn't worry about CDPATH if unset doesn't work.
Paul Eggert [Sat, 31 Aug 2002 05:47:02 +0000 (05:47 +0000)]
(_AC_INIT_SRCDIR): Reject FOO if "cd FOO" and "ls FOO" talk about
different directories; this catches problems when POSIX 1003.1-2001
"cd" fails due to symlink spaghetti.
Paul Eggert [Sat, 31 Aug 2002 05:46:05 +0000 (05:46 +0000)]
* doc/autoconf.texi (Special Shell Variables): Mention POSIX
1003.1-2001's requirements for CDPATH. Give a simpler workaround
for the CDPATH problem. Document PWD.
(Limitations of Builtins): Document the problem that "cd $foo" and
"ls $foo" may refer to different directories in shells conforming
to POSIX 1003.1-2001. Use PS1 rather than CDPATH for "unset"
example, since the old example is now out of date.
Akim Demaille [Thu, 29 Aug 2002 08:03:10 +0000 (08:03 +0000)]
* lib/Autom4te/General.pm (&xqx): New.
(&xsystem): Use WIFEXITED and WEXITSTATUS instead of decoding $? by
hand, which is not portable.
(&error): New.
* bin/autom4te.in: Use them.
Use &error instead of die.
* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Adjust.
Paul Eggert [Sun, 18 Aug 2002 00:47:25 +0000 (00:47 +0000)]
(AC_PROG_F77): Remove fc from the default list of compilers to try,
since it was long ago superseded by the ksh fc builtin. Suggested by
Steven G. Johnson.
* doc/autoconf.texi (Invoking autom4te): End the option table,
fixing a bug introduced by the previous patch.
(Limitations of Make): Add a 'target lookup' subentry in the
'VPATH' entry. Rewrite all `make' occurences as `@command{make}'.
Mark D. Roth [Tue, 30 Jul 2002 00:42:58 +0000 (00:42 +0000)]
2002-07-29 Mark D. Roth <roth@feep.net>
* bin/autom4te.in: Remove --include-envvar and --site-macro-subdir
options and use $AUTOM4TE_PATH.
* doc/autoconf.texi: Remove documentation of autom4te
--include-envvar and --site-macro-subdir options and document
use of $AUTOM4TE_PATH.
* lib/autom4te.in: Remove --include-envvar and --site-macro-subdir
arguments from each language section.
Paul Eggert [Mon, 29 Jul 2002 08:26:04 +0000 (08:26 +0000)]
* doc/install.texi: Include copyright symbol in copyright notice.
* Makefile.am (MAKEINFO): Remove; it's a user-specified macro.
Replace with:
(AM_MAKEINFOFLAGS): New macro.
* doc/Makefile.am (MAKEINFO, AM_MAKEINFOFLAGS): Likewise.
* Makefile.am (INSTALL): Use the new macros.
Use -o rather than --output, since "missing" does not grok --output.
Paul Eggert [Mon, 29 Jul 2002 08:23:56 +0000 (08:23 +0000)]
(MAKEINFO): Remove; it's a user-specified macro. Replace with:
(AM_MAKEINFOFLAGS): New macro.
(INSTALL): Use it. Use -o rather than --output, since "missing" does not
grok --output.
Paul Eggert [Tue, 23 Jul 2002 22:17:19 +0000 (22:17 +0000)]
(_AS_PATH_SEPARATOR_PREPARE):
Use PATH="/nonexistent;.", not PATH=".;.", as FreeBSD ksh2002
apparently treats PATH="nonexistent" as if it contained ".".
Bug reported by Stefan `Sec' Zehl.
Paul Eggert [Tue, 23 Jul 2002 22:16:36 +0000 (22:16 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE):
Use PATH="/nonexistent;.", not PATH=".;.", as FreeBSD ksh2002
apparently treats PATH="nonexistent" as if it contained ".".
Bug reported by Stefan `Sec' Zehl.
Handle LIBOBJS and LTLIBOBJS once for all, including Libtool's and
Automake's parts.
* lib/autoconf/general.m4 (_AC_LIBOBJS_NORMALIZE): New.
* lib/autoconf/status.m4 (AC_OUTPUT_COMMANDS_PRE): Call it.
* tests/semantics.at (AC_REPLACE_FUNCS): Adjust.