Paul Eggert [Thu, 1 Nov 2001 20:14:32 +0000 (20:14 +0000)]
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix NLS before
invoking AS_BASENAME. Set the locale variables to 'C' if
possible, as POSIX requires this to get the traditional
behavior.
* doc/autoconf.texi (Special Shell Variables): Describe the above.
Paul Eggert [Thu, 1 Nov 2001 19:44:57 +0000 (19:44 +0000)]
(AS_SHELL_SANITIZE): Fix NLS before invoking AS_BASENAME. Set the
locale variables to 'C' if possible, as POSIX requires this to get the
traditional behavior.
Paul Eggert [Wed, 31 Oct 2001 19:32:35 +0000 (19:32 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Use Sed rather than
Awk. Fix the sed prepass to work even if there are multiple
instances of $LINENO on the same line. Do not substitute for
other variables like $LINENOT. Do not check file dates; such a
check is unreliable on sufficiently fast machines, and removing
the check makes the code simpler and more reliable. Check for
output and chmod failures.
* doc/autoconf.texi (Special Shell Variables): Document the above.
Paul Eggert [Wed, 31 Oct 2001 19:23:37 +0000 (19:23 +0000)]
(_AS_LINENO_PREPARE): Use Sed rather than Awk. Fix the sed prepass to
work even if there are multiple instances of $LINENO on the same line.
Do not substitute for other variables like $LINENOT. Do not check
file dates; such a check is unreliable on sufficiently fast machines,
and removing the check makes the code simpler and more reliable.
Check for output and chmod failures.
Akim Demaille [Wed, 31 Oct 2001 10:40:12 +0000 (10:40 +0000)]
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Do not
AC_CONFIG_FILES(atlocal) as it means a file atlocal.in *must* be
provided, while it is optional.
* configure.ac: Adjust.
Paul Eggert [Fri, 26 Oct 2001 19:54:34 +0000 (19:54 +0000)]
* NEWS, README, configure.ac, lib/Autom4te/General.pm,
lib/Autom4te/Struct.pm:
Require Perl 5.005_03 instead of just 5.005, as some tests fail
with 5.005_02.
* doc/autoconf.texi (Special Shell Variables): Document some
more LINENO gotchas, particularly with respect to the Awk+Sed hack.
* lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): New macro.
(_AS_LINENO_PREPARE): Use it instead of shell eval, since
eval $LINENO is not portable in practice.
Paul Eggert [Mon, 22 Oct 2001 17:52:28 +0000 (17:52 +0000)]
* lib/autoconf/functions.m4 (AC_FUNC_STRERROR_R):
Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
POSIX decided to standardize on the int flavor of strerror_r.
Always do char* test, as there's no reason not to.
Assign to a char* var, to catch strerror_r that returns int*.
* doc/autoconf.texi (Particular Functions):
Document the above changes. Also, document the fact that
AC_FUNC_STRERROR_R defines HAVE_DECL_STRERROR_R.
Paul Eggert [Mon, 22 Oct 2001 17:50:09 +0000 (17:50 +0000)]
(Particular Functions): Document the HAVE_WORKING_STRERROR_R ->
STRERROR_R_CHAR_P change suggested by POSIX. Also, document the fact
that AC_FUNC_STRERROR_R defines HAVE_DECL_STRERROR_R.
Paul Eggert [Mon, 22 Oct 2001 17:42:32 +0000 (17:42 +0000)]
(AC_FUNC_STRERROR_R): Rename ac_cv_func_strerror_r_works to
ac_cv_func_strerror_r_char_p, and rename HAVE_WORKING_STRERROR_R to
STRERROR_R_CHAR_P, since POSIX decided to standardize on the int
flavor of strerror_r. Always do char* test, as there's no reason not
to. Assign to a char* var, to catch strerror_r that returns int*.
Akim Demaille [Sat, 20 Oct 2001 06:56:45 +0000 (06:56 +0000)]
* lib/Autom4te/General.pm (&update_file): If destination is
unchanged, remove the source.
(&up_to_date_p): Don't be verbose, be debug.
* bin/autoreconf.in: No longer support --m4dir.
(&autoreconf): Display the full path of the configure.ac we are
studying.
Trace it only once.
Be sure to honor --force with gettextize.
Always run aclocal.
* doc/autoconf.texi: Adjust.
Akim Demaille [Sat, 20 Oct 2001 06:51:41 +0000 (06:51 +0000)]
* bin/autoheader.in ($localdir, $m4, $SIMPLE_BACKUP_SUFFIX):
Remove, dead.
* bin/autoreconf.in (&autoreconf): Do not run gettextize when
`intl' is already present, as it refuses unless --force.
(&parse_args): Use -I, --include instead of the old Autoconf
options.
($localdir, $autoconf_dir): Remove.
(@include): New.
(&maybe_autoreconf): New, to preserve $_ for File::Find.
Akim Demaille [Fri, 19 Oct 2001 17:34:53 +0000 (17:34 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Name the generated
file in @configure_input@.
Don't mention `automatically' in addition to `generated'.
* tests/torture.at (#define header templates): Adjust.
Paul Eggert [Thu, 18 Oct 2001 23:43:52 +0000 (23:43 +0000)]
(AS_DIRNAME): Use 'dirname' if that works.
(AS_BASENAME_EXPR): New macro.
(AS_BASENAME_SED): Do not assume GNU sed semantics.
(AS_BASENAME): Use 'basename' if that works; then try 'expr';
and fall back on 'sed' only if the other two fail. This makes
AS_BASENAME act more like AS_DIRNAME.
Paul Eggert [Thu, 18 Oct 2001 23:39:26 +0000 (23:39 +0000)]
* lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Cast sizeof to unsigned
long, to work around a bug in the HP C compiler version HP92453-01
B.11.11.23709.GP.
* lib/m4sugar/m4sh.m4 (AS_DIRNAME): Use 'dirname' if that works.
(AS_BASENAME_EXPR): New macro.
(AS_BASENAME_SED): Do not assume GNU sed semantics.
(AS_BASENAME): Use 'basename' if that works; then try 'expr';
and fall back on 'sed' only if the other two fail. This makes
AS_BASENAME act more like AS_DIRNAME.
* lib/autoconf/general.m4 (_AC_INIT_SRCDIR):
Use AS_DIRNAME, since I think it's now DOS-friendly.
* tests/m4sh.at (DIRNAME_TEST): New arg $3.
Allow "dirname //FOO" to return either / or //, as POSIX allows
either behavior.
Akim Demaille [Wed, 10 Oct 2001 12:58:44 +0000 (12:58 +0000)]
* lib/autoconf/general.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS)
(AC_INCLUDES_DEFAULT): Move to...
* lib/autoconf/headers.m4: here.
* lib/autoconf/types.m4: Comment changes.
* doc/autoconf.texi: Specify where the default includes are used
in the macro prototypes.
Akim Demaille [Mon, 8 Oct 2001 09:40:33 +0000 (09:40 +0000)]
* bin/autoreconf.in (&autoreconf): Remove debugging code.
(&parse_args): Pass verbosity/debugging options to subtools when
--debug, not when --verbose.
* lib/autom4te.in (Autoreconf-preselections): New.
(Autoconf): Use it.
Akim Demaille [Mon, 8 Oct 2001 08:20:59 +0000 (08:20 +0000)]
* lib/autoconf/general.m4 (_m4_divert(BODY)): Move to...
* lib/m4sugar/m4sh.m4: here.
(AS_INIT): Push the BODY diversion, set the #! /bin/sh line.
* lib/autoconf/general.m4 (AC_PLAIN_SCRIPT) : Remove.
(AT_INIT): Replace AC_PLAIN_SCRIPT with AS_INIT invocation,
include handle the m4_pattern_*, no longer push the
BODY diversion nor set the /bin/sh line, AS_INIT does it.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* tests/base.at: Adjust the tests to use AS_INIT.
* tests/tools.at (AT_DATA_FORBIDDEN): New.
(autoconf: forbidden tokens): Adjust to work on M4sh instead of
Autoconf.
Paul Eggert [Mon, 8 Oct 2001 04:17:08 +0000 (04:17 +0000)]
* doc/autoconf.texi (config.status Invocation):
CONFIG_SHELL defaults to a shell that supports LINENO if available.
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): If the current
shell does not support LINENO, and if CONFIG_SHELL is unset or
empty, and if we can find a shell that does support LINENO,
then set CONFIG_SHELL to that shell and then re-execute
ourselves with CONFIG_SHELL.
Paul Eggert [Mon, 8 Oct 2001 04:10:32 +0000 (04:10 +0000)]
(_AS_LINENO_PREPARE): If the current shell does not support LINENO,
and if CONFIG_SHELL is unset or empty, and if we can find a shell that
does support LINENO, then set CONFIG_SHELL to that shell and then
re-execute ourselves with CONFIG_SHELL.
Paul Eggert [Fri, 5 Oct 2001 19:07:09 +0000 (19:07 +0000)]
* tests/Makefile.am (clean-local): Don't invoke $(TESTSUITE) if it
doesn't exist. Remove *.tmp, as a .tmp file is created during the
build of $(TESTSUITE).
Akim Demaille [Fri, 5 Oct 2001 16:12:22 +0000 (16:12 +0000)]
* tests/m4sh.at (LINENO): New.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Be sure to set
PATH_SEPARATOR before using it.
Fix the absolute path case/esac pattern.
Provide $0 as fallback for as_myself.
Reported by Raja R Harinath.
Paul Eggert [Tue, 2 Oct 2001 23:33:49 +0000 (23:33 +0000)]
* doc/autoconf.texi (Limitations of Builtins): You can't use
"source"; it's not portable. Remove confusing and
somewhat-incorrect example involving "." and "/".
Akim Demaille [Mon, 1 Oct 2001 07:01:08 +0000 (07:01 +0000)]
* lib/autotest/general.m4 (AT_INIT) <--help>: Catch up with reality.
No longer output the list of tests.
<--list>: New option.
<--full-help>: Remove.
Complete the short/long options duality.
Various small adjustments.
Paul Eggert [Sun, 30 Sep 2001 17:17:34 +0000 (17:17 +0000)]
* lib/autoconf/status.m4 (AC_OUTPUT_MAKE_DEFS):
Don't use nested parenthesization. This patch was originally
suggested to bug-autoconf by Philippe De Muyter on 2000-05-28,
but somehow it didn't get incorporated then.
* doc/autoconf.texi (Limitations of Usual Tools):
Clarify remark about sed and nested parenthesization.
Paul Eggert [Sun, 30 Sep 2001 17:12:34 +0000 (17:12 +0000)]
(AC_OUTPUT_MAKE_DEFS):
Don't use nested parenthesization. This patch was originally
suggested to bug-autoconf by Philippe De Muyter on 2000-05-28,
but somehow it didn't get incorporated then.
Paul Eggert [Sun, 30 Sep 2001 15:18:47 +0000 (15:18 +0000)]
* lib/autoconf/types.m4 (AC_CHECK_SIZEOF):
Report an error if the size cannot be determined even though
the type exists.
* lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE):
Check for `expr' arithmetic overflow, and for compilation failure,
and invoke a new argument $4 if either is discovered.
This makes _AC_COMPUTE_INT_COMPILE more like _AC_COMPUTE_INT_RUN.
(_AC_COMPUTE_INT): Pass IF-FAILS arg to _AC_COMPUTE_INT_COMPILE.
Paul Eggert [Sun, 30 Sep 2001 15:17:25 +0000 (15:17 +0000)]
(_AC_COMPUTE_INT_COMPILE):
Check for `expr' arithmetic overflow, and for compilation failure,
and invoke a new argument $4 if either is discovered.
This makes _AC_COMPUTE_INT_COMPILE more like _AC_COMPUTE_INT_RUN.
(_AC_COMPUTE_INT): Pass IF-FAILS arg to _AC_COMPUTE_INT_COMPILE.
* lib/autotest/general.m4 (AT_VICTIMS): Rename as...
(AT_TESTED): this.
(AT_INIT): More the wrapped section to where it will be expanded.
Output `AT_tested' only when existing.
Catch unexpanded PACKAGE_STRING and PACKAGE_BUGREPORT.
Fix the passing of $? to ACTION-IF-FAILED in AC_TRY_RUN, that
generates too many bug reports.
* lib/autoconf/general.m4 (_AC_RUN_IFELSE): Pass the right exit
status when executing the ACTION-IF-FALSE.
* tests/base.at (AC_TRY_*): Rename as...
(AC_TRY_COMMAND): this.
(AC_RUN_IFELSE): New.
* tests/compile.at (Extensions, C keywords)
(AC_PROG_CPP requires AC_PROG_CC, GNU Fortran 77)
(Broken/missing compilers, AC_PROG_CPP with warnings)
(AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Move to...
* tests/c.at (Extensions, C keywords)
(Broken/missing compilers, AC_PROG_CPP with warnings)
(AC_PROG_CPP without warnings, AC_PROG_CPP via CC)
(AC_PROG_CPP requires AC_PROG_CC): here and...
* tests/fortran.at (GNU Fortran 77): there.
* doc/autoconf.texi (autoconf Invocation): Fix the example:
AC_TRY_RUN is about compilation, not shell commands.
(Test Programs): AC_TRY_RUN works as used to be advertised.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix bugs spotted by
Raja R Harinath:
Be sure to detect when $LINENO always returns the same value.
Look for the original script, basename($0) is certainly not
enough.
Pass the CLI arguments to `$as_me.lineno'.
* lib/autotest/general.m4 (AT_INIT): Dump the whole config.log.
Be sure the close and reopen the LOG fd before and after using tee
to extend the log.
<at_tests_pattern>: Adjust to the new format of at_help_all.
* lib/autoconf/status.m4 (_AC_SRCPATHS): Compute and provide
ac_buildpath, ac_top_buildpath, ac_srcpath, and ac_top_srcpath.
(_AC_OUTPUT_FILES): Also substitute srcpath, top_srcpath,
builddir, buildpath, top_builddir, and top_buildpath.
(_AC_OUTPUT_SUBDIRS): Compute the dir variables *before* changing
the current directory.
* lib/autoconf/general.m4 (_AC_INIT_HELP): Compute the dir
variables *before* changing the current directory.
Skip nonexistent dirs.
* doc/autoconf.texi (Preset Output Variables): Document these
variables.
* lib/autotest/general.m4: Do not reset AT_victims.
Don't compute at_srcdir nor at_top_srcdir.
* tests/tools.at: Hence use top_srcdir.
* tests/Makefile.am, tests/autoconf, tests/autoheader,
* tests/autom4te, tests/autoreconf, tests/autoupdate, tests/ifnames:
Remove.
* tests/autoreconf.in, tests/wrappl.in, tests/autom4te.in,
* tests/wrapsh.in, tests/autoupdate.in: New.
* tests/Makefile.am (DISTCLEANFILES, EXTRA_DIST): Adjust.
* configure.ac: Build the position independent wrappers.
* man/Makefile.am: Now that test wrappers are position
independent, use them and drop dark envvar magic.
* lib/autotest/general.m4 (AT_INIT): Dump config.log last.
Pass $at_debug_args to the rerun test suite.
* lib/m4sugar/Makefile.am (DISTCLEANFILES): New.
* bin/Makefile.am (ETAGS_SH): Don't use characters ranges.
From Paul Eggert.