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.
Tim Van Holder [Sun, 23 Sep 2001 15:34:56 +0000 (15:34 +0000)]
* m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/init.m4, m4/install-sh.m4,
m4/missing.m4, m4/sanity.m4, m4/strip.m4: Updated to match current versions
from CVS Automake.
Rely on `$LINENO' when possible instead of `__oline__'.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Provide some form of
`$LINENO' support replacement when not supported.
(_AS_CR_PREPARE, _AS_TR_CPP_PREPARE, _AS_TR_SH_PREPARE): Invoke
them explicitly to be sure they are not output before this section
(via m4_require). Cosmetic only.
* lib/autoconf/c.m4, lib/autoconf/general.m4,
* lib/autoconf/programs.m4: Replace all the occurrences of
`__oline__' with `$LINENO'.
* doc/autoconf.texi (Special Shell Variables): Document LINENO.
Tim Van Holder [Fri, 21 Sep 2001 16:19:09 +0000 (16:19 +0000)]
* lib/autoconf/functions.m4 (_AC_FUNC_FORK): Replaceded an 8-bit
character (u: -> ue) in a code comment.
(AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Only run 'ln -s' if we know
it works.
Tim Van Holder [Thu, 20 Sep 2001 15:51:52 +0000 (15:51 +0000)]
* lib/autoconf/general.m4: Fix a small Englisho.
* lib/autoconf/status.m4: Fix a small typo. Handle DOS paths when
setting up ac_dir_suffix and ac_top_builddir.
* lib/m4sugar/m4sh.m4: Default CDPATH to $PATH_SEPARATOR, not ':'.
Tim Van Holder [Thu, 20 Sep 2001 15:39:46 +0000 (15:39 +0000)]
* doc/autoconf.texi (File System Conventions): Clarify the use of
PATH_SEPARATOR.
(Special Shell Variables[PATH_SEPARATOR]): Ditto.
(Special Shell Variables[CDPATH]): Mention that $PATH_SEPRATOR should
be used instead of ':'.
* lib/autotest/general.m4: Replace occurrences of ':' in
AUTOTEST_PATH with $PATH_SEPARATOR at test suite startup.
Tim Van Holder [Thu, 20 Sep 2001 14:55:49 +0000 (14:55 +0000)]
* bin/autoscan.in: Add 'exec-perl-if-not-run-by-perl'.
* bin/autoupdate.in: Ditto.
* bin/autoheader.in: Reworded a few comments.
* bin/autoconf.in: Reworded help text for a few options.
* bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in,
* bin/autoscan.in, bin/autoupdate.in: Ditto.
Tim Van Holder [Thu, 20 Sep 2001 14:52:57 +0000 (14:52 +0000)]
* lib/Autom4te/XFile.pm (open): Simplified the error message (we
already have $file). Set output files to binary mode (helps avoid
CR issues on DOSish systems).
Paul Eggert [Tue, 18 Sep 2001 18:47:34 +0000 (18:47 +0000)]
* doc/autoconf.texi (Common Shell Constructs):
New node, documenting AS_DIRNAME.
(Limitations of Usual Tools): Refer to it when discussing dirname.
Also, update discussion of POSIX standard to reflect latest draft.
Paul Eggert [Tue, 18 Sep 2001 18:46:03 +0000 (18:46 +0000)]
(Common Shell Constructs): New node, documenting AS_DIRNAME.
(Limitations of Usual Tools): Refer to it when discussing dirname.
Also, update discussion of POSIX standard to reflect latest draft.
Paul Eggert [Tue, 18 Sep 2001 17:57:30 +0000 (17:57 +0000)]
* lib/autoconf/c.m4:
(AC_LANG_INT_SAVE(C)): Also support negative values, down to LONG_MIN.
* lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE):
Do not pass a first argument with leading '-'
to expr, by parenthesizing initial integers that might be negative.
Paul Eggert [Tue, 18 Sep 2001 16:23:11 +0000 (16:23 +0000)]
* doc/autoconf.texi (Particular Functions): AC_FUNC_GETPGRP
now merely checks whether it is an error to pass an argument
to getpgrp.
* lib/autoconf/functions.m4 (_AC_FUNC_GETPGRP_TEST): Remove.
(AC_FUNC_GETPGRP): Don't bother with a runtime test. Just check
whether it is a (compile-time) error to pass an argument to
getpgrp. This simpler test supports the revised documentation,
and is all that AC_FUNC_GETPGRP's users really need.
Paul Eggert [Tue, 18 Sep 2001 16:21:46 +0000 (16:21 +0000)]
(_AC_FUNC_GETPGRP_TEST): Remove.
(AC_FUNC_GETPGRP): Don't bother with a runtime test. Just check
whether it is a (compile-time) error to pass an argument to
getpgrp. This simpler test supports the revised documentation,
and is all that AC_FUNC_GETPGRP's users really need.
* tests/m4sh.at: Ensure that AS_DIRNAME handles '/', '//' and '///'
correctly.
Add test for AS_BASENAME.
* lib/m4sugar/m4sh.m4: Fix AS_BASENAME so that it passes the previous
added test. It now correctly handles /1/2/3/, returning '3' not ''.
Added AS_BASENAME_SED to make the interface the same as AS_DIRNAME.
* tests/base.at: Fixed the expected responses. The old ones were
one line out...
* lib/autoconf/general.m4: Fixed AC_PREFIX_PROGRAM, it now behaves as
the documentation claims it should (and how it behaved in 2.13).
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): No INIT-CMDS in
the AC_CONFIG_COMMANDS invocation.
This also solves the name clash problems.
Don't set the package's ID.
* lib/m4sugar/Makefile.am (version.m4): Revamp.
No longer to be shipped.
(version.in): Remove.
* lib/m4sugar/m4sugar.m4, lib/autoconf/general.m4,
* lib/autoconf/status.m4: Adjust.
Use `m4_PACKAGE_STRING'.
* lib/autotest/general.m4 (AT_INIT): N-th signature change: now
the only optional argument is the name of the test suite.
Expect `package.m4' to define the package signature.
* lib/autom4te.in (Autotest): Add `package.m4?'.
* tests/Makefile.am (package.m4): New.
* tests/suite.at: ifnames is a victim.
* lib/autom4te.in (Autoconf): Preselect AM_CONDITIONAL,
AC_LIBSOURCE, AC_CONFIG_FILES.
* lib/autotest/general.m4 (AT_INIT): Don't abort when a tested
program version string doesn't match the package's.
* lib/autoconf/general.m4 (AC_CACHE_VAL): Reestablish the space
after `(cached)'.
Paul Eggert [Mon, 17 Sep 2001 21:52:40 +0000 (21:52 +0000)]
(AC_LANG_INT_SAVE(C)): Allow expression to return any value that can
fit into unsigned long (not int, as before). Check for output errors.
From Bruno Haible:
(AC_LANG_INT_SAVE(C)): Always include <stdio.h> and
<stdlib.h>. Evaluate the expression in an extra function before these
includes. Call fprintf "%d" only after ensuring the argument is of
type 'int'. Reported by Wayne Chapeskie <waynec@spinnaker.com>.
Paul Eggert [Mon, 17 Sep 2001 21:49:30 +0000 (21:49 +0000)]
(AC_LANG_INT_SAVE(C)):
Allow expression to return any value that can fit into unsigned long
(not int, as before). Check for output errors.
From Bruno Haible: Always include <stdio.h> and <stdlib.h>. Evaluate
the expression in an extra function before these includes. Call
fprintf "%d" only after ensuring the argument is of type 'int'.
Reported by Wayne Chapeskie <waynec@spinnaker.com>.
Paul Eggert [Mon, 17 Sep 2001 19:46:31 +0000 (19:46 +0000)]
(AC_ISC_POSIX): Replace the old, crufty version with the version used
by fileutils 4.1, except use AC_SEARCH_LIBS, not AC_CHECK_LIB, so that
we don't use -lcposix if we don't need it.
Paul Eggert [Mon, 17 Sep 2001 19:42:12 +0000 (19:42 +0000)]
Fix bug reported by Paul Townsend on AIX 4.3.3.0 with CFLAGS=-O4
or CFLAGS=-O5. In that case, the linker has a relaxed view of
fatal errors, and AC_CHECK_LIB causes it to include libraries even
when they don't exist.
* lib/autoconf/headers.m4 (AC_HEADER_DIRENT): Use AC_SEARCH_LIBS,
not AC_CHECK_LIB, so that we don't use -ldir or -lx if we don't
need it.
* lib/autoconf/specific.m4 (AC_ISC_POSIX): Replace the old, crufty
version with the version used by fileutils 4.1, except use
AC_SEARCH_LIBS, not AC_CHECK_LIB, so that we don't use -lcposix if
we don't need it.
* doc/autoconf.texi (AC_ISC_POSIX): Describe new behavior.
* lib/m4sugar/m4sugar.m4 (_AS_QUOTE_IFELSE, _AS_BOX_INDIR): Use
m4_match.
(m4_re_escape): New.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER): Use it.
* lib/autoconf/general.m4 (AC_CACHE_SAVE): Use m4_match.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER, AC_CONFIG_LINKS):
Likewise.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P)
(_AC_CHECK_TYPE_MAYBE_TYPE_P, AC_CHECK_MEMBER): Likewise.
* lib/autotest/general.m4 (AT_INIT): Rename AT_TESTS_ALL as
AT_tests_all for consistency.
Set at_victims.
(AT_VICTIMS): Similar to AT_KEYWORDS.
(_AT_CLEANUP_FILE_IF): Use m4_match and m4_re_escape.
Test suites can be run independently of configure.
* lib/m4sugar/m4sh.m4 (_AS_ECHO, _AS_ECHO_N_PREPARE): New.
* lib/autoconf/programs.m4 (_AC_PROG_ECHO): Remove.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust: AC_SUBST
ECHO_N etc.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't ask for at_n
and at_c.
* lib/autotest/general.m4: Use ECHO_*.
* lib/autotest/general.m4 (AT_INIT): Let --keywords also match
test group titles.
* tests/atspecific.m4 (AT_CHECK_AU_MACRO): AT_KEYWORDS(autoupdate).
Remove all the other keywords.
* lib/autotest/general.m4 (AT_INIT): Remove the diversion HELP and
SETUP: no longer used.
Support -k, --keywords.
<at_help>: Be `no', `short', or `long'.
<at_help_all>: New variable.
(AT_KEYWORDS): New.
(AT_CLEANUP_FILE_IFELSE, AT_CLEANUP_FILE): Rename as...
(_AT_CLEANUP_FILE_IF, _AT_CLEANUP_FILE): these.
(_AT_CLEANUP_FILE_IF): Simplify the regexp.
(AT_SETUP): Reset AT_line, AT_keywords, AT_description.
No longer fill the HELP diversion.
(AT_CLEANUP): Use them.
* lib/m4sugar/m4sugar.m4 (m4_append): Support a separator.
(m4_list_append): Remove.
Spread a few keywords in the Autoconf test suite.