follows. Use "makefile" when talking about makefiles
generally (which might be named "makefile" or "Makefile" or even
"foo.mk"), "Makefile" when talking about a specific makefile
called "Makefile". This unclutters the text from weird quotes
(e.g., "`Makefile's" in info mode). Similarly, use "@var{foo}
values" rather than "@var{foo}s" and similar constructs containing
"}s". Use "Make rules" rather than "Makefile rules". Minor
English-language improvements. Change the prefix "sub-" to "sub"
and "re-" to "re".
Put blank lines around examples more consistently.
Avoid "rather" and "very" as intensifiers.
Avoid "will" as an auxiliary.
(Limitations of Make): Split this node into....
(Portable Make, $< in Ordinary Make Rules, Failure in Make Rules):
(Leading _ in Macro Names, Backslash-Newline-Newline):
(Backslash-Newline Comments, Long Lines in Makefiles):
(Macros and Submakes, The Make Macro SHELL, Comments in Make Rules):
(obj/ and Make, make -k Status, VPATH and Make):
(VPATH and Double-colon, $< in Explicit Rules):
(Automatic Rule Rewriting, OSF/Tru64 Directory Magic):
(Make Target Lookup, Single Suffix Rules, Timestamps and Make):
New nodes, resulting from splitup of Limitations of Make.
All cross-references changed. Raise the top node from
a section to a chapter, and all subnodes accordingly.
Redo the introductory wording to match the new organization.
(Installation Directory Variables): Use an example that is
closer to what Autoconf actually does. Mention that VPATH's
value should not contain metacharacters or white space.
(Fortran Compiler): Fix a VPATH bug in an example.
(Leading _ in Macro Names): Mention that this problem is no longer
of practical concern.
(VPATH and Make): Reword the advice to make it clearer
that Autoconf and Automake support VPATH in non-GNU make, but
many packages have bugs in this area.
($< in Explicit Rules): Refer to Build Directories rather
than using a (non-VPATH-safe) example.
(Automatic Rule Rewriting): Mention the sort of disaster that
can ensue with Solaris-style rule rewriting with VPATH.
Drop extra @samp from `@table @samp' item.
(Limitations of Usual Tools): Comment fix.
Do not nest @samp just to point to other table items.
(Writing testsuite.at) <AT_CHECK>: The second argument to
`@dvar' is already @samp'ed.
(Making testsuite Scripts) <AC_CONFIG_TESTDIR>: Likewise,
do not use @var in the second argument.
Mention that some macros are now documented to be obsolescent.
* doc/autoconf.texi:
Prefer "current" to "modern" to describe
currently-used (albeit perhaps old-fashioned) hosts.
Mention which ancient features no longer need to be worried about.
setgid -> set-group-ID
setuid -> set-user-ID (these are the Posix terms)
Fix some misuses of "only".
(AC_C_BACKSLASH_A, AC_C_CONST, AC_C_PROTOTYPES):
(AC_C_STRINGIZE, AC_C_VOLATILE, AC_FUNC_CLOSEDIR_VOID):
(AC_FUNC_GETPGRP, AC_FUNC_LSTAT, AC_FUNC_MEMCMP):
(AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP):
(AC_FUNC_SETVBUF_REVERSED, AC_FUNC_STAT, AC_FUNC_STRFTIME):
(AC_FUNC_STRNLEN, AC_FUNC_UTIME_NULL, AC_FUNC_VPRINTF):
(AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC):
(AC_HEADER_SYS_WAIT, AC_HEADER_TIME, AC_ISC_POSIX):
(AC_PROG_GCC_TRADITIONAL, AC_STRUCT_TM):
Mention that these macros are obsolescent.
(Installation Directory Variables): shall -> should
(File Descriptors): Mention that 0, 1, 2 might get reopened.
Mention that it's now safe to use 3 and 4.
(Limitations of Usual Tools): cp -r is now specified by Posix.
Omit longwinded and obsolescent discussion of cp -f.
Modernize discussion of expr, ls.
(Limitations of Make): Modernize discussion of VPATH builds.
Mention $? as a workaround in some cases.
* doc/install.texi (Basic Installation):
Mention "./configure; make; make install" first. Be more
specific about why this file is generic. Remove unnecessary
parens. Remove misleading "only". Remove obsolete advice
about csh. Don't say "configure" takes awhile; say it
might take a while. Suggest CFLAGS=-g rather than CFLAGS=-O2,
and CC=c99 rather than CC=c89, as these are blessed by current
Posix. Recommend GNU make if doing a VPATH build.
about quoting the case statement, just in case.
* doc/autoconf.texi (Particular Programs) <AC_PROG_MKDIR_P>:
Document that ${MKDIR_P} understands --.
* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Improve the
comment.
Use better wording to talk about AC_PROG_MKDIR_P's thread-safety.
Don't use the term "thread-safe" to talk about mkdir race
conditions, since the problem is more a process than a thread
issue. Problem reported by Stepan Kasal in:
http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00088.html
* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Use code that mimics
the test for 'install' more closely. Look at MKDIR_P first.
Look in the PATH, and at /opt/sfw/bin.
Look for a 'gmkdir' program as well (Solaris 10 /opt/sfw/bin/gmkdir).
Don't bother to try mkdir -p, since we already check mkdir --version;
just look at the version number. (There's no easy way to check
for race-free implementations.)
* tests/tools.at (autoconf: subdirectories): Adjust to above
changes, since MKDIR_P now might end in "/mkdir -p".
* doc/autoconf.texi (Special Chars in Variables): New section.
(Preset Output Variables): Warn about special chars in CPPFLAGS.
(Installation Directory Variables): Quote $(datadir) better.
(Limitations of Builtins): Describe some of eval's trickiness.
* lib/autoconf/c.m4 (AC_PROG_CC_C_O): Simplify quoting.
* lib/autoconf/fortram.m4 (_AC_PROG_FC_V_OUTPUT): Likewise.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Put leading space
in front of every arg, not just trailing args. Quote apostrophes.
(_AC_EVAL_ECHO): New macro.
(_AC_EVAL, AC_EVAL_STDERR): Use it. Quote arg of eval.
(AC_TRY_EVAL, AC_TRY_COMMAND): Mention that these macros might get
removed.
(_AC_LINK_IFELSE): Use proper rule for shell continuation lines,
exposed by quoting of eval argument. Put the command on line line
so it logs better.
* lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Use eval more safely.
(_AC_PATH_X, AC_PATH_X): Quote more safely.
* lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Use eval more safely.
* lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Don't use eval.
* lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Minor style change.
Handle special chars in prefix, ac_srcdir, ac_aux_dir.
Use eval more safely.
(_AC_OUTPUT_CONFIG_STATUS): Adjust to above changes.
* lib/m4sugar/m4sh.m4 (AS_VAR_GET): Note that this API needs
to be replaced.
* tests/base.at (AC_TRY_COMMAND): Use proper rule for shell continuation
lines, exposed by quoting of eval argument.
initialization of `ac_cv_exeext', do not override it if it was
already set, unless it was set to `no', for compatibility with
Autoconf-2.13, and comment this.
Do not export `ac_cv_exeext', Libtool hasn't needed this for years.
(_AC_COMPILER_EXEEXT_DEFAULT): Likewise, do not export it.
(_AC_COMPILER_EXEEXT_WORKS, _AC_COMPILER_EXEEXT_CROSS): Typos.
* doc/autoconf.texi (Compilers and Preprocessors) <EXEEXT>:
Document that this test may be overridden by setting
`ac_cv_exeext'.
we always prefer the GNU version of the program, and that we
search according to PATH; both rules can have exceptions.
Update description of AC_PROG_GREP, AC_PROG_EGREP, AC_PROG_FGREP,
AC_PROG_SED. Move descriptions of limitations
to the Limitations of Usual Tools section.
(Limitations of Usual Tools) <sed>: Mention script length
limitations with Solaris /usr/ucb/sed.
<grep>: Fix wording for empty alternative. Mention that -c and
-l should not be combined, and that -E and -F should not be
combined.
AC_DEFINE is now passed to m4_pattern_allow.
* NEWS: Mention that; likewise for AC_SUBST.
* lib/autoconf/general.m4 (AC_DEFINE_TRACE_LITERAL): Pass
the parameter to m4_pattern_allow.
* tests/tools.at: Add a check for that.
the HP-UX sed limitation of 99 commands, labels do not count.
* lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): Mention that
in the comment.
(_AC_OUTPUT_HEADER): Revert the change from 2006-05-19.
sets MKDIR_P, not mkdir_p, to avoid collisions with Automake.
Warn about obsolete install-sh files. Remove stray sentence
fragment and fix cross reference.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Don't insist on
install -d; this undoes the 2006-05-10 change.
(MKDIR_P): Mark with AN_MAKEVAR.
(AC_PROG_MKDIR_P): Fall back on $ac_install_sh, not $INSTALL, so
that we don't require $INSTALL to be thread-safe. Move comments
out of generated code. Require AC_CONFIG_AUX_DIR_DEFAULT instead
of AC_PROG_INSTALL. Output a message saying that we're checking
mkdir -p. Set MKDIR_P rather than mkdir_p. Do special magic for
MKDIR_P instead of AC_SUBST.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILE, _AC_OUTPUT_CONFIG_STATUS):
Special magic for MKDIR_P, too.
* lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Remove comment that defeated
a dnl.
* tests/local.at (AT_CHECK_ENV): mkdir_p -> MKDIR_P.
* config/install-sh: Don't use 'path' to talk about file names,
as per GNU coding standards. Close a race condition reported by Ralf
Wildenhues and Stepan Kasal. There is still a race condition
on hosts that predate POSIX 1003.1-1992, but we can't help this.
Don't mishandle weird characters like space on pre-POSIX hosts.
Invoke mkdir at most once per dir arg on pre-POSIX hosts.
* doc/autoconf.texi (Programming in M4sh): Cross-reference to
AC_PROG_MKDIR_P from AS_MKDIR_P.
(Limitations of Usual Tools): Cross-reference to AC_PROG_MKDIR_P
from mkdir. Mention that Autoconf 2.60 install-sh is safe but
earlier editions are not (including Automake 1.8.3).
Do not suggest mkinstalldirs for thread-safety.
* lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Make it more robust in the
presence of special characters and race conditions.
* tests/local.at (AT_CHECK_ENV): Add mkdir_p to the list of variables
in Autoconf's name space.
* lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): New macro, taken
from Automake with minor changes.
* doc/autoconf.texi (Particular Programs): Document AC_PROG_MKDIR_P.
in URLs to improve DVI formatted output (requires texinfo 4.6).
(System Services, Systemology, Shellology): Likewise.
(Limitations of Usual Tools): Rewrite Mac OS X example for nicer
output.
(Integer Overflow, Null Pointers, Buffer Overruns):
(Floating Point Portability, Exiting Portably): New sections.
(Writing Test Programs): Fix some langauge. Recommend exiting
with status 1, not merely nonzero. Clarify exit declaration.
(Run Time): Move C exit status stuff to new Exiting Portably section.
(Systemology): Mention Posix and levenez. Update v7 reference.
(Portable Shell): Mention the Posix shell.
* doc/autoconf.texi (Programming in M4sh): Comment out the
documentation of AS_BASENAME, for now.
(Shell Substitutions): Do not use AS_DIRNAME in an example.
(Limitations of Builtins) <basename>: Do not refer to
AS_BASENAME.
* bin/autoconf.as (me): Don't use AS_BASENAME.
(dir): Remove the unused variable.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED): Renamed from
AS_DETECT_REQUIRED. All uses changed.
(_AS_DETECT_SUGGESTED): Renamed from AS_DETECT_SUGGESTED.
All uses changed.
(_AS_DETECT_BETTER_SHELL): Put ;; at the end of a case.
(AS_BASENAME): Use "basename --" to protect against leading "-".
(_AS_BASENAME_EXPR): Renamed from AS_BASENAME_EXPR. All uses changed.
(_AS_BASENAME_SED): Renamed from AS_BASENAME_SED. All uses changed.
(_AS_BASENAME_PREPARE): Reject implementations that cannot handle "--".
(_AS_DIRNAME_PREPARE): Likewise.
(_AS_DIRNAME_EXPR): Renamed from AS_DIRNAME_EXPR. All uses changed.
(_AS_DIRNAME_SED): Renamed from AS_DIRNAME_SED. All uses changed.
(AS_DIRNAME): Use "dirname --".
of "run time" and "run-time" changed to "runtime", for consistency.
* lib/autoconf/fortran.m4: Likewise (in comment).
* lib/autoconf/functions.m4: Likewise.
* lib/autoconf/general.m4: Likewise.
* lib/autoconf/headers.m4: Likewise.
* doc/autoconf.texi (Programming in M4sh): Remove mention of
AS_VAR_SET_BASENAME, AS_VAR_SET_DIRNAME, and AS_BASENAME.
We have to keep AS_DIRNAME since it was part of a stable Autoconf,
but AS_BASENAME doesn't have to be supported.
AS_VAR_SET_DIRNAME and AS_VAR_SET_BASENAME.
* doc/autoconf.texi (Programming in M4sh): Document this. All uses
changed. The newer interfaces are more reliable, as they allow
implementations that handle trailing newline correctly. For now,
we're in a freeze, so I did not include the more-reliable
implementations, but I wanted to correct the interface before 2.60
goes out.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED): Renamed from
AS_DETECT_REQUIRED. All uses changed.
(_AS_DETECT_SUGGESTED): Renamed from AS_DETECT_SUGGESTED.
All uses changed.
(_AS_DETECT_BETTER_SHELL): Put ;; at the end of a case.
(_AS_BASENAME): Renamed from AS_BASENAME. All uses changed.
Use "basename --" to protect against leading "-".
(_AS_BASENAME_EXPR): Renamed from AS_BASENAME_EXPR. All uses changed.
(_AS_BASENAME_SED): Renamed from AS_BASENAME_SED. All uses changed.
(_AS_BASENAME_PREPARE): Reject implementations that cannot handle "--".
(_AS_DIRNAME_PREPARE): Likewise.
(_AS_DIRNAME): Renamed from AS_DIRNAME. All uses changed.
(_AS_DIRNAME_EXPR): Renamed from AS_DIRNAME_EXPR. All uses changed.
(_AS_DIRNAME_SED): Renamed from AS_DIRNAME_SED. All uses changed.
Use "dirname --".
(AS_VAR_SET_BASENAME, AS_VAR_SET_DIRNAME): New macros.
* tests/m4sh.at (AS_VAR_SET_DIRNAME): Renamed from AS_DIRNAME.
Test the new API. Don't test internals, since they're probably
going to change anyway.
(AS_VAR_SET_BASENAME): Likewise, renamed from AS_BASENAME.
* bin/autoconf.as: Don't use AS_BASENAME or AS_DIRNAME. This
removes a bootstrapping problem with the changes described above.
The AS_DIRNAME part wasn't used, anyway, and the AS_BASENAME
part can be done portably without all the deep Autoconf magic.
top-level tests after micro-suite has been run. Used in...
(Debugging a successful test, Debugging script and environment),
(Debugging a failed test): ...these new tests. The first of these
is fixed by...
* lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT): New
macro, split out from...
(AT_INIT): ...here, so that using -d also generates a run script.
Document that -d inhibits top-level logging.
* doc/autoconf.texi (testsuite Invocation): Document that -d only
inhibits top-level logging; debug scripts are created.
* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Insert BIN_SH=xpg4
and DUALCASE=1.
(AS_SHELL_SANITIZE): Remove DUALCASE=1.
* doc/autoconf.texi (Special Shell Variables) <BIN_SH>: Say that
it is set.
Give an example for AS_DIRNAME instead of referring to Posix..
(File System Conventions): Put discussion of // versus / here, and
modernize it a bit.
(Limitations of Usual Tools): Add basename. Remove verbiage
after dirname, since it got moved to the above sections.
All this was inspired by a patch proposed earlier by Ralf Wildenhues.
`@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.
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.
(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.
(_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.
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|'.
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.
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.
* 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.
"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.
* 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.
quoting rules. Problems noted by Stepan Kasal.
Also, throughout this document, be more careful about white space.
"blank", "white space", and "space" all have different meanings
and we should be careful to say what we mean.
* 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.
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.
Fix some @code's that should have been @env's, and vice versa.
Sort environment variable names.
Mention that shells no longer inherit IFS.
Don't recommend PATH_SEPARATOR=';' so strongly.
Mention that $RANDOM might expand to the empty string.
"symlink" and "soft link" -> "symbolic link".
Improve mktemp description (reported by Bruno Haible).
* 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.
Warn about newline stripping in `` and $(). Update Solaris
version to 9.
(Limitations of Builtins): Use expr "X...", not expr "x...", as
X insulates us from future changes to Posix.
(Limitations of Usual Tools): For AS_DIRNAME, warn about newline
stripping.
problems with SunOS ksh and backslash escaping, Bourne shells and
closing brackets (both within character classes). Bug reported
against Libtool by Alexander Kurz <alexander.kurz@qsc.de>.
<read>: New entry. Mention non-availability of -r.
* 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.
* 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.
<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.
``descriptions'' may not be double quotes.
(Quotation Rule Of Thumb): Likewise.
(Pretty Help Strings): Likewise; remove the wrong comment;
simplify the examples and improve their quoting.
(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.
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.
inherits from language Autoconf-without-aclocal-m4.
(Customizing autom4te): Adjust example; the cache must now be
disabled for language Autoconf-without-aclocal-m4.
* lib/autoconf/programs.m4 (AC_PATH_TOOL, AC_CHECK_TOOL,
AC_CHECK_TOOLS): Warn if a cross-tool is found without
a prefix.
(AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOL,
AC_CHECK_TARGET_TOOLS): New macros.
* doc/autoconf.texi (Generic Programs): Document
(AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOL,
AC_CHECK_TARGET_TOOLS, and warn for future changes
in the behavior of AC_PATH_TOOL, AC_CHECK_TOOL and
AC_CHECK_TOOLS.
(Specifying Names): Document the reason for these future
behavioral changes.
* tests/mktests.sh: Do not generate tests for the
new macros.
* NEWS: Document these changes.
* doc/autoconf.texi: Avoid macros with unbraced arguments,
they make TeX hang up.
refer to the correct file.
* doc/autoconf.texi (AU_DEFUN): Describe more correctly
the behavior of the third argument.
* lib/autoconf/autoupdate.m4 (AU_DEFUN): Describe more
correctly the behavior of the third argument. Document
what the three macros that AU_DEFUN defines do. Fix
warning message when the third argument includes $0
(reported by Alexandre Duret-Lutz).
* doc/autoconf.texi: Don't say that the third parameter
is broken.
* lib/autoconf/autoupdate.m4 (AU_DEFINE): New dummy macro.
(AU_DEFUN): Honor the third parameter, create autoupdate
macros with AU_DEFINE.
* lib/autoconf/headers.m4 (AC_USG, AC_MEMORY_H,
AC_DIR_HEADER): Use AU_DEFUN's third parameter.
* lib/autoconf/lang.m4 (AC_LANG_SAVE): Likewise.
* lib/autoconf/programs.m4 (AC_RSH): Likewise.
* lib/autoconf/specific.m4 (AC_HAVE_POUNDBANG,
AC_ARG_ARRAY, AC_CYGWIN, AC_EMXOS2, AC_MINGW32,
AC_XENIX_DIR): Likewise.
* lib/autoconf/types.m4 (AC_INT_16_BITS, AC_LONG_64_BITS,
AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Likewise.
* lib/autoconf/status.m4: Remove FIXME.
* tests/local.at (AT_CHECK_AU_MACRO): Ignore stderr, check
that the macro is not present anymore in the updated
configure.ac.
* tests/tools.at (autoupdate AC_LINK_FILES): Ignore stderr
of autoupdate.
grep or ggrep program in PATH that accepts as long lines as
possible.
* lib/autoconf/programs.m4 (_AC_PROG_GREP): Factor out the core of
AC_PROG_GREP.
(AC_PROG_EGREP, AC_PROG_FGREP): Use it to find best available
egrep and fgrep respectively if $GREP -E/-F don't work.
(_AC_PATH_PROG_FEATURE_CHECK): Factor out the common core of
_AC_PROG_GREP, and AC_PROG_SED.
(_AC_FEATURE_CHECK_LENGTH): New helper macro for finding the
longest input length accepted by a command.
(AC_PROG_SED): Use it.
* doc/autoconf.texi (Particular Programs): Document the changes.
* NEWS: Updated.
-c -o might not work. From a suggestion by Kevin Ryde.
(C Compiler, Generating Sources, Limitations
of Usual Tools, Limitations of Make, Making testsuite Scripts):
Don't put '-o' after non-options, as POSIX doesn't allow this.
Mention that cc's name might be gcc or c89 or whatever.
* TODO: Remove already done things. Update the part
about finding tools for the target.
2003-11-24 Paolo Bonzini <bonzini@gnu.org>
* lib/autoconf/headers.m4 (AC_USG, AC_MEMORY_H,
AC_DIR_HEADER): Make wording more consistent.
* lib/autoconf/specific.m4 (AC_CYGWIN, AC_EMXOS2,
AC_MINGW32): Explain the transition better.
* lib/autoconf/types.m4 (AC_INT_16_BITS,
AC_LONG_64_BITS): Explain the transition better.
2003-11-24 Paolo Bonzini <bonzini@gnu.org>
* doc/autoconf.texi (Obsoleting Macros): Don't
document the third parameter of AU_DEFUN.
* lib/autoconf/autoupdate.m4 (AU_DEFINE): Remove.
(AU_DEFUN): Remove the third parameter, it was not used.
Use AC_DEFUN directly, not AU_DEFINE.
* lib/autoconf/status.m4 (AC_LINK_FILES): Move the message
into the expanded body, consistently with other macros
such as AC_USG.
* doc/autoconf.texi (Using System Type): Revise, showing $host rather
than $target since the latter is not usual, add guidelines on when to
use or not use the system type.
$host_cpu pointed out by Ralf Corsepius.
so that ac_abs_builddir, ac_abs_top_builddir, ac_abs_srcdir,
and ac_abs_top_srcdir are absolute paths.
* lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): Remove misleading comment.
computing the absolute path to d1 in the source hierarchy: it may
not exist at all. So don't cd into it.
From Alexandre Duret-Lutz.
http://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00205.html
* lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): New.
From Paul Eggert, but named after Perl's IO::Spec->catfile.
* doc/autoconf.texi (Programming in M4sh): Document.
* lib/autoconf/status.m4 (_AC_SRCPATHS): Use it.
(GNU Fortran): New.
* doc/autoconf.texi (Language Choice): Document.
* lib/autoconf/fortran.m4 (AC_FC_SRCEXT, AC_FC_FREEFORM): Assert
the current language is Fortran.
that future autopoint/aclocal/automake/autoreconf will be able
to trace to find where to install local m4 macros.
* doc/autoconf.texi (Input): Document it.
* NEWS: Updated.
directory for AC_CONFIG_COMMANDS' first argument exists.
This makes valid the invocation of _AC_SRCPATH that follows.
Reported by Eric Sunshine.
* doc/autoconf.texi (Configuration Commands): Adjust.
in testsuite.dir/NNN/testsuite.log, and append them to
testsuite.log instead of re-running the test verbosely.
Adapt documentation. Update NEWS to signal possible bad
interactions between -x and experr.