Noah Misch [Mon, 15 Aug 2005 23:47:57 +0000 (23:47 +0000)]
* tests/autoscan.at (autoscan): New file.
* tests/suite.at: Use it.
* tests/Makefile.am (TESTSUITE_HAND_AT): Add it.
Reported against Libtool by Gideon Go <gideon.go@gmail.com>.
* tests/autotest.at (Keywords): Test keywords combinations.
Paul Eggert [Mon, 25 Jul 2005 18:10:25 +0000 (18:10 +0000)]
Rewrite substantial part of lib/autoconf/status.m4.
The main change is that CONFIG_FILES, CONFIG_HEADERS, CONFIG_LINKS,
and CONFIG_COMMANDS are not processed in four separate loops.
Instead, there is one main loop. This alows that the common code
is expanded only once, thus config.status (and configure) is smaller.
The registration mechnism in AC_CONFIG_FILES and cousins also changed;
the AC_LIST_FILES and cousins macros are no longer used.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS,
_AC_OUTPUT_LINKS, _AC_OUTPUT_COMMANDS): Renamed to ...
(_AC_OUTPUT_FILE, _AC_OUTPUT_HEADER, _AC_OUTPUT_LINK,
_AC_OUTPUT_COMMAND): ..., respectively. These macros no longer
contains the initialization, nor the for loop, nor the associated
commands; all these go to ...
(_AC_OUTPUT_MAIN_LOOP): ... this new macro, called from
_AC_OUTPUT_CONFIG_STATUS.
(_AC_CONFIG_SPLIT, _AC_CONFIG_SPLIT_SOURCE_DEST, _AC_CONFIG_SPLIT_FILE_IN):
Nuked; the code was merged into _AC_OUTPUT_MAIN_LOOP.
(_AC_OUTPUT_FILE): The creation of the sed script ...
(AC_OUTPUT): ... and the setup of ac_vpsub goes to ...
(_AC_OUTPUT_FILES_PREPARE): ... a new macro, also called from
_AC_OUTPUT_MAIN_LOOP.
(_AC_CONFIG_FILES, _AC_CONFIG_HEADERS, _AC_CONFIG_LINKS,
_AC_CONFIG_COMMANDS): Use ...
(_AC_CONFIG_FOOS): ... this new macro, which uses these ...
(_AC_CONFIG_REGISTER, _AC_CONFIG_REGISTER_DEST): ... new macros.
(_AC_CONFIG_FILE, _AC_CONFIG_HEADER, _AC_CONFIG_LINK,
_AC_CONFIG_COMMAND, _AC_CONFIG_DEPENDENCIES): No longer needed.
(_AC_CONFIG_DEPENDENCY): Update, it uses these ...
(_AC_CONFIG_DEPENDENCY_DEFAULT, _AC_FILE_DEPENDENCY_TRACE_COLON):
... new macros.
(_AC_CONFIG_UNIQUE): Update.
(AC_LIST_FILES, AC_LIST_HEADERS, AC_LIST_LINKS, AC_LIST_COMMANDS):
Replaced by this ...
(_AC_LIST_TAGS): ... new common macro.
(AC_LIST_FILE_COMMANDS, AC_LIST_HEADER_COMMANDS, AC_LIST_LINK_COMMANDS,
AC_LIST_COMMAND_COMMANDS): Replaced by this ...
(_AC_LIST_TAG_COMMANDS): ... new common macro.
(_AC_CONFIG_COMMANDS_INIT): Moved top to the `registration' section;
this didn't belong to the `config commands' section.
(_AC_OUTPUT_COMMANDS_INIT): Don't initialize, m4_ifdef is our friend.
(AC_CONFIG_COMMANDS_PRE, AC_OUTPUT_COMMANDS_PRE,
AC_CONFIG_COMMANDS_POST): Moved to a new section, these didn't belong
to the `config commands' section either.
(AC_CONFIG_SUBDIRS): Don't touch diversion DEFAULTS.
(_AC_LIST_SUBDIRS): Don't initialize, m4_ifdef is our friend.
... and many changes to the comments nearby.
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): At the end of the day,
set ac_subdirs_all='_AC_LIST_SUBDIRS'.
* tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
AC_CONFIG_COMMANDS(command:input,...) is no longer allowed.
(#define header templates): The comment at the top of the generated
header now includes the name(s) of the source file(s).
Several unrelated small changes:
* lib/autoconf/general.m4 (AC_CACHE_VAL): Be didactic, quote the first
parameter to AC_DIAGNOSE.
* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Likewise.
(_AC_LINK_FILES_CNT): Don't AU_DEFUN this; it causes confusing messages
with autoupdate; use m4_define_default inside AU_DEFUNed AC_LINK_FILES.
(AC_OUTPUT): In the compatibility code, use m4_ifvaln, to be consistent
with AU::AC_OUTPUT.
(AU::AC_OUTPUT): Don't double-quote $2 and $3, the compatibility code
in AC_OUTPUT doesn't double-quote it either.
* tests/tools.at (autoupdate): AU::AC_OUTPUT no longer double-quotes the
parameters.
Paul Eggert [Mon, 4 Jul 2005 06:33:56 +0000 (06:33 +0000)]
* lib/autoconf/general.m4 (AC_ARG_PROGRAM): Use &, not |, in
sed substitution command, so that we allow | in program prefixes
and program suffixes. (& is a problem anyway; we're not fixing
that here.)
* lib/autoconf/status.m4 (AC_CONFIG_FILES): Likewise, for
configure_input, top_builddir, srcdir, etc.
* lib/autotest/general.m4 (AT_INIT): Likewise, for
PATH_SEPARATOR in AUTOTEST_PATH.
Paul Eggert [Fri, 1 Jul 2005 22:20:56 +0000 (22:20 +0000)]
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Remove the tests for
directories with weird names. Apparently some people like living
on the edge. However, improve the test that "pwd" actually does
report a name for the working directory.
* NEWS: Remove the claim that we test for funny chars in dir names.
Stepan Kasal [Thu, 30 Jun 2005 18:27:40 +0000 (18:27 +0000)]
(_AC_OUTPUT_CONFIG_STATUS): Use a here document to output the default
config_* lists to config.status.
Don't recognize option --file, if the functionality is not there.
Likewise for --header; moreover, recognize --he and --h as shortcuts
for --help in that case.
Paul Eggert [Fri, 24 Jun 2005 02:13:39 +0000 (02:13 +0000)]
* NEWS: Don't worry about spaces in bindir etc. Only srcdir and working
directory have inherent problems with special characters like spaces,
due to limitations in Make syntax. Problem reported by Alexandre
Duret-Lutz.
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Implement the above.
Also, fix Tru64 porting problem with shell patterns,
reported by Ralf Wildenhues.
Paul Eggert [Thu, 23 Jun 2005 20:09:25 +0000 (20:09 +0000)]
Fix some more shell quoting problems. Prompted by a bug report
from Justace Clutter.
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Put name of invalid
variable into diagnostic. Make the diagnostic an error, not a warning,
because we really don't support spaces and suchlike in dir names.
(_AC_INIT_SRCDIR): Allow special characters in $ac_unique_file.
Don't worry about backslashes in srcdir; it can't happen now.
(_AC_INIT_PARSE_ARGS): Allow weird characters in ac_optarg.
Simplify ac_optarg handling.
(_AC_ARG_VAR_VALIDATE): Remove unnecessary and inconsistent quotes.
Paul Eggert [Fri, 17 Jun 2005 20:37:36 +0000 (20:37 +0000)]
* lib/m4sugar/m4sh.m4 (as_awk_strverscmp): Port to Solaris /bin/awk.
* doc/autoconf.texi:
Don't mention Solaris versions so much, if a
problem is common to all extant versions of Solaris. Say "SunOS
4" instead of "SunOS" for SunOS 4.
(awk): Mention more of the limitations of traditional Awk.
(cat): Don't talk about cat -v.
Paul Eggert [Thu, 16 Jun 2005 21:03:47 +0000 (21:03 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_VERSION_COMPARE_PREPARE): New macro.
(AS_VERSION_COMPARE): New macro. The API is taken from CVS,
but the implementation is entirely different and is designed
to be compatible with glibc strverscmp.
* tests/m4sh.at (AS_VERSION_COMPARE): New test.
Paul Eggert [Thu, 16 Jun 2005 07:24:42 +0000 (07:24 +0000)]
* doc/autoconf.texi (Limitations of Usual Tools): Mention expr bug
on Mac OS X 10.4 reported by Peter O'Gorman in:
http://lists.gnu.org/archive/html/autoconf-patches/2005-06/msg00041.html
* lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT):
Use shell builtins rather than 'expr', to work around expr bug.
Paul Eggert [Sat, 11 Jun 2005 06:05:11 +0000 (06:05 +0000)]
* doc/autoconf.texi: "filesystem" -> "file system".
"behavior" -> "behavior".
Warn about \(...\)* in Solaris sed (written by Ralf Menzel).
* lib/autoconf/general.m4: Omit blank after ":" sed command,
as per POSIX.
* lib/m4sugar/m4sh.m4: Likewise.
* lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): Work around problem
with Solaris sed. Fix by Stepan Kasal.
Paul Eggert [Fri, 10 Jun 2005 17:56:21 +0000 (17:56 +0000)]
* man/Makefile.am (MOSTLYCLEANFILES): Add $(srcdir)/*.t.
(.x.1): Ignore the time stamp in the .TH line when deciding whether
to update the man page. That way, we don't have to check in new
man pages every month.
Derek Price [Wed, 8 Jun 2005 15:44:09 +0000 (15:44 +0000)]
* doc/autoconf.texi (Redefined M4 Macros): Add index entries for most
redefined M4 macros to this node. Document m4_include & m4_sinclude.
Move m4_undefine to alphabetical order.
Paul Eggert [Wed, 8 Jun 2005 07:55:28 +0000 (07:55 +0000)]
* doc/autoconf.texi (Limitations of Builtins) <case>: Mention
Tru64 ksh pattern matching bug. Reported against Libtool by
Albert Chin <libtool@mlists.thewrittenword.com> and
Nicolas Joly <njoly@pasteur.fr>.
Paul Eggert [Wed, 8 Jun 2005 07:13:50 +0000 (07:13 +0000)]
* README: Recommend GNU M4 1.4.3 or later.
* doc/autoconf.texi (Introduction): Likewise.
Reword to avoid some formatting glitches.
Use "#!/bin/sh", not "#! /bin/sh"; the space isn't needed these days.
Clarify explanation of HP compiler bug.
Redo example output tp match current CVS snapshot.
Use @example.org in email addresses when the examples
might get inadvertently cut-and-pasted into user code.
Remove example of autom4te usage that doesn't seem to work now.
Use modern AC_INIT (except when the example is meant to be
shown with Autoconf 2.13).
Update ksh info for Solaris 9 and later.
KB -> kB.
Modernize description of Automake versions a bit.
Don't claim a future version of Autoconf is near.
Add [] to examples, so that the manual
follows its own advice about quoting better.
* doc/install.texi: Reword to avoid some formatting glitches.