Commit Graph

161 Commits

Author SHA1 Message Date
Paul Eggert
03b5875793 (_AS_LINENO_PREPARE): If the current shell does not support LINENO,
and if CONFIG_SHELL is unset or empty, and if we can find a shell that
does support LINENO, then set CONFIG_SHELL to that shell and then
re-execute ourselves with CONFIG_SHELL.
2001-10-08 04:10:32 +00:00
Akim Demaille
41da374f67 * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Look in the path
iff we are a bareword.
Reported by Raja R Harinath.
2001-10-05 17:46:46 +00:00
Akim Demaille
a7b9f60081 * tests/m4sh.at (LINENO): New.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Be sure to set
PATH_SEPARATOR before using it.
Fix the absolute path case/esac pattern.
Provide $0 as fallback for as_myself.
Reported by Raja R Harinath.
2001-10-05 16:12:22 +00:00
Akim Demaille
b3594d53cb * Makefile.am, config/Makefile.am, lib/emacs/Makefile.am,
* m4/Makefile.am, man/Makefile.am: Add/adjust MAINTAINERCLEANFILES.
2001-10-05 16:12:06 +00:00
Akim Demaille
42b48aec23 * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Use a portable
combination of Awk and sed to replace $LINENO.
2001-10-04 15:24:31 +00:00
Paul Eggert
79d702d8bc (AS_SHELL_SANITIZE): "source" -> ".", for compatibility with POSIX shells. 2001-10-02 23:14:30 +00:00
Akim Demaille
a89e34ea3d * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Just source 40.lineno
instead of exec'ing to preserve $0 and $@.
2001-10-02 14:37:07 +00:00
Akim Demaille
fa75ee4b94 * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix bugs spotted by
Raja R Harinath:
Be sure to detect when $LINENO always returns the same value.
Look for the original script, basename($0) is certainly not
enough.
Pass the CLI arguments to `$as_me.lineno'.
2001-09-27 08:27:55 +00:00
Akim Demaille
eacc95ddc9 * lib/autotest/general.m4 (AT_INIT): Dump config.log last.
Pass $at_debug_args to the rerun test suite.
* lib/m4sugar/Makefile.am (DISTCLEANFILES): New.
* bin/Makefile.am (ETAGS_SH): Don't use characters ranges.
From Paul Eggert.
2001-09-23 17:16:43 +00:00
Akim Demaille
a9bd52773e Rely on $LINENO' when possible instead of __oline__'.
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Provide some form of
`$LINENO' support replacement when not supported.
(_AS_CR_PREPARE, _AS_TR_CPP_PREPARE, _AS_TR_SH_PREPARE): Invoke
them explicitly to be sure they are not output before this section
(via m4_require).  Cosmetic only.
* lib/autoconf/c.m4, lib/autoconf/general.m4,
* lib/autoconf/programs.m4: Replace all the occurrences of
`__oline__' with `$LINENO'.
* doc/autoconf.texi (Special Shell Variables): Document LINENO.
2001-09-22 15:20:44 +00:00
Tim Van Holder
1422430f54 Default CDPATH to $PATH_SEPARATOR, not ':'. 2001-09-20 15:51:04 +00:00
Akim Demaille
bfa90014d7 * tests/m4sh.at: Ensure that AS_DIRNAME handles '/', '//' and '///'
correctly.
Add test for AS_BASENAME.
* lib/m4sugar/m4sh.m4: Fix AS_BASENAME so that it passes the previous
added test. It now correctly handles /1/2/3/, returning '3' not ''.
Added AS_BASENAME_SED to make the interface the same as AS_DIRNAME.
* tests/base.at: Fixed the expected responses. The old ones were
one line out...
* lib/autoconf/general.m4: Fixed AC_PREFIX_PROGRAM, it now behaves as
the documentation claims it should (and how it behaved in 2.13).
2001-09-18 12:26:36 +00:00
Akim Demaille
01bbecaa0a * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): No INIT-CMDS in
the AC_CONFIG_COMMANDS invocation.
This also solves the name clash problems.
Don't set the package's ID.
* lib/m4sugar/Makefile.am (version.m4): Revamp.
No longer to be shipped.
(version.in): Remove.
* lib/m4sugar/m4sugar.m4, lib/autoconf/general.m4,
* lib/autoconf/status.m4: Adjust.
Use `m4_PACKAGE_STRING'.
* lib/autotest/general.m4 (AT_INIT): N-th signature change: now
the only optional argument is the name of the test suite.
Expect `package.m4' to define the package signature.
* lib/autom4te.in (Autotest): Add `package.m4?'.
* tests/Makefile.am (package.m4): New.
* tests/suite.at: ifnames is a victim.
2001-09-18 09:03:18 +00:00
Akim Demaille
0638570e79 * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New.
* lib/autotest/general.m4 (AT_VICTIMS, AT_KEYWORDS, _AT_CLEANUP_FILE):
Use it.
2001-09-13 06:57:45 +00:00
Akim Demaille
fcd2734d6a * lib/m4sugar/m4sugar.m4 (_AS_QUOTE_IFELSE, _AS_BOX_INDIR): Use
m4_match.
(m4_re_escape): New.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER): Use it.
* lib/autoconf/general.m4 (AC_CACHE_SAVE): Use m4_match.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER, AC_CONFIG_LINKS):
Likewise.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P)
(_AC_CHECK_TYPE_MAYBE_TYPE_P, AC_CHECK_MEMBER): Likewise.
* lib/autotest/general.m4 (AT_INIT): Rename AT_TESTS_ALL as
AT_tests_all for consistency.
Set at_victims.
(AT_VICTIMS): Similar to AT_KEYWORDS.
(_AT_CLEANUP_FILE_IF): Use m4_match and m4_re_escape.
2001-09-13 06:57:29 +00:00
Akim Demaille
b13885b690 * lib/autotest/general.m4 (AT_INIT): Create and remove
`$as_me.[0-9]+' instead of `debug-[0-9]+.sh', so that multiple
test suites can cohabit.
2001-09-13 06:57:01 +00:00
Akim Demaille
5216ece6a8 Test suites can be run independently of configure.
* lib/m4sugar/m4sh.m4 (_AS_ECHO, _AS_ECHO_N_PREPARE): New.
* lib/autoconf/programs.m4 (_AC_PROG_ECHO): Remove.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust: AC_SUBST
ECHO_N etc.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't ask for at_n
and at_c.
* lib/autotest/general.m4: Use ECHO_*.
2001-09-13 06:56:31 +00:00
Akim Demaille
c737451f8c * bin/ifnames.in: Rewrite in Perl.
* configure.ac: Don't look for AWK.
* tests/tools.at (AWK portability): Remove.
(Syntax of the shell scripts): Don't check ifnames.
(AT_CHECK_PERL_SYNTAX): New.
(Syntax of the Perl scripts): Check ifnames.
* tests/ifnames: New.
2001-09-13 06:54:35 +00:00
Akim Demaille
10b30c8904 * lib/autotest/general.m4 (AT_INIT): Remove the diversion HELP and
SETUP: no longer used.
Support -k, --keywords.
<at_help>: Be `no', `short', or `long'.
<at_help_all>: New variable.
(AT_KEYWORDS): New.
(AT_CLEANUP_FILE_IFELSE, AT_CLEANUP_FILE): Rename as...
(_AT_CLEANUP_FILE_IF, _AT_CLEANUP_FILE): these.
(_AT_CLEANUP_FILE_IF): Simplify the regexp.
(AT_SETUP): Reset AT_line, AT_keywords, AT_description.
No longer fill the HELP diversion.
(AT_CLEANUP): Use them.
* lib/m4sugar/m4sugar.m4 (m4_append): Support a separator.
(m4_list_append): Remove.
Spread a few keywords in the Autoconf test suite.
2001-09-10 07:18:17 +00:00
Akim Demaille
4494f57cd6 * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't pass
PATH_SEPARATOR, let M4sh compute it.
* lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): New.
* lib/autoconf/programs.m4 (AC_SHELL_PATH_WALK): Use PATH_SEPARATOR.
Move to...
* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Here.
Simplify when the path is not a literal.
(AS_UNAME): Use it to report PATH.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Remove.
(_AC_INIT_DEFAULTS): AC_SUBST PATH_SEPARATOR.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Use _AS_PATH_WALK.
* lib/autotest/general.m4 (AT_INIT): Use _AS_PATH_WALK to
normalize the path, and to look for victims.
* tests/semantics.at (AC_PATH_PROG & AC_PATH_PROGS)
(AC_CHECK_PROG & AC_CHECK_PROGS): Use PATH_SEPARATOR.
2001-09-10 07:17:41 +00:00
Akim Demaille
c7ae939c1d Move toward possibly stand-alone test suites.
* lib/autotest/general.m4: Stop displaying srcdir everywhere as,
in addition, it introduces useless differences in logs.
(AT_INIT): Let atconfig and atlocal be both optional.
Adjust PATH computation.
* lib/m4sugar/m4sh.m4 (AS_UNAME): More readable display of PATH.
2001-09-07 07:20:26 +00:00
Akim Demaille
ba3b08af20 Automake 1.5.
* Makefile.am (AUTOMAKE_OPTIONS): Add 1.5 and dist-bzip2.
(AMTAR): Help automake define it.
(INSTALL, install-data-hook): The INSTALL.txt trick is no longer
needed, 1.5 can have a macro and a target with the same name.
* m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/install-sh.m4,
* m4/strip.m4: New.
* m4/init.m4, m4/sanity.m4: Update.
* doc/Makefile.am (CLEANFILES): 1.5 knows the texi2dvi files.
* lib/autoconf/Makefile.am, lib/autotest/Makefile.am,
* lib/m4sugar/Makefile.am, lib/autoscan/Makefile.am,
* lib/Autom4te/Makefile.am, man/Makefile.am: Use dist/nodist.
2001-08-27 07:12:16 +00:00
Akim Demaille
f827e95708 Provide a mean to ``AC_PREREQ'' for M4sugar, M4sh and Autotest.
* lib/autoconf/version.in: Remove.
* lib/m4sugar/version.in: New.
* lib/m4sugar/m4sugar.m4 (m4_acversion, m4_version_prereq): New.
Adjust callers.
* bin/autoupdate.in: Distinguish M4sugar vs. Autoconf macros by
the name of the directory they're in, instead of the filename,
since version.m4 is now in m4sugar, but m4_acversion must not be
classified as an Autoconf macro.
($input_m4): Don't qualify the path to m4sugar.
Rather, pass autoconf_dir to m4.
* tests/Makefile.am (testsuite): Remove -I top_srcdir, unneeded.
* tests/suite.at: Require 2.52c.
2001-08-27 07:08:56 +00:00
Akim Demaille
d5c038a64b testsuite.log should include config.log.
* lib/autotest/autotest.m4: New.
* lib/autotest/general.m4, tests/atspecific.m4:	Adjust.
* tests/suite.at : Adjust.
(AT_INIT): Log config.log.
* lib/m4sugar/m4sugar.m4 (m4_text_box): New.
* lib/m4sugar/m4sh.m4 (_AS_BOX_LITERAL): Adjust.
* lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG): Use them.
(_AC_INIT_PREPARE): Fix the incredibly messy and buggy completion
of config.log on traps.
(_AC_OUTPUT_CONFIG_STATUS): Use AS_BOX.
Use consistently `_ACEOF' for configure's here docs, and `_CSEOF'
for config.status'.
Open the log as soon as possible.
Use the same log introduction as configure's.
2001-08-27 07:03:48 +00:00
Akim Demaille
ebca389eda * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Fail if fails.
* lib/autoconf/general.m4 (_AC_OUTPUT_SUBDIRS): Adjust.
(AC_SITE_LOAD): Better logging of config.site.
2001-08-22 06:24:29 +00:00
Akim Demaille
6e996ed93b Huh!?!?! There are still some user EOF tags used, which prevents
their use in AC_CONFIG_COMMANDS for instance...
* lib/autoconf/general.m4, lib/autoconf/specific.m4,
* lib/autotest/general.m4: Rename the EOF tags as `_ACEOF',
`_CSEOF', or `_ATEOF', as appropriate.
* lib/m4sugar/Makefile.am, lib/autoconf/Makefile.am,
* lib/autotest/Makefile.am (check-local): Enforce this constraint.
2001-08-20 14:45:22 +00:00
Akim Demaille
e0c375ab26 Let M4sh have its own diversions.
* lib/autoconf/general.m4 (_m4_divert(BINSH), _m4_divert(REVISION))
(_m4_divert(NOTICE)): Rename as...
* lib/m4sugar/m4msh.m4 (_m4_divert(BINSH), _m4_divert(HEADER-REVISION))
(_m4_divert(HEADER-COMMENT)): these.
(_m4_divert(HEADER-COPYRIGHT), _m4_divert(HEADER-COPYRIGHT)): New.
(_m4_divert(NOTICE)): New, for Libtool.
* lib/autoconf/general.m4 (_m4_divert(PREPARE)): Remove, replaced
long ago with `_m4_divert(GROW)'.
(AC_COPYRIGHT, AC_REVISION, _AC_INIT_NOTICE): Adjust.
2001-08-20 14:44:48 +00:00
Akim Demaille
40556ab827 * bin/Makefile.am, lib/Autom4te/Makefile.am, lib/autoconf/Makefile.am
* lib/autotest/Makefile.am, lib/m4sugar/Makefile.am: Add TAGS support.
2001-08-17 12:06:44 +00:00
Akim Demaille
9f76b38080 The use of dumpstat' revealed that len' was used although it
should not.  m4_text_wrap was using it, but in the Autoconf world
where it is legal.  Hence (i) test M4sh in its own world, not
Autoconf's, and (ii), ahem, fix the bug :)
* lib/autotest/general.m4: Be sure the set good quotes, as tracing
does not like `' instead of [].
(AT_INIT): Forbid `^_?AT_'.
And don't output such tokens.
* tests/Makefile.am (CLEANFILES): Add `script', `script.s4g',
`script.as', and `autom4te.cache'.
Remove `empty' and `macro' which are no longer used.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): New.
* tests/m4sugar.at: Use it.
* lib/m4sugar/m4sugar.m4: Use `m4_len' not `len'.
2001-08-07 07:56:40 +00:00
Akim Demaille
bbfdf23a93 Don't rely on M4sugar outputting the patterns in files, since we
might process the output _without_ running m4, hence without these
files.
* lib/m4sugar/m4sugar.m4 (m4_init): No need for `m4_tmpdir'.
* bin/autom4te.in (@Request::includes): Remove, unused.
(@Request::source): Rename as...
(@Request::input): this.
(@preselect): Add `m4_pattern_forbid' and `m4_pattern_allow'.
(&handle_output): Fetch the patterns from the traces.
`$forbidden' and `$allowed' are constant: use m//o.
(&handle_m4): M4sugar no longer wants `m4_tmpdir'.
(m4_pattern_forbid, m4_pattern_allow): Adjust for tracing only.
2001-08-04 13:16:47 +00:00
Akim Demaille
7d26817715 * lib/m4sugar/m4sugar.m4 (m4_init): Also forbid `_m4_*' tokens.
(m4_divert_pop): Dump the whole diversion stack when a diversion
mismatch happens.
* bin/autom4te.in (&handle_output): Remember of the first
occurrence of a possibly undefined macro, not the last.
Complain about the possibly undefined macros in the same order as
the appear in the output.
* lib/autoconf/Makefile.am (autoconf.m4f): List its dependencies.
* tests/tools.at (autoconf: forbidden tokens, basic)
(autoconf: forbidden tokens, exceptions): No longer sort
autoconf's stderr, as it is now deterministic.
Check that `dnl' is caught.
2001-08-03 09:09:45 +00:00
Akim Demaille
b21ca4dd20 * acfunctions.m4: Rename as...
* lib/autoconf/functions.m4: this.
* acgeneral.m4: Rename as...
* lib/autoconf/general.m4: this.
* acheaders.m4: Rename as...
* lib/autoconf/headers.m4: this.
* aclang.m4: Rename as...
* lib/autoconf/lang.m4: this.
* acoldnames.m4: Rename as...
* lib/autoconf/oldnames.m4: this.
* acspecific.m4: Rename as...
* lib/autoconf/specific.m4: this.
* actypes.m4: Rename as...
* lib/autoconf/types.m4: this.
* autoconf.m4: Rename as...
* lib/autoconf/autoconf.m4: this.
* m4sugar.m4: Rename as...
* lib/m4sugar/m4sugar.m4: this.
* m4sh.m4: Rename as...
* lib/m4sugar/m4sh.m4: this.
* tests/atgeneral.m4: Rename as...
* lib/autotest/general.m4: this.
* acfunctions: Rename as...
* lib/autoscan/functions: this.
* acheaders: Rename as...
* lib/autoscan/headers: this.
* acidentifiers: Rename as...
* lib/autoscan/identifiers: this.
* aclibraries: Rename as...
* lib/autoscan/libraries: this.
* acmakevars: Rename as...
* lib/autoscan/makevars: this.
* acprograms: Rename as...
* lib/autoscan/programs: this.
2001-08-01 13:46:22 +00:00
Akim Demaille
ca4630d840 Prepare file moves. 2001-07-25 08:15:26 +00:00
Akim Demaille
45929722e1 Let autoconf use autom4te to create configure.
* autoconf.in ($automate): New var.
(task script): Use autom4te.
* autom4te.in (File::Spec): Use it.
(&find_file): New.
(&parse_args): --warning is -W, not -w.
Find the top level files.
(&handle_m4): Pass the warnings flags.
Don't report verbosely m4's failures, unless requested.
(&handle_output): Don't complain for forbidden tokens in comments.
Be sure to report all the forbidden tokens within a single line.
(&trace_format_to_m4): Preserve `$_'.
(&handle_traces): Sort the output macros.
(&up_to_date_p): Find the files before trying to get its time stamp.
2001-07-24 08:57:55 +00:00
Akim Demaille
49ff8332e5 The C-Fortran 77 hooks are available only once AC_F77_DUMMY_MAIN
was run, while they are needed also when it is expanded.
Reported by Nicolas Joly.
* aclang.m4 (AC_F77_DUMMY_MAIN): Define _AC_LANG_PROGRAM_C_F77_HOOKS.
(AC_LANG_PROGRAM(C)): Use it instead of depending upon
AC_F77_DUMMY_MAIN being expanded.
2001-07-18 13:38:40 +00:00
Akim Demaille
21c5ee474b ./configure --program-suffix=foo produces `transform=s,$$,foo,;',
but some sed choke on multiple `;', and other tools (e.g.,
Automake), include the separator themselves.
* acgeneral.m4 (AC_ARG_VAR): Be sure not to leave extra `;'.
2001-06-21 09:18:16 +00:00
Akim Demaille
e1e6286e7b * acgeneral.m4 (AC_VAR_SET, AC_VAR_GET, AC_VAR_TEST_SET)
(AC_VAR_SET_IFELSE, AC_VAR_PUSHDEF and AC_VAR_POPDEF, AC_TR_CPP)
(AC_TR_SH): Move as...
* m4sh.m4 (AS_VAR_SET, AS_VAR_GET, AS_VAR_TEST_SET)
(AS_VAR_SET_IF, AC_VAR_PUSHDEF, AS_VAR_POPDEF, AS_TR_CPP)
(AS_TR_SH): these.
(_AS_TR_PREPARE, _AS_CR_PREPARE, _AS_TR_CPP_PREPARE)
(_AS_TR_SH_PREPARE): New.
(AS_SHELL_SANITIZE): Invoke _AS_TR_PREPARE.
* tests/aclocal.m4 (AC_STATE_SAVE): `as_' vars can be modified.
2001-06-04 16:07:23 +00:00
Pavel Roskin
8dba4e28ab * acgeneral.m4 (_AC_INIT_PREPARE): Don't rely on $? in the traps
for signals other than 0 - exit with code 1.
* m4sh.m4 (AS_TMPDIR): Likewise.
* autoconf.in: Likewise. Also don't rely on exit == exit $?.
* autoheader.in: Likewise.
* autoreconf.in: Likewise.
* tests/torture.at (Signal handling): New test for the above.
2001-06-02 05:49:54 +00:00
Akim Demaille
2de417d017 * m4sugar.m4 (m4_defn, m4_undefine, m4_popdef): Clarify the error
message.
2001-06-01 10:55:21 +00:00
Lars J. Aas
b0250ac156 Copyright 2001 2001-04-15 16:20:30 +00:00
Akim Demaille
75a3a3d326 * m4sh.m4 (AS_BASENAME): New.
(AS_SHELL_SANITIZE): Set `$as_me'.
* acgeneral.m4: Don't set as_me; AS_SHELL_SANITIZE now does this.
* tests/atgeneral.m4: Likewise.
(AT_INIT): Use $PATH_SEPARATOR for walking the path.
* autoconf.sh: Be DOS-friendly when setting as_me and M4.
Add quotes to support spaces in $tmp.
Work around problem in DJGPP port of awk by using a temporary file.
* autoheader.sh: Be DOS-friendly when setting as_me.
* autoreconf.sh: Be DOS-friendly when setting as_me, dir and
template_dir.
2001-03-30 12:49:36 +00:00
Akim Demaille
ebf04e44de * acgeneral.m4 (_AC_INIT_PREPARE): Remove conf$$* on exit.
* m4sh.m4 (_AS_LN_S_PREPARE, _AS_BROKEN_TEST_PREPARE):
s/conftest/conf$$/ to avoid race conditions.
From Lars J. Aas.
2001-02-25 10:44:37 +00:00
Akim Demaille
bc2da2eb0d * m4sh.m4 (_AS_TEST_PREPARE): Rename as...
(_AS_BROKEN_TEST_PREPARE): this.
(_AS_TEST_PREPARE): New dummy but working version of this macro.
* acspecific.m4 (AC_PROG_INSTALL): Use AS_EXECUTABLE_P.
2001-02-25 10:43:34 +00:00
Akim Demaille
de7bbeb9f4 * m4sh.m4 (_AS_TEST_PREPARE): Discard output when testing `test
-x' and `test -f' to avoid confusing users with error messages.
(AS_MKDIR_P): Invert order of separators in IFS to avoid problem
with some shells adding backslash between fields and parsing the
result for escapes.
* doc/autoconf.texi (Special Shell Variables): Document IFS.
2001-01-29 15:24:10 +00:00
Akim Demaille
fea900426a Follow Tim Van Holder's suggestions for a uniform handling of
symlinks.
* m4sh.m4: Stay in `as_', not `ac_'.
(_AS_LN_S_PREPARE): Eve out from...
* acspecific.m4 (AC_PROG_LN_S): here.  Adjust.
* m4sh.m4 (AS_LN_S): New.
(AS_SHELL_PREPARE): Call _AS_LN_S_PREPARE.
2001-01-27 13:19:14 +00:00
Akim Demaille
ebec93d7e6 * m4sh.m4 (AS_EXECUTABLE_P, _AS_TEST_PREPARE): New macros.
(AS_SANITIZE_SHELL): Call _AS_TEST_PREPARE.
* acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG): Use AS_EXECUTABLE_P
instead of test -f.
2001-01-24 08:24:44 +00:00
Akim Demaille
6989c24425 * m4sugar.m4 (m4_expand_once): Accept a witness. 2001-01-24 07:47:12 +00:00
Akim Demaille
bddc739371 * acgeneral.m4 (AC_EXPAND_ONCE): Remove, use m4_expand_once.
(AC_DIVERT_ONCE): Move to...
* m4sugar.m4 (m4_expand_once): here.
2001-01-23 17:04:35 +00:00
Akim Demaille
a606e651c9 * sh.m4 (AS_ESCAPE): New.
(_AS_QUOTE_IFELSE): Use it.
* tests/atgeneral.m4 (AT_INIT) <SHELL>: Define and use.
<--help> Don't display the options help when tests were selected.
Document -d.
<at_skip_list>: New.
<testsuite.log>: Give a banner, include ChangeLog snippets, list
the failed and skipped tests.
Remove useless $at_traceoff in sub shells, this improves the
readability of the traces by removing testsuite's implementation
details.
(AT_CHECK): Filter out the shell traces from the tested command's
stderr.
Use AS_ESCAPE.
Don't register experr and expout for clean up, as it's hairy and
easier to do from...
Support STDOUT = stdout, and STDERR = stderr.
Force the output of shell traces.
(AT_INIT): Here.
2001-01-22 08:59:02 +00:00
Akim Demaille
960155df17 Catch only used patterns.
Reported by the whole Autoconf community.
* m4sh.m4 (AS_INIT): New.
* acgeneral.m4 (AC_PLAIN_SCRIPT): Use it.
Forbid only AC, AU, AH and AM.
2001-01-19 14:35:06 +00:00
Akim Demaille
3bb537f677 * sugar.m4 (m4_require): Missing dnl. 2001-01-19 11:27:40 +00:00
Akim Demaille
a8d8d481e5 * m4sh.m4 (AS_MKDIR_P): Properly support DOS-style paths. 2001-01-18 13:30:46 +00:00
Akim Demaille
722c1a86a0 Require a perfect divert push/pop balance.
* m4sugar.m4 (m4_divert, m4_divert_push, m4_divert_pop): Keep
track of them in m4_divert_stack.
(m4_divert_pop): Accept the expected current diversion as
argument and m4_fatal if incorrect, or if there is nothing to pop.
(globally): Specify the known m4_divert_pop.
Preserve symbolic values when possible.
* acgeneral.m4: No longer push the first diversion.
Specify the known m4_divert_pop.
(AC_PLAIN_SCRIPT): When m4_divert_push a diversion, m4_wrap its
pop.
(AC_INIT): Run AC_PLAIN_SCRIPT first, not last.
* tests/m4sh.at (AS_DIRNAME & AS_DIRNAME_SED): Can't use m4_defun
without m4_init.
* m4sugar.m4: Likewise.
2001-01-18 09:16:08 +00:00
Akim Demaille
f81b72c915 * m4sugar.m4 (m4_defn, m4_undefine, m4_popdef): Unlike the
builtin, fail on undefined symbols.
* tests/torture.at (Torturing config.status): Stop playing nasty
tricks with changequote.
(AC_DEFUBST): Move here from...
* tests/aclocal.m4: there.
2001-01-18 09:15:52 +00:00
Akim Demaille
70b6f5cc93 Various cleanups and consistency checks.
* m4sugar.m4: Formatting changes.
* acgeneral.m4 (AC_DIVERT_PUSH, AC_DIVERT_POP, AC_REQUIRE)
(AC_DIAGNOSE, AC_FATAL, AC_MSG_WARN, AC_MSG_NOTICE, AC_MSG_ERROR):
Use m4_copy to define them, in order to keep a good $0.
(AC_INIT): AC_LANG_PUSH C, not AC_LANG, to initialize the stack.
* aclang.m4 (AC_LANG_PUSH): Dont't use m4_defn on undefined macros.
(AC_LANG_POP): Admit an argument specifying the language we quit
when popping.
Adjust Autoconf's AC_LANG_POPs.
* tests/tools.at (AWK portability): Don't depend on AC_INIT.
(autoconf --trace: user macros): Obviously I
meant TRACE1, not AC_TRACE1.
2001-01-18 09:15:31 +00:00
Akim Demaille
8a3c7070bd * m4sugar.m4 (m4_undefine, m4_popdef): Don't tolerate undefined
arguments.
(_m4_expansion_stack): Rename as...
(m4_expansion_stack): this, and change its value: instead of using
the pushdef stack to stack each *line* of the stack, each
definition contains the whole stack.  I.e., to display the whole
stack, instead of popdefing and displaying each definition, just
display the current definition.
(m4_expansion_stack_push, m4_expansion_stack_pop): New.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Let $2 be the expected
exit status.
* tests/m4sugar.m4 (m4_require: circular dependencies): New test.
2001-01-17 15:26:42 +00:00
Pavel Roskin
23ef1d703a * m4sugar.m4 (m4_normalize): New macro - superposition of
m4_flatten and m4_strip.
(m4_join): Use m4_normalize.
* acgeneral.m4 (AC_FOREACH): Use m4_normalize.
(AC_CONFIG_HEADERS): Normalize the first argument.
(AC_CONFIG_LINKS): Likewise.
(AC_CONFIG_SUBDIRS): Likewise.
2001-01-17 15:23:31 +00:00
Akim Demaille
4c6ce32f58 * m4sh.m4 (AS_EXIT): Don't rely on exit == exit $?.
Reported by Tim Van Holder.
2001-01-16 10:27:19 +00:00
Akim Demaille
e2e36c55ce * Makefile.am (editpl, editsh): Merge into...
(edit).
* m4sh.m4 (AS_UNAME): Eved out from...
* acgeneral.m4 (_AC_INIT_DEFAULTS): here.
(_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME.
(_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables.
Propagate their use in the executables and the test suite.
* tests/atgeneral.m4 (PATH): Include only absolute paths.
(AT_INIT): Use AS_UNAME.
2001-01-16 10:25:57 +00:00
Akim Demaille
bd16bfa0e3 * sh.m4 (AS_BOX, _AS_BOX_LITERAL, _AS_BOX_INDIR): New.
* tests/atgeneral.m4: Use it.
2001-01-15 07:29:48 +00:00
Akim Demaille
59ecd7666a * acgeneral.m4 (AC_VAR_INDIR_IFELSE): Move as...
* m4sh.m4 (AS_LITERAL_IF): this.
(AS_IFELSE): Rename as...
(AS_IF): this.
2001-01-15 07:29:24 +00:00
Akim Demaille
5058e82d54 * acgeneral.m4: Last changes for `configure.ac'.
(_AC_INIT_HELP, _AC_OUTPUT_SUBDIRS): Take `configure.ac' into
account.
* autoreconf.sh: Likewise.
2001-01-12 09:19:59 +00:00
Akim Demaille
feec4913d1 * m4sugar.m4 (m4_init): Catch `dnl'. 2000-12-15 07:46:47 +00:00
Pavel Roskin
26ce6814c0 * m4sh.sh (AS_ERROR): Restore dnl at the end of the macro. 2000-12-15 07:09:41 +00:00
Pavel Roskin
27853939be * m4sugar.m4 (m4_file_append): Add a newline after _m4eof,
otherwise _m4eof is appended to the output on FreeBSD 4.0.
* tests/atgeneral.m4 (AT_INIT): Avoid using unbalanced "y"
in sed, use "s" instead.
* tests/mktests.sh: Don't use ? in sed - it's a GNU extension.
Use separate patterns for A[CU]_DEFUN and AC_DEFUN_ONCE.
2000-12-13 14:53:51 +00:00
Akim Demaille
1088d101b2 AS_ERROR was not properly saving data in the log file.
* sh.m4 (AS_WARN, AS_ERROR): Use AS_MESSAGE.
(_AS_ECHO): Fix quotation.
(AS_MESSAGE): Use `as_me'.
* acgeneral.m4: More banners in the log.
(_AC_INIT_DEFAULTS): Compute as_me before using it.
2000-12-12 10:53:41 +00:00
Akim Demaille
9eb6e4e204 The SunOS' egrep fails to process properly the `egrep' invocations
of the test suite.
* tests/aclocal.m4 (AC_STATE_SAVE): If egrep fails, remove the
output file.
* tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Don't check `state-*'
if the files are not present.
* m4sugar.m4 (m4_join): Rename as...
(m4_smash): this.
* tests/aclocal.m4 (join): Move as...
* m4sugar.m4 (m4_flatten): this.
* autoconf.sh (trace.m4): Rename m4_smash as m4_flatten.
2000-12-06 14:05:46 +00:00
Akim Demaille
482e84f65c * m4sugar.m4 (ifelse): Rename as...
(m4_if): this.
* autoconf.m4 (ifelse): Restore.
2000-12-06 08:58:41 +00:00
Akim Demaille
e43386442e * m4sugar.m4 (m4_dquote, m4_pattern_forbid, m4_pattern_allow)
(m4_cr_letters, m4_cr_LETTERS, m4_cr_Letters, m4_cr_digits)
(m4_cr_symbols1, m4_cr_symbols2, m4_re_string, m4_re_word)
(m4_init): New macros.
(m4_token_allow): Remove.
* acgeneral.m4: Don't push BODY into the diversion stack.
(AC_PLAIN_SCRIPT): Do it.
Call m4_init, define the Autoconf patterns.
(AC_INIT): Use AC_PLAIN_SCRIPT.
Remove the useless `dnl' (those where the current diversion is
KILL).
* autoconf.sh (m4_common): Fix quotation.
(finalize.awk): Load forbidden.rx and allowed.rx.
Split the line into tokens, and check their validity.
* tests/tools.at (Forbidden tokens): Adjust.
2000-12-06 08:58:13 +00:00
Akim Demaille
4867f191cb Adjust comments. 2000-11-30 17:35:16 +00:00
Akim Demaille
264fc11c21 * sh.m4 (AS_EXIT): Don't rely on false exiting 1.
Actually, always use `(exit $val); exit', don't try smart stuff.
* doc/autoconf.texi (Limitations of Builtins) <false>: new.
2000-11-30 17:27:32 +00:00
Akim Demaille
868bffa9a4 * sh.m4 (_AS_EXPR_PREPARE): Don't rely on the exit status of a
back quote evaluation since the very system for which the test was
written does not propagate it.  Groumph!
2000-11-30 16:30:53 +00:00
Akim Demaille
296d30f795 Typo. 2000-11-29 16:13:48 +00:00
Akim Demaille
9f5b35eb49 QNX 4.2.5's expr always exits 1 when `:' is used with parens.
* doc/autoconf.texi (Limitations of Usual Tools) <expr>: More
information, thanks to Paul Berrevoets, Paul Eggert and David
Morgan.
* sh.m4 (_AS_EXPR_PREPARE): New.
(AS_DIRNAME): Use it.
2000-11-29 15:52:02 +00:00
Akim Demaille
a8c122d0f2 Provide a means to display banners in the test suite.
* tests/atgeneral.m4 (AT_INIT): Initialize AT_banner_ordinal.
Execute the epilogue of the tests only if a test was run.
Don't built the value of `at_tests_all' by a for loop: expand
AT_TESTS_ALL.
(AT_SETUP): Build AT_TESTS_ALL.
(AT_BANNER): New.
Adjust all the former banners to use it.
(AT_CHECK): Don't trace the decoding of $?.
2000-11-29 10:12:05 +00:00
Akim Demaille
acbcc5f2b7 * tests/atgeneral.m4 (AT_DEFINE, AT_UNDEFINE, AT_SHIFT)
(AT_INCLUDE): Remove, use the m4_ macros.
2000-11-29 10:11:38 +00:00
Akim Demaille
0af3f6af7b * m4sugar.m4 (ifval, ifset, ifdef, ifndef, m4_ifvanl): Rename as...
(m4_ifval, m4_ifset, m4_ifdef, m4_ifndef, m4_ifvaln): this.
(m4_n): New macro.
(m4_ifvaln): Use it.
* autoconf.m4 (ifdef): Restore it.
2000-11-29 10:09:44 +00:00
Akim Demaille
d4f4ec87f5 * m4sugar.m4 (m4_errprint, divnum, errprint, esyscmd): Rename as...
(m4_errprintn, m4_divnum, m4errprint, m4_esyscmd): this.
* autoconf.m4: Restore them.
2000-11-29 10:05:51 +00:00
Akim Demaille
2fc75f4ce5 * m4sugar.m4 (m4_divert, m4_undivert): Support named diversions.
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS))
(_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions.
Push the first two diversions.
(AT_INIT): Don't.
(AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named
diversions.
2000-11-23 09:53:26 +00:00
Akim Demaille
0280c4a535 * tests/atgeneral.m4 (AT_CLEAN_FILE_IFELSE, AT_CLEANUP_FILE)
(AT_CLEANUP_FILES): New	macros.
(AT_SETUP, AT_CHECK, AT_CLEANUP): Use them.
(AT_CHECK): Fix a use of at_verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER)
(AT_CHECK_CONFIGURE): New macros.
2000-11-23 09:52:35 +00:00
Akim Demaille
ce8108c250 Transform Autotest's body into a `for test; case $test'.
As a known side effect, currently any code outside
AT_SETUP/AT_CLEANUP is discarded.
* acgeneral.m4 (_m4_divert(KILL)): Move to...
* m4sugar.m4: here.
* tests/atgeneral.m4 (AT_INIT): Use m4_divert_push/pop instead of
m4_divert.
Put all the tests inside a for;case.
Define TESTS.
(AT_SETUP, AT_CLEANUP): Open/close each case.
2000-11-23 09:47:45 +00:00
Akim Demaille
be1c95cd56 Move divert and undivert into m4_.
* m4sugar.m4 (m4_divert, divert, undivert): Rename as...
(m4_divert_text, m4_divert, m4_undivert): this.
* autoconf.m4 (divert, undivert): Restore them for user macros only.
2000-11-23 09:46:48 +00:00
Akim Demaille
a9e30cc83a Move Autotest on top of M4sh.
* tests/atgeneral.m4: Import M4sh.
Adjust the differences on the names of the builtins (define etc.).
(AT_CASE): Remove, use m4_case.
(AT_SETUP): Don't use `AT_group_description', `$1' is OK.
* tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of
M4sugar.
* tests/m4sugar.at: Strengthen the quotation and adjust to the new
macro names.
* tests/m4sh.at: Ditto.
* tests/torture.at: Ditto.
* tests/base.at: Ditto.
* m4sh.m4: Import M4sugar.
* autoconf.m4: Don't import M4sugar, M4sh does.
2000-11-23 09:45:48 +00:00
Akim Demaille
e62a041a2f Provide a means for escaping the forbidden patterns test.
* tests/tools.at (Forbidden tokens): Test m4_token_allow.
* m4sugar.m4 (m4_file_append, m4_token_allow): New macros.
* autoconf.sh (task script): Pass `tmp' and `verbose' to
finalize.awk.
(finalize.awk::check_patterns): Eve out from the body.
(finalize.awk): Read `$tmp/tokens_allowed', and don't complain for
these exceptions.
2000-11-16 08:33:46 +00:00
Akim Demaille
3e56675bc8 A single m4_require is enough.
* m4sugar.m4 (_m4_require): $2 defaults to $1.
Rename as...
(m4_require): this.
* acgeneral.m4 (_AC_REQUIRE): Remove, use m4_require if you want
to get into the gory details.
2000-11-14 11:06:37 +00:00
Akim Demaille
d18e3cbb57 * acgeneral.m4 (_AC_INIT_DEFAULTS_ENVIRONMENT): Rename as...
* m4sh.m4 (AS_SHELL_SANITIZE): this.
2000-11-14 11:01:44 +00:00
Akim Demaille
cc2c99e90b Move AC_MSG_* into M4sh.
* acgeneral.m4 (_AC_SH_QUOTE, _AC_SH_QUOTE_IFELSE, _AC_ECHO): Move
to...
* m4sh.m4 (_AS_QUOTE, _AS_QUOTE_IFELSE, _AS_ECHO): here.
(AS_MESSAGE, AS_WARN, AS_ERROR): New.
* acgeneral.m4 (AC_MSG_NOTICE, AC_MSG_WARN, AC_MSG_ERROR): Use them.
(AC_FD_MSG, AC_FD_LOG): Be AU_ALIAS'es of...
(AS_MESSAGE_FD, AS_MESSAGE_LOG_FD): new.
Adjust all dependencies.
2000-11-14 10:11:43 +00:00
Akim Demaille
f9fd1e4edc * m4sh.m4 (AS_MKDIR_P, AS_DIRNAME_SED): Don't shell quote $1.
Adjust callers.
Reported by Paul Eggert.
* tests/m4sh.at: Sort.
2000-11-10 10:14:44 +00:00
Akim Demaille
97cdb56113 * m4sugar.m4 (_m4_expansion_stack_dump): Really rename as...
(m4_expansion_stack_dump): this.
2000-11-08 17:54:11 +00:00
Akim Demaille
674d4eef25 m4_syscmd was reestablished as syscd' intead of syscmd' because
instead of `s/^m4_//', m4_copy_unm4 was running `s/[m4_]//'.
* m4sugar.m4 (m4_copy_unm4): Fix.
2000-11-07 11:49:35 +00:00
Akim Demaille
43703ea9aa * m4sugar.m4 (m4_location): When using its value, don't use
`m4_defn', since m4_location is not a variable, it's a macro which
expands to __file__:__line__.
* tests/m4sugar.at (m4_warn): New test.
2000-11-03 15:21:14 +00:00
Akim Demaille
e927749bb5 * Makefile.am (.m4.m4f): Check that processing produces only
comments and empty lines.
Check that freezing produced no output.
* m4sugar.m4: Commentize what was not.
* m4sh.m4: Likewise.
* aclang.m4: Formatting changes.
2000-11-03 14:01:58 +00:00
Akim Demaille
7e4f776a09 * autoconf.m4: Instead of reactivating the macros before reading
Autoconf's file, do it afterwards, so that Autoconf promotes the
right use, but users still can use the old names.
Of course this revealed numerous non updated uses of old macros in
Autoconf's files.  Adjust them.
But for the time being, keep `define' alive for Autoconf.
2000-11-03 11:14:48 +00:00
Akim Demaille
1c614b9e79 AC_REQUIRE and AC_DEFUN_ONCE don't work properly together. This
caused strange messages about AC_ARG_PROGRAM.
Reported by Jim Meyering.
* acgeneral.m4 (AC_DEFUN_ONCE): Fix the indirection to
m4_defun_once.
* m4sugar.m4 (m4_defun_once): Also define
`m4_location(MACRO-NAME)'.  s/ac_warn/m4_warn/.
Use `m4_defn' to read `m4_location'.
* tests/base.at (AC_REQUIRE & AC_DEFUN_ONCE): Two new tests.
2000-11-03 10:39:27 +00:00
Akim Demaille
3f580f38ab * m4sh.m4 (_AS_UNSET_PREPARE): New macro, eved from
_AC_INIT_PREPARE_ENVIRONMENT, and fixed: set `FOO' before trying
to unset it: `unset' exits 1 if the variable is not defined.
(AS_UNSET): Require it.  Use `as_unset' not `ac_unset'.
* acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Use it.
2000-11-03 09:16:21 +00:00
Akim Demaille
75390304e0 * m4sugar.m4 (builtin, changecom, changequote, decr, dumpdef)
(incr, index, indir, len, syscmd, sysval, traceoff, traceon):
Rename as...
(m4_builtin, m4_changecom, m4_changequote, m4_decr, m4_dumpdef)
(m4_incr, m4_index, m4_indir, m4_len, m4_syscmd, m4_sysval)
(m4_traceoff, m4_traceon): these.
* autoconf.m4 (builtin, changecom, decr, incr, index, indir, len)
(syscmd, sysval, traceoff, traceon): Reactivate.
2000-11-03 09:08:02 +00:00
Akim Demaille
d95de46af1 * m4sugar.m4 (m4_rename_m4, m4_copy_unm4): New macros.
Use them.
(debugfile, debugmode, m4exit, m4wrap, maketemp, patsubst, regexp)
(substr, translit, m4_wrap): Rename as...
(m4_debugfile, m4_debugmode, m4_exit, m4_wrap, m4_maketemp)
(m4_patsubst, m4_regexp, m4_substr, m4_translit, m4_text_wrap): these.
Adjust all dependencies.
* acgeneral.m4: Adjust.
* tests/m4sugar.at: Adjust.
* autoconf.m4 (m4exit, patsubst, regexp, substr, translit):
Reestablish them.
2000-11-03 08:53:26 +00:00
Akim Demaille
5243fda44e * doc/autoconf.texi (Limitations of Usual Tools): Some about
dirname.
2000-11-02 17:35:53 +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
Akim Demaille
15e4d38025 In M4sugar, move define', undefine', and defn' into the m4_'
name space.
* m4sugar.m4 (m4_define, m4_defn, m4_undefine): New macros.
(define, defn, undefine): Undefine.
Adjust all uses.
* m4sh.m4: Adjust.
* autoconf.m4: Reenable these builtins.
* m4sugar.m4 (m4_expansion_stack_dump): Use m4_copy.
2000-11-01 17:32:17 +00:00