* 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.
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.
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.
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.
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.
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.
* 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.
(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.
"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.
(.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.
* 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.
* doc/autoconf.texi (Particular Headers): Reword example
for multiline stdbool replacement.
(Setting Output Variables): Reword text a bit. Don't
give all the details about |#_!!_#|.
Reword description of line replacement.
now contain newlines, and substituted files must be referenced on
a line alone; the sed scripts to substitute them are now very
different.
(_AC_SED_CMD_LIMIT): Added; single place to store limit on how many
commands can be put in a sed script portably.
* doc/autoconf.texi (Setting Output Variables): Document above
changes. (Particular Header Checks) <AC_HEADER_STDBOOL>: Give exaple
use of multiline substitution.
* tests/torture.at: No longer expect substitution of newline to fail.
* doc/autoconf.texi (C++ Compiler): Mention .cpp extension.
* lib/autoconf/c.m4 (AC_LANG(C++)): Set ac_ext to .cpp, not .cc.
* lib/autoconf/types.m4 (AC_TYPE_SIGNAL): Simplify test, to
avoid problems with C++ and throw.
* tests/compile.at: .cpp, not .cc.
Remove core.conftest.* too; it's generated by Tru64 5.1.
* lib/autoconf/functions.m4
(AC_FUNC_SETVBUF_REVERSED, AC_FUNC_UTIME_NULL):
Don't bother to remove core files; AC_RUN_IFELSE should do that for you.
a directory whose name contains a special character like space,
newline, or "\".
* doc/autoconf.texi (Installation Directory Variables): Allow
"," in file names. Do not use \@; it's not a portable regexp.
* bin/Makefile.am (edit): Likewise.
* lib/Makefile.am (edit): Likewise.
* tests/Makefile.am (edit): Likewise.
* tests/semantics.at: Likewise.
* tests/torture.at: Likewise.
* lib/autoconf/general.m4 (AC_ARG_PROGRAM): Likewise.
* lib/autoconf/status.m4 (_AC_SRCDIRS): Likewise.
* doc/autoconf.texi (File System Conventions): Warn about
unportable file names.
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): New macro.
(AC_INIT): Use it.
(_AC_INIT_SRCDIR): Use ac_pwd rather than invoking pwd.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Propagate
ac_pwd, and quote srcdir.
* lib/autotest/general.m4 (AT_INIT): Quote file name args.
".)" needs a following @: if not at the end of a sentence, and
similarly for "!)". "etc." should be preceded by a comma.
"n-th" -> "@var{n}th". pdksh is still buggy, so update its date.
(Input): Mention that AC_CONFIG_AUX_DIR's
argument is often called 'build-aux'.
/dev/null, as "configure" shouldn't read stdin, and this insulates
us from problems (e.g., when testing for "cl"). Also, do this
redirection before invoking "hostname" or "uname", and keep the
original input stream available via...
(AS_ORIGINAL_STDIN_FD): ... this new macro.
(_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Don't
bother with "</dev/null" since it's now done at the top of
'configure'.
* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX): Likewise.
* lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): Likewise.
* doc/autoconf.texi (File Descriptor Macros): New section.
(Printing Messages): Mention it.
* tests/base.at (Input/Output): New test.
from /dev/null, as "configure" shouldn't read stdin, and this
insulates us from problems (e.g., when testing for "cl").
Suggested by Alexandre Duret-Lutz. Also, do this redirection
before invoking "hostname" or "uname".
(_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE,
_AC_LINK_IFELSE): Undo previous change, as it's no longer needed.
* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX): Don't bother with
"</dev/null" since it's now done at the top of 'configure'.
* lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): Likewise.
Also, replace grep with shell pattern-matching, to save a process.
* doc/make-stds.texi, doc/standards.texi: Update from masters.
* lib/Autom4te/Channels.pm, lib/Autom4te/Configure_ac.pm
* lib/Autom4te/FileUtils.pm, lib/Autom4te/XFile.pm: Update
from masters, so that FileUtils.pm's update_file provide --force
support.
* bin/autoheader.in: Pass $force to update_file so that
config.h.in is always recreated when --force.
signals that the package uses Automake; a `Makefile.am' is typical but
not essential. Reported by Magnus Therning.
* tests/torture.at (autoreconf.): New banner.
(autoreconf and non-AC configure): Rename to `Non-Autoconf
AC_CONFIG_SUBDIRS'.
(autoreconf an empty directory): Rename to `Empty directory'.
(Unusual Automake input files): New test.
* lib/m4sugar/m4sh.m4 (AS_TMPDIR): Fix the comment, as traps are
no longer part of the macro, quote the occurrence of ``$tmp''.
* doc/autoconf.texi (Forbidden Patterns): Typo.
Reini Urban and Paul Eggert for reporting the dependencies.
* lib/autoconf/headers.m4 (AC_HEADER_RESOLV): New macro.
* doc/autoconf.texi (AC_HEADER_RESOLV): Document it.
(AC_HEADER_STAT): @cvindex{STAT_MACROS_BROKEN}, not @acindex.
tracing on commands with possibly-escaped newlines.
* doc/autoconf.texi (Writing testsuite.at): Delete documentation of the
discontinued behavior and its implications.
* tests/autotest.at (BS-newline in command, ^BS-newline in command)
(BSx641-newline in command, BS-BS-newline in command)
(BSx640-newline in command, Newline-CODE-BS-newline in command)
(Single-quote-BS-newline in command)
(Single-quote-newline-BS-newline in command): New tests.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): ... here;
give only 4-letter prefix to AS_TMPDIR, comment fixed.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FEATURE_CHECK): Don't
create the temporary directory.
(_AC_FEATURE_CHECK_LENGTH): Work in current directory.
* tests/.cvsignore: Add wrapper.in.
* man/Makefile.am (autoconf.1): Regenerate when `autoconf.as' changes.
* lib/autotest/general.m4 [--trace] (AT_INIT): Do not `set -v'.
* tests/autotest.at: New file.
* tests/suite.at: Include it.
* tests/Makefile.am: Distribute it.
* lib/autotest/general.m4 [--trace] (_AT_CHECK): Do not enable
shell tracing on a command that could contain multiple lines.
* doc/autoconf.text: Document that fact and its implications.
* lib/m4sugar/m4sh.m4 (AS_ESCAPE_FOR_EXPAND): New macro.
* tests/autotest.at (Multiline backquote command substitution,
Multiline parameter expansion, Literal multiline command,
Multiline parenthetical command substitution): Remove XFAIL.
* configure: Regenerate.
* lib/freeze.mk (MY_AUTOM4TE): Wrap the uninstalled autom4te directly.
(m4f_dependencies): Adjust accordingly.
* tests/Makefile.am (Wrappers): Generate wrapper scripts.
(wrapper.in): Generate it in the build directory.
(MAINTAINERCLEANFILES): Delete wrapper.in.
(CLEANFILES): Add wrapper.in.
* tests/wrapper.as: Move AS_INIT to very top, preserving copyright in
the output. Replace each $as_me with a @wrap_program@.
* tests/wrapper.in: Delete it; we always build it.
* bin/Makefile.am (autoconf.in): Generate it in the build directory.
(EXTRA_DIST): Remove autoconf.in.
(CLEANFILES): Add autoconf.in.
(autoconf): Find autoconf.in in the build directory.
* bin/autoconf.in: Delete it; we always build it.
PATH members so as to not prepend an empty element. Move a comment.
* Makefile.am (SUBDIRS): Build in `tests' last.
* tests/Makefile.am (installcheck-local): Add check-local dependencies.
<http://lists.gnu.org/archive/html/bug-autoconf/2004-11/msg00056.html>,
along with some nearby cruft.
* doc/autoconf.texi (Libtool): Libtool can be used without
Automake (not without Autoconf).
(Introduction): Mention lists.gnu.org.
* BUGS: Don't mention bugs.gnu.org.
Remove mention of ancient libtool compatibility problem.
* NEWS: Mention that bugs.gnu.org is kaput.
* README: Likewise. Mention where mailing list archives can be found.
(AC_CANONICAL_BUILD): Call it to require config.sub and config.guess.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Likewise for install-sh.
* doc/autoconf.texi (Input): Document AC_REQUIRE_AUX_FILE.
* lib/autom4te.in (Automake-preselections): Preselect
AC_REQUIRE_AUX_FILE. Automake 1.10 will trace it.
how deeply nested we are when a suitable tool is found, set the
ac_path_TOOL_found flag.
(_AC_PATH_PROG_FEATURE_CHECK): Encapsulate knowledge of how deeply
nested we are in this macro. Break out of all 3 nested loops if
ac_path_TOOL_found is set.
for `$<'. New entry `Long lines', based on a report from Simon
Josefsson. Augment the documentation for SHELL = @SHELL@ with a
paragraph about DJGPP, based on a mail from Richard Dawe.
best tool so far counter rely on the tool path variable name to
avoid checks for one tool being affected by the results of running
the length check on a previous tool.
match expression argument, as different greps have different
regular expression flavours.
(AC_PROG_FGREP): Pass 'FGREP'. fgrep treats all match chars as
literals.
(AC_PROG_EGREP): Pass 'EGREP$'.
(AC_PROG_GREP): Pass 'GREP$'.