`@setcontentsaftertitlepage' for HTML.
(Writing Autoconf Macros): Likewise, insert space after `@c'.
(Leviticus, Numbers, Deuteronomy): Likewise, change `@,c' to
`@,{c}'.
`expr' away if there is nothing to do.
< --keywords >: Simplify and robustify argument handling.
Revert erroneous comment from 2005-08-23. Extend to allow
keyword negation with `!'.
Update help message. Remove broken code to prevent running
tests multiple times.
* doc/autoconf.texi (testsuite Invocation) < --keywords >:
Update and fix the documentation accordingly.
* tests/autotest.at (Keywords): Renamed to..
(Keywords and ranges): .. this. Extended to make sure negated
keywords, keywords taken from AT_SETUP arguments, and numeric
test ranges work, and that matching is case-insensitive.
allow to pass unnamed structs even in C++.
(AC_CHECK_SIZEOF): Likewise.
Also fix quoting error in `AC_MSG_FAILURE' arguments.
* tests/semantics.at (AC_CHECK_ALIGNOF struct, AC_CHECK_SIZEOF
struct): New tests for unnamed structs, each both native and
cross-compiling.
a structure inside a cast, for C++ conformance.
* lib/autoconf/types.m4 (AC_CHECK_ALIGNOF): Likewise.
Also fix quoting error in `AC_MSG_FAILURE' arguments.
like BSD, GPL, LGPL. Fix minor English typos.
(AC_STDC_HEADERS, AC_PROG_GCC_TRADITIONAL):
Mention that these macros are becoming obsolete.
(AC_STDC_HEADERS, AC_PROG_CC, AC_C_CONST, AC_C_VOLATILE):
Use more modern terminology for which standard is what.
(AC_PROG_CC): Mention gcc first, and remove obsolete references to egcs
and to ansi2knr.
(AC_PROG_CXX): Likewise.
(AC_C_PROTOTYPES, Test Functions, AC_LIBOBJ vs LIBOBJS):
Remove obsolete discussion about how to port to K&R.
(Guidelines for Test Programs): Suggest AC_HEADER_STDBOOL rather than
the obsolescent AC_HEADER_STDC.
(AC_FOO_IFELSE vs AC_TRY_FOO): Don't use #error; test programs
can't rely on it.
HP-UX sed is 99 commands, not 100.
(_AC_OUTPUT_FILES_PREPARE): Do not count the `}' of an
_AC_SUBST_FILES fragment. Separate `{' and `r' commands by
newline for portability.
* tests/torture.at (Torturing config.status): Also test 100
AC_SUBST_FILE invocations. Fix test to actually verify the
AC_CONFIG_FILES output.
* doc/autoconf.texi (Limitations of Usual Tools): Document HP-UX
command, label, and read-file `r' limits. Unify HP-UX spelling.
non-suffix rule.
($(TESTSUITE_GENERATED_AT)): Use `$(srcdir)` for the benefit of
non-GNU make.
(autoconfdir, $(AUTOCONF_FILES)): Likewise.
* tests/mktests.sh: Small shell portability fixes.
(AT_INIT): Use it, to remove arbitrary limit of 999,999 test
cases, and to work around Tru64 expr bug.
* doc/autoconf.texi (Limitations of Usual Tools): Mention Tru64
expr bug that turns the result of a regex match into a number if
possible.
test, as in `if tests; then cmd1; elif ...; else ...; fi'.
* doc/autoconf.texi (Programming in M4sh): Adjusted.
* tests/m4sh.at (AS_IF and AS_CASE): Test this. Also make sure
both macros are defun'ed so that required macros are evaluated
outside.
document m4_for, m4_foreach, m4_foreach_w, and mention
obsolete AC_FOREACH.
(Obsolete Macros): Document AC_FOREACH.
* lib/m4sugar/m4sugar.m4 (_m4_for): Fix declaration comment.
(m4_for): Fix to never loop (almost) endlessly, work correctly
with arithmetic expressions in arguments, a step of zero or
non-integer multiple of the interval, and avoid integer
overflow.
* tests/m4sugar.at: New test for m4_for, m4_foreach, and
m4_foreach_w.
tools, and Erlang as a conf test language.
* lib/autoconf/erlang.m4: New file.
* lib/autoconf/autoconf.m4
* lib/autoconf/Makefile.am (dist_autoconflib_DATA): Add erlang.m4.
* THANKS: Add Romain Lenglet.
(_AS_CASE): Private helper macro.
* tests/m4sh.at: Basic tests for AS_IF and AS_CASE.
* doc/autoconf.texi (Programming in M4sh): Document AS_CASE.
Fix syntax of AS_IF description
(Prerequisite Macros): Mention AS_IF and AS_CASE as workarounds
for the AC_REQUIRE mess.
* NEWS: Mention AS_CASE, AS_BOURNE_COMPATIBLE, and
AS_SHELL_SANITIZE.
Be consistent about spaces after commas.
Insert [] where empty args look a bit funny.
Fix some "i.e." and "e.g." usages.
Try to avoid "X/Y" usages.
Don't be pedantic about "ISO C99"; just say C99.
Prefer GNU style for spaces in front of parens.
(Function Portability): Comment about C89 versus C99
signed integer division.
(Particular Headers): Use current gnulib style for dirent
includes.
macros without parameters.
* lib/autoconf/autoupdate.m4 (AU_ALIAS): Likewise.
* doc/autoconf.texi (Obsoleting Macros): Document AU_ALIAS.
* tests/tools.at (autoupdating AU_ALIAS): New test for AU_ALIAS
`$#' bug.
(autoupdate): Updated to match AU_ALIAS fix.
(_AC_FC_MAIN, __AC_FC_NAME_MANGLING): Use _AC_LANG in check
messages to differentiate Fortran and Fortran 77 tests.
(AC_FC_SRCEXT, AC_FC_FREEFORM): Use AC_LANG_PUSH/POP instead of
AC_LANG_ASSERT, to allow use in mixed-language projects.
correctly: pad with spaces after FIRST_PREFIX if necessary,
and compute string lenghts with `m4_qlen' instead of `m4_len'.
* lib/m4sugar/m4sh.m4 (AS_HELP_STRING): Comments updated.
* tests/m4sh.at (AS_HELP_STRING): Test extended.
* NEWS: Updated.
Reported by numerous people, numerous times.
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|'.
singly- or doubly-quoted arguments to `-cmdline', `-ignore',
`-def', for the benefit of Portland `pgf90 -Mipa'.
Reported by Christopher Hulbert <cchgroupmail@gmail.com>.
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.
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.
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.
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.
* 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.