Commit Graph

104 Commits

Author SHA1 Message Date
Akim Demaille
5b4f860940 * autoconf.sh (trace.m4): Move all the M4 builtins into `at_'.
Catch the failures of the big pipe.
2000-11-02 16:03:58 +00:00
Akim Demaille
ff03218ac3 * tests/tools.at (Tracing M4 builtins): New test.
* autoconh.sh (trace_format): Fix its computation.
2000-11-02 15:32:23 +00:00
Akim Demaille
648bf798eb * autoconf.sh (task trace) [debug]: Instead of a long pipe, extend
trace.m4.
2000-11-02 15:06:02 +00:00
Akim Demaille
2353e0d366 * m4sugar.m4 (popdef, pushdef): Rename as...
(m4_popdef, m4_pushdef): these.
Adjust dependencies.
* acgeneral.m4: Adjust.
* aclang.m4: Likewise.
* autoconf.m4 (popdef, pushdef): Reactivate them.
2000-11-02 14:12:18 +00:00
Pavel Roskin
33de71ca28 * autoconf.sh: Using trap-safe "exit".
* autoreconf.sh: Likewise.
        * autoupdate.sh: Likewise.
        * tests/base.at: Use AS_EXIT instead of exit in configure.in.
        * tests/m4sh.at: Likewise.
        * tests/semantics.at: Likewise.
2000-11-01 19:57:54 +00:00
Akim Demaille
701a1dde55 GNU M4 1.4 improperly handle the traces of copies of builtins.
* autoconf.sh (task trace): When tracing `BUILTIN' also trace
`m4_BUILTIN'.
2000-11-01 17:02:34 +00:00
Pavel Roskin
a63489da61 * autoconf.sh: Typo: s/m4__warnings/m4_warnings/. 2000-11-01 15:01:54 +00:00
Akim Demaille
82756f7543 Move the handling of classified warnings into M4sugar.
* m4sugar.m4 (m4_diagnose): Remove.
(m4_warning): New.
* acgeneral.m4 (AC_WARNING_IFELSE, _AC_WARNING_IFELSE)
(_AC_WARNING_ERROR_IFELSE, __AC_WARNING_ERROR_IFELSE)
(_AC_DIAGNOSE, AC_DIAGNOSE): Rename as...
* m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse)
(_m4_warning_error_ifelse, __m4_warning_error_ifelse)
(_m4_warn, m4_warn): these.
* acgeneral.m4 (AC_DIAGNOSE): Wrapper around `m4_warn'.
* autoconf.sh: Define `m4_warnings' instead of `_AC_WARNINGS'.
2000-10-31 15:20:15 +00:00
Pavel Roskin
80f8404bec * autoconf.sh: When scanning for unexpanded macros match only
words beginning with "A?_" and "m4_" or containing "_A?_".
        Strip the comments before the matching. Don't use character
        ranges.
2000-10-30 03:20:00 +00:00
Pavel Roskin
c46d9d8480 * autoconf.sh: Recognize short options followed by arguments
without separators.
        * autoheader.sh: Likewise.
        * autoreconf.sh: Likewise. Recognize abbreviations for
        "--autoconf-dir" and "--m4dir"
        * autoupdate.sh: Likewise. Recognize abbreviations for
        "--autoconf-dir"
2000-10-27 13:47:54 +00:00
Pavel Roskin
0dd3144b2e * autoconf.sh: Don't show obsolete options on "--help". Report
obsolete options to stderr. Adjust list of options. Correct
        processing of options. Process options with values separated by
        "=" first, so that abbreviations work. Don't accept "=" with
        short options.
        * autoheader.sh: Likewise.
        * autoreconf.sh: Likewise.
        * autoupdate.sh: Likewise.
        * ifnames.sh: There is no "--verbose" option.
        * doc/autoconf.texi: Option "-A" requires an argument.
        (autoreconf Invocation): Document "--install", "--symlink",
        "--m4dir" and the options passed to Automake.
2000-10-26 22:27:48 +00:00
Akim Demaille
1e3cdfe0a3 * acgeneral.m4: Adjust copyright notice.
* acspecific.m4: Likewise.
* acoldnames.m4: Likewise.
* acversion.m4.in: Likewise.
* autoconf.sh: Likewise.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
* autoscan.pl: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Likewise.
2000-10-16 18:25:55 +00:00
Akim Demaille
e6600f6485 * autoconf.sh: Report full macro name for missing macros. 2000-09-27 10:29:30 +00:00
Akim Demaille
c916e13f94 * autoheader.sh: Fix trap (EXIT) status.
* 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.
2000-09-27 10:02:27 +00:00
Pavel Roskin
480bbc8376 * autoheader.sh: Don't check status of variable assignments -
* it's undefined in ash 0.2.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoconf.sh: Likewise. Also eliminated command substitution
inside variable expansion - ash 0.2 coredumps on it.
2000-09-25 13:24:45 +00:00
Akim Demaille
66dcecdf2f * autoconf.sh (optarg): More robust expr invocation.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
Reported by Bernard Dautrevaux.
2000-09-19 12:35:01 +00:00
Akim Demaille
63ff24b580 * autoconf.sh: Proprerly report names of unexpanded macros that
begin with an underscore
2000-09-11 07:16:34 +00:00
Akim Demaille
82bbd6fe4e * autoconf.sh: Consider undefined macros as errors.
* tests/base.m4 (unexpanded macros): Expect error, not warning
2000-09-05 10:19:01 +00:00
Akim Demaille
9fe002dcf5 * autoconf.sh: Change exit N' to (exit N); exit' to provide
the correct exit status when an exit trap is taken.
2000-08-11 08:51:34 +00:00
Akim Demaille
4df82da14e * autoconf.sh (finalize.awk): Don't leave spaces before the user
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.
2000-08-09 06:53:07 +00:00
Akim Demaille
6b9ecd5669 * autoconf.sh (finalize.awk): New subtool, eved from the previous
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.
2000-08-07 12:07:17 +00:00
Akim Demaille
6e867eb5ee * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Neutralize also
LC_COLLATE and LC_NUMERIC.
* autoconf.m4: Don't rely on character ranges with tr.
* doc/autoconf.texi (Special Shell Variables): Adjust.
2000-08-01 11:22:42 +00:00
Akim Demaille
b64f36dee1 * autoconf.sh (--warnings): Catch no-category', not nocategory'.
* autoheader.sh: Likewise.
* acgeneral.m4 (_AC_WARNING_IFELSE): Adjust.
2000-07-28 07:41:52 +00:00
Akim Demaille
9150c0ede6 Make it clear that the regular user does not need --macrodir.
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.
2000-07-19 09:03:53 +00:00
Akim Demaille
80ad59d16d * autoreconf.sh: Forward --debug to sub tools.
Let them share the same tmp dir.
2000-07-19 08:54:44 +00:00
Akim Demaille
71773fbd5f * acspecific.m4 (AC_MING32): Rename as AC_MINGW32. 2000-07-19 08:22:58 +00:00
Akim Demaille
a057e62853 Make it easier to trace what autoreconf does.
* 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.
2000-07-13 13:38:45 +00:00
Akim Demaille
17680fe3fb * autoconf.sh (_ac_warnings): Fix call to tr.
Reported by Johan Danielsson.
2000-07-12 16:33:38 +00:00
Akim Demaille
d899114564 Set autoconf's default warnings to `syntax'.
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.
2000-07-10 10:23:08 +00:00
Akim Demaille
289b6c7a22 * autoconf.sh (task install): We no longer use AC_INCLUDE. 2000-07-10 10:12:44 +00:00
Akim Demaille
d9c7337e87 * acgeneral.m4 (AC_PLAIN_SCRIPT): New macro.
* 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'.
2000-07-10 08:56:19 +00:00
Akim Demaille
821185fa6b * autoconf.sh: When using `mktemp -d', be sure that the directory
was created.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
2000-07-10 08:41:59 +00:00
Akim Demaille
f3ace9be03 * autoconf.sh (option handling): Give a more understandable
message when an option is missing its argument.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
2000-06-15 11:33:04 +00:00
Akim Demaille
1708332550 autoconf --trace' dies on filenames with :'.
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.
2000-06-09 10:02:19 +00:00
Akim Demaille
7f448b314c Formatting changes. 2000-06-09 10:00:36 +00:00
Akim Demaille
1b6f086514 Thanks to --program-transform-name, `autoconf' might be install as
`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.
2000-05-26 17:45:10 +00:00
Akim Demaille
bbd3b7f40c Load the additions *before* running AC_INIT.
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.
2000-05-23 09:52:05 +00:00
Akim Demaille
49ec438253 Simplify the handling of `acconfig.h'.
* 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.
2000-05-03 11:22:50 +00:00
Akim Demaille
27aaac5d86 Don't double quote in AC_MSG_*.
* 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.
2000-05-03 08:53:06 +00:00
Akim Demaille
2df476bb0c mawk suffers a severe performance loss when using `sub' with a
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.
2000-04-28 09:46:55 +00:00
Akim Demaille
87108bf282 * autoconf.sh (options handling::-W*): Strip two leading chars, not
just one.
2000-04-28 09:07:21 +00:00
Akim Demaille
cc748d17e8 Provide a fine grained control over autoconf's warnings.
* acgeneral.m4 (AC_WARNING_IFELSE, _AC_DIAGNOSE, AC_DIAGNOSE):
New macros.
(AC_DEFUN_ONCE, AC_OBSOLETE, AC_BEFORE, AU_DEFUN, AC_PREREQ,
AC_WARNING, AC_FATAL, AC_TRY_RUN): Use AC_DIAGNOSE.
* autoconf.sh: Provide support for `--warnings', `-W'.
* doc/autoconf.texi (Invoking autoconf): Adjust.
(Reporting Messages): New section.
2000-04-13 08:25:11 +00:00
Akim Demaille
e727a08732 * autoheader.sh: Catch up with the `mktemp -d' changes in
autoconf.sh.
* autoupdate.sh: Likewise.
2000-03-31 08:20:09 +00:00
Akim Demaille
8e30614b9a silent.m4 depends upon the current quotation in m4, which changes
if `-i' is used or not.

* autoconf.sh (trace::silent.m4): Removed.
(trace::run_m4_trace): Pass -Derrprint.
2000-03-29 16:18:52 +00:00
Akim Demaille
d629254b79 Fix the call to umask in the previous checkin. 2000-03-29 16:15:22 +00:00
Akim Demaille
15fc2d9ecb Use `mktemp -d' when possible to create securely a tmp work dir.
* 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.
2000-03-29 11:09:59 +00:00
Akim Demaille
9a26587828 * autoconf.sh (trace): Let translate_awk do the whole translation
from `$trace' to the m4 program.
2000-03-27 12:19:01 +00:00
Akim Demaille
4b6a9f36ba * autoconf.sh (translate_awk): `> "/dev/stderr"' is not portable
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.
2000-03-25 09:17:40 +00:00
Akim Demaille
424aa5a02f * autoconf.sh (task trace): Pipe the output of the first m4 into
the second one, instead of saving to a tmp file, so that we can
trace endless configure.in expansion.
2000-03-21 12:06:30 +00:00
Akim Demaille
e140e3ce82 Don't rely on RS = "0" to swallow the whole input as a single
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'.
2000-03-20 10:30:54 +00:00