* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoconf.sh: Change `exit' to `{ (exit 1); exit; }' after m4 and
awk commands to ensure exit state is in a defined state.
function calls.
Reported by John David Anglin.
* doc/autoconf.texi (Limitations of Usual Tools): Start the AWK
section.
* tests/tools.m4 (AWK portability): New test.
literal AWK program that performed the `oline' and quadrigraphs
substitution.
Fix its `oline' computation which was dead wrong when there are
empty lines (i.e., always).
Enhance it in order to look for and report unexpanded macro.
Don't let it pretend there are bugs in Autoconf (c:, the test
suite makes this scenario pretty unlikely as opposed to an actual
user bug.
Catch `m4_' too.
Remove the shell snippet which used to do this.
In fact, rename this option as -A, --autoconf-dir.
* autoconf.sh: Complain when -m, --macrodir is used.
Accept -A, --autoconf-dir.
Use $autoconf_dir instead of $AC_MACRODIR.
Adjust --help.
* autoheader.sh: Likewise.
* autoscan.sh: Likewise.
* autoupdate.sh: Likewise.
Use $optarg.
* autoreconf.sh: Likewise.
* doc/autoconf.texi: Adjust.
* tests: Adjust the test suite.
* autoheader.sh: Be more verbose, and always report your name in
verbose messages.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
(update.sh): Redirect ls's stderr to /dev/null.
In fact, honor the most recent specification in the concatenation
of `syntax',$WARNINGS,<options> in that order.
Implement support for `none' and `noCATEGORY' so that the options
may override the previous choices.
Suggested by Didier Verna.
* acgeneral.m4 (_AC_WARNING_IFELSE): New macro.
(AC_WARNING_IFELSE): Use this macro to implement the new specs.
(AC_WARNING): The empty category must not be used, default to
`syntax'.
* doc/autoconf.texi (autoconf Invocation, Reporting Messages): Adjust.
* autoconf.sh: Adjust.
Use `optarg' to fetch the arguments of options.
Fix a bug in the handling of `--trace='.
* acgeneral.m4 (AC_CACHE_VAL): Typo: the macro was complaining iff
it shouldn't have.
* tests/base.m4 (m4_wrap, AC_REQUIRE, AC_SHELL_MKDIR_P): Use it.
* autoconf.sh: Properly handle the case where `$output' is `-'
(i.e., stdout).
Handle `-ofile', not only `-o file'.
Reported by Mark Elbrecht.
* autoconf.sh <trace> (trace2m4.sed): Use `..*' instead of
`[^:][^:]*' to catch file names. The rest of regex is probably
precise enough to avoid incorrect parsing.
`yo-man-i-am-the-all-mighty-AVt0c0nF-eh-eh'. But when
`yo-man-i-am-the-all-mighty-AVt0h3Ad3R-eh-eh' and the other tools
want to trace, they might stupidly invoke the program named
`autoconf' instead. Pfff, stupid scripts :)
* Makefile.am (editsh): Transfer the names of the install
`autoconf' and `autoheader'.
* autoconf.sh: Add a missing period at the end of the comment
# Parse command line
Make sure to have a ChangeLog much longer than the patch.
* autoheader.sh: Use the right `autoconf'.
* autoupdate.sh: Likewise.
* autoreconf.sh: Likewise, and for `autoheader' too.
Simplify the handling of localdir and AC_MACRODIR.
* ifnames.sh: Formatting changes.
This is important if you want to redefine AC_INIT or some of its
sub macros (eeerk!), or if you want to use user defined macros
before AC_INIT.
Suggested by Didier Verna.
* acgeneral.m4 (_AC_INIT): Don't include `acsite.m4' and
`aclocal.m4'.
* autoconf.sh (run_m4, run_m4f): Do it.
* autoheader.sh: No longer try to select the needed paragraphs of
`acconfig.h', just dump everything into `config.h.in'.
Implement support for `--warnings'.
Warn the users that these auxiliary files are obsolete when `-W
obsolete'.
* doc/autoconf.texi (Invoking autoheader): Adjust.
* acgeneral.m4 (_AC_SH_QUOTE): Don't double quote. Escape the
double quotes too.
(_AC_ECHO_UNQUOTED): Don't double quote :).
(_AC_ECHO, _AC_ECHO_N): Quote the call to _AC_SH_QUOTE.
The autoheader chain needs to be adjusted.
* acgeneral.m4 (AH_VERBATIM): Just pass two arguments to AH_OUTPUT
instead of trying to build what `autoheader' needs: let it handle
the format by itself.
* autoheader.m4: Adjust.
s,tmp/config.h,tmp/config.hin.
The adjustment revealed that `autoconf --trace' is not robust to
single quotes in its argument.
* autoconf.sh: Fix this issue.
Rename the escape `$*' as `$%'. Implement `$@'.
* doc/autoconf.texi: Adjust.
changing value. On the `configure' script of the fileutils:
mawk '{ sub (/foo/, foo++) }' -> 14s.
mawk '{ if ($0 ~ /foo/) sub (/foo/, foo++) }' -> 0.03s.
mawk '{ sub (/foo/, foo) }' -> 0.03s.
* autoconf.sh (task script, AWK script): Run `sub (__oline__,
oline)' only in the lines that match `__oline__'.
Suggested by Paul Eggert.
* autoconf.sh: Use it when possible to create the dir $tmp.
Stop using variables for tmp files, use their names in $tmp.
[install]: Use the new features of autoconf --trace.
to systems without a real /dev/stderr in the file system or if not
using one of the three free awks. Use
print message | "cat >&2"
...
END { close("cat >&2") }
From Aharon Robbins.
record, this is not portable: mawk and nawk understand it as RS =
"". gawk understands it as expected.
* autoconf.sh (translate_awk::BEGIN): No longer change RS.
(translate_awk::body): Move to the END.
Instead, accumulate the input in `request'.
file names.
(translate_awk::BEGIN): Set RS to "0" so that the whole file be a
single record.
(translate_awk::trans): Convert from array to function.
(translate_awk::error): New function.
(translate_awk::main action): Implement support for ${sep}@ and
${sep}*. Use trans() and error().
(translate_awk): Don't put space before user functions call, it is
not portable.
Remove trailing `;', this is not C :).
(task trace): Quote `$traces' when you eval it, to protect the
white spaces.
Propagate `translate_awk' failures to `autoconf.sh'.
Translate the quadrigraphs.
* autoheader.sh: s/-eq/=/.
Uniform ordering of variable initializations, option handling.
Don't use quotes where useless (foo=$1, not foo="$1").
Propagate `run_m4' and `run_m4f'.
Use `$0' in --help.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Likewise.
* autoupdate.m4: Small bug: at the end `dnl' is disabled, so use
`m4_dnl'.
Also remove trailing blanks.
* tests/Makefile.am (testsuite): Use sed instead of cat.
* tests/torture.m4: No longer check for a trailing space.
* autoconf.sh: Likewise.