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.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't pass
PATH_SEPARATOR, let M4sh compute it.
* lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): New.
* lib/autoconf/programs.m4 (AC_SHELL_PATH_WALK): Use PATH_SEPARATOR.
Move to...
* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Here.
Simplify when the path is not a literal.
(AS_UNAME): Use it to report PATH.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Remove.
(_AC_INIT_DEFAULTS): AC_SUBST PATH_SEPARATOR.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Use _AS_PATH_WALK.
* lib/autotest/general.m4 (AT_INIT): Use _AS_PATH_WALK to
normalize the path, and to look for victims.
* tests/semantics.at (AC_PATH_PROG & AC_PATH_PROGS)
(AC_CHECK_PROG & AC_CHECK_PROGS): Use PATH_SEPARATOR.
* bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5
doesn't neutralize SIGINT, making autoconf etc. non interruptible.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Move the package
related variables into `at_package_*'.
* lib/autotest/general.m4 (AT_VICTIMS): New.
(AT_INIT): Adjust for stand-alone/embedded test suites.
(AS_MESSAGE_LOG_FD): Define and use it.
* tests/suite.at (AT_VICTIMS): Use it.
* tests/tools.at (autoupdating AC_PREREQ): Don't depend upon
at_version.
Move toward possibly stand-alone test suites.
* lib/autotest/general.m4: Stop displaying srcdir everywhere as,
in addition, it introduces useless differences in logs.
(AT_INIT): Let atconfig and atlocal be both optional.
Adjust PATH computation.
* lib/m4sugar/m4sh.m4 (AS_UNAME): More readable display of PATH.
Be ready to handle filenames as stupid as `dnl.at', for if even
the maintainer is dumb enough to do that...
* lib/autotest/general.m4 (AT_SETUP, AT_LINE): Demonstrates your
excellence in M4 quotation: consider `__file__' is active.
And BTW, when invoking m4, pass the --include in the right order:
the wrong one.
* bin/autom4te.in, bin/autoupdate.in: Use reverse when kingtal to
4m.
* lib/Autom4te/General.pm (&getopt): Work around the `-' Getopt bug.
* bin/autoheader.in, bin/autoupdate.in (&parse_args): Adjust.
* bin/autoscan.in: Use `getopt' and `find_files' etc.
Add -I, --include support.
* doc/autoconf.texi (autoscan Invocation): Adjust.
CVS GNU M4 doesn't like `undefine(undefined)'.
* bin/autoupdate.in (&handle_m4_macros, &handle_autoconf_macros):
New, extracted from main.
Use IO::File wherever possible.
(input.m4): Be constant, use -I instead of hard coding $tmp.
Therefore be a quoted heredoc.
Don't invoke `_au_disable', since ac was not loaded, but just
`unm4.m4'.
Akim Demaille [Fri, 31 Aug 2001 13:36:05 +0000 (13:36 +0000)]
* doc/autoconf.texi (Quadrigraphs): Document `@&t@'.
(testsuite Scripts): There is no such thing as `atconfig.in'.
And actually one diagram is missing: test suite runtime.
Akim Demaille [Fri, 31 Aug 2001 13:34:30 +0000 (13:34 +0000)]
* bin/autom4te.in (&parse_args): Strip `.' from `@include'.
* bin/autoupdate.in: Use --include, -I, and --force, -f, too.
Use directly autom4te, not autoconf.
* tests/autoupdate: $top_srcdir/lib is needed too for melt files.
Akim Demaille [Fri, 31 Aug 2001 13:33:26 +0000 (13:33 +0000)]
* bin/autom4te.in (&parse_args): Die on unknown languages.
* bin/autoheader.in: Run directly autom4te --mode=autoconf, no
need for autoconf.
Promote --include over --macrodir and other obsolete options.
Akim Demaille [Fri, 31 Aug 2001 13:33:10 +0000 (13:33 +0000)]
* lib/Autom4te/General.pm ($version, $help, &getopt): New.
* bin/autoupdate.in, bin/autoheader.in, bin/autom4te.in: Use them.
* bin/autom4te.in ($autoconf): Pass --force.
`print $out' doesn't print `$_' but `$out'.
* tests/tools.at (Syntax of the Perl scripts): Pass the lib dir.
(autoheader): Pass --force since the test suite goes too fast for
the time stamps.
Adjust to the new autoheader messages.
Akim Demaille [Fri, 31 Aug 2001 13:32:54 +0000 (13:32 +0000)]
* bin/autoheader.in: Handle the acconfig.h etc. junk files.
Check the completeness of the #template.
* lib/Autom4te/General.pm (&update_file): s/remove/unlink/.
* tests/semantics.at (AC_C_BIGENDIAN): Adjust AT_CHECK_AUTOHEADER
invocation.
Akim Demaille [Fri, 31 Aug 2001 13:32:35 +0000 (13:32 +0000)]
* lib/Autom4te/General.pm (&find_file, &update_file): New.
* bin/autoupdate.in, bin/autoheader.in: Adjust.
Drop AC_MACRODIR dead for real.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Now autoheader says
`autoheader: `config.hin' is created'.
* tests/tools.at (Syntax of the Perl scripts): Check autoheader.
Akim Demaille [Fri, 31 Aug 2001 13:31:54 +0000 (13:31 +0000)]
* bin/autoconf.in (--include, -I): New option.
Map --localdir, --autoconf-dir onto it.
Forward autom4te's options instead of interpreting them.
* bin/autoconf.in, bin/autoheader.in (AC_MACRODIR, autoconf_dir):
There is no such envvar since the inception of autom4te.cfg.
* bin/autom4te.in (&parse_args): Uniquify `@include'.
* bin/autoupdate.in: Adjust, and perform more control.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Adjust.
* tests/autoconf: Dittowise.
Akim Demaille [Fri, 31 Aug 2001 13:31:37 +0000 (13:31 +0000)]
* bin/autoconf.in: Don't bother with `acsite.m4' and `aclocal.m4'.
* bin/autom4te.in (&find_file): Support `FILE?' standing for
optionally `FILE'.
Use -e, not -f, since /dev/null for instance is OK.
(&parse_args): Adjust.
* lib/autom4te.in (Autoconf): Add `acsite.m4?' and `aclocal.m4?'.
Akim Demaille [Fri, 31 Aug 2001 13:30:11 +0000 (13:30 +0000)]
* configure.ac: Also find tested executables in bin.
* bin/autoconf.in, bin/autoheader.in, bin/autoreconf.in,
* bin/autoscan.in, autoupdate.in: Use exclusively the name of the
installed peer executables, only PATH is allowed to resolve it.
Pass `autoconf_dir' via options, not via invisible envvars.
* lib/Autom4te/General.pm (&find_peer): Remove.
* lib/autotest/general.m4 (AT_INIT): `AUTOTEST_PATH=a:b' gives
`abuild:asrc:bbuild:bsrc', not `abuild:bbuild:asrc:bsrc'.
* man/Makefile.am: Let help2man rely on PATH instead of trying to
find the executables for it.
* tests/Makefile.am: Major cleanup. Too lazy to document...
* tests/atlocal.in: Remove all the obscure envvar manipulations.
We only need PERL.
* tests/atspecific.m4, tests/tools.at: Passing --localdir is
indeed related to running the test suite, while passing
--autoconf-dir and others is related to running non installed
Autoconf executables. So don't do that, leave it to...
* tests/autoconf, tests/autoheader, tests/autom4te, tests/autoupdate,
* tests/autoscan: New.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't
refer to library files: rely on --language.
Akim Demaille [Wed, 29 Aug 2001 09:52:49 +0000 (09:52 +0000)]
* lib/autom4te.in: New.
* lib/Makefile.am (edit, autom4te.cfg): New.
* bin/autom4te.in (BEGIN): Simplify.
Rely on `AC_MACRODIR' in addition of `autom4te_perllibdir'.
(&load_configuration): New. Use it.
(&parse_args): Support --mode, --set, and --melt.
* bin/autoconf.in: Simplify and adjust.
* tests/Makefile.am (AUTOMAKE): Use --set.
* tests/atlocal.in: Adjust.
* BUGS: distcheck and check are weak.
Tim Van Holder [Mon, 27 Aug 2001 11:55:21 +0000 (11:55 +0000)]
* lib/autotest/general.m4: Reword some messages.
(AT_INIT): Check for the `times' builtin before using it.
Support test ranges as arguments to the testsuite.
Have -e imply -d as the help text suggested.