Paul Eggert [Thu, 5 Jan 2006 21:43:44 +0000 (21:43 +0000)]
Fix Posix-conformance bugs re use of { command in sed scripts,
and improve the sed-related documentation a bit.
* doc/autoconf.texi (Installation Directory Variables): Use
our own style advice re 's,a,b,' versus 's|a|b|'. Use "Sed"
rather than "sed" when talking about Sed in general.
(Particular Programs): Likewise.
(Coding Style): y is like s with respect to / and ,.
(Limitations of Usual Tools): Document the weird restrictions
that Posix has about { }. Use better quoting.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_HEADER):
Rewrite to conform to Posix rules about { } in sed scripts.
* lib/m4sugar/m4sh.m4 (AS_DIRNAME_SED, AS_BASENAME_SED): Likewise.
* tests/foreign.at (Libtool): Likewise.
* tests/semantics.at (AC_CHECK_PROG & AC_CHECK_PROGS):
Use our own style advice re 's,a,b,' versus 's|a|b|'.
Ralf Wildenhues [Thu, 5 Jan 2006 10:11:22 +0000 (10:11 +0000)]
* lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore
singly- or doubly-quoted arguments to `-cmdline', `-ignore',
`-def', for the benefit of Portland `pgf90 -Mipa'.
Reported by Christopher Hulbert <cchgroupmail@gmail.com>.
Paul Eggert [Mon, 12 Dec 2005 18:46:50 +0000 (18:46 +0000)]
* doc/autoconf.texi (Limitations of Usual Tools):
Mention which characters can be escaped with \ in portable regular
expressions used in grep, sed, expr. Mention the leading ^ problem
with expr. Clean up some confusing wording. Mention which
grep options are portable.
Ralf Wildenhues [Thu, 10 Nov 2005 18:57:58 +0000 (18:57 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Pass
CONFIG_SHELL in the environment of the configure rerun.
* doc/autoconf.texi (Here-Documents, config.status Invocation):
Suggest passing CONFIG_SHELL absolute, and in the environment
rather than as option.
Ralf Wildenhues [Wed, 9 Nov 2005 20:34:41 +0000 (20:34 +0000)]
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE):
Fix quoting of output line (triggered for many AC_SUBST_FILEs).
Fix macro quoting. Fix output for n*100 substituted variables.
Ralf Wildenhues [Sun, 6 Nov 2005 19:24:37 +0000 (19:24 +0000)]
* lib/autoconf/programs.m4 (AC_CHECK_PROG, AC_PATH_PROG):
Factor functionality to..
(_AC_CHECK_PROG, _AC_PATH_PROG): these new macros, but only
`AC_SUBST($1)' in the public version.
(AC_CHECK_TOOL, AC_PATH_TOOL, AC_PATH_TARGET_TOOL)
(AC_CHECK_TARGET_TOOL): Use internal versions for ac_ct_* and
ac_pt_* variables.
Paul Eggert [Wed, 19 Oct 2005 22:35:51 +0000 (22:35 +0000)]
* doc/autoconf.texi (Generating Sources): AC_LANG_PROGRAMS ->
AC_LANG_PROGRAM, fixing a typo. Don't give details about
the inner workings of AC_LANG_FUNC_LINK_TRY.
* lib/autoconf/c.m4 (AC_LANG_CALL(C)): Reformat to match
AC_LANG_FUNC_LINK_TRY. This involves returning the value returned
by the function rather than ignoring it.
(AC_LANG_FUNC_LINK_TRY(C)): Call the function rather than simply
comparing its address. Intel's interprocedural optimization was
outsmarting the old heuristic. Problem reported by
Mikulas Patocka.
Paul Eggert [Sun, 18 Sep 2005 17:10:24 +0000 (17:10 +0000)]
* lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Look for X11/Xlib.h
and XrmInitialize rather than X11/Intrinsic.h and XtMalloc
(which belong to Xt, not X itself). See Debian bug 327655.
* NEWS: Mention this.
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.