Commit Graph

86 Commits

Author SHA1 Message Date
Paul Eggert
aa4a2459e6 * doc/autoconf.texi (Particular Programs, Limitations of Usual Tools):
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".
2006-05-27 02:54:33 +00:00
Stepan Kasal
a2cc685508 * doc/autoconf.texi (Defining Symbols): Literal parameter of
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.
2006-05-22 15:54:09 +00:00
Paul Eggert
ef8f36b013 * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Don't prepend
$ac_top_build_prefix to $MKDIR_P if it's just 'mkdir -p'.
* tests/tools.at (autoconf: subdirectories): New test, taken from
the corresponding problem report by Ralf Wildenhues in:
http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00053.html
2006-05-19 04:14:13 +00:00
Paul Eggert
ba7e90baf4 * configure.ac (ac_cv_sh_n_works): Don't try to test for it, since
some shells (e.g., Solaris 8 /bin/sh) implement it verrrry slowly.
Instead, just list the shells that we know work.
* tests/local.at (AT_CHECK_SHELL_SYNTAX): Remove 2nd arg.  All uses
changed.  Be more cautious about the _cv_ variable.
* tests/tools.at (Syntax of the shell scripts): Check the
_cv_ variable once, at first, to avoid an internal autoconf error
when sh -n does not work.
2006-04-19 04:13:48 +00:00
Ralf Wildenhues
aefd74ee25 * bin/autoupdate.in (handle_autoconf_patches): Change the way we
distinguish m4sugar macros.
* tests/tools.at (autoupdating with aclocal and m4_include):
New test.  Bug reported by Gary V. Vaughan <gary@gnu.org>,
test case by Noah Misch <noah@cs.caltech.edu>.
2006-04-07 18:25:30 +00:00
Stepan Kasal
713895ae5c More autoupdate issues. 2006-04-01 15:57:02 +00:00
Ralf Wildenhues
8d75399149 * bin/autoupdate.in (handle_autoconf_macros): Fix updating of
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.
2006-02-14 23:18:51 +00:00
Paul Eggert
0ec30df603 * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)): Prefer "defined
FOO" to "defined (FOO)".
* lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Likewise.
* lib/autoconf/headers.m4 (AC_HEADER_STAT): Likewise.
* lib/autoconf/specific.m4 (AC_XENIX_DIR): Likewise.
* tests/tools.at (ifnames): Likewise.
2006-01-24 00:20:15 +00:00
Paul Eggert
4e0329a533 Rewrite substantial part of lib/autoconf/status.m4.
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.
2005-07-25 18:10:25 +00:00
Paul Eggert
681d17dce2 Update FSF postal mail address. 2005-05-14 07:00:38 +00:00
Paul Eggert
6b1c07685a Use "file name" rather than "filename" or "path",
to be consistent with the terminology of the GNU coding standards.
2004-08-20 19:58:06 +00:00
Paolo Bonzini
9cfd0271c1 * bin/autoupdate.in: Trace AU_DEFINE instead of AU_DEFUN.
* 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.
2004-01-30 14:21:35 +00:00
Paolo Bonzini
932964898a 2003-12-03 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Test if sh -n works.
        * configure: Regenerate.
        * tests/atlocal.in: Store the result here.
        * tests/local.at (AT_CHECK_SHELL_SYNTAX): Extracted from
        tools.at, looking in atlocal's ac_cv_sh_n_works instead
        of explicitly testing.
        (AT_CHECK_PERL_SYNTAX): Moved from tools.at.
        (AT_CHECK_AUTOCONF): Test for the configure script syntax.
        * tests/tools.at (Syntax of the shell scripts): Simplify
        using AT_CHECK_SHELL_SYNTAX.
        (Syntax of the Perl scripts): Remove definition of
        AT_CHECK_PERL_SYNTAX.
2003-12-25 15:49:59 +00:00
Paolo Bonzini
0723ac047b 2003-11-26 Paolo Bonzini <bonzini@gnu.org>
* lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE):
        Extracted from AS_SHELL_SANITIZE.
        (_AS_SHELL_FN_WORK, AS_INIT_WITH_SHELL_FN): New
        macros.
        (AS_SHELL_SANITIZE): Move reinvocation code from
        _AS_LINENO_WORKS, use it to find out if shell
        functions work.
        (_AS_LINENO_WORKS): Don't find another shell if $LINENO
        does not work.
        (AS_INIT): Pass parameter down to AS_SHELL_SANITIZE.
        (AS_REQUIRE_SHELL_FN): Test that AS_INIT_WITH_SHELL_FN
        was called.
        * lib/autotest/general.m4: Use AS_INIT_WITH_SHELL_FN.
        * bin/autoconf.in: Regenerate.
        * tests/wrapper.in: Regenerate.
        * tests/tools.at: Test the syntax of tests/autoconf
        and tests/testsuite.
2003-11-27 10:04:12 +00:00
Akim Demaille
2fbbb4bafe * tests/mktests.sh (au_exclude_egrep): Fix output copyright notice.
* lib/autom4te.cfg (args): Add local.at? for Autotest args.
* tests/atspecific.m4: Rename as...
* tests/local.at: This.
* tests/suite.at: Move the globals into...
* tests/local.at: here.
* tests/Makefile.am: Adjust.
* doc/autoconf.texi (testsuite Scripts): Adjust.
2003-06-23 11:11:41 +00:00
Alexandre Duret-Lutz
bc41c779b7 * lib/Autom4te/General.pm (END): Rewrite exit code processing.
Do not call `_exit()', simply modify `$?'.
(xsystem): Reset $! before running system, and check it afterward.
* tests/tools.at (autoupdating AC_PREREQ): Expect exit status
63 for version mismatches.
2003-05-23 18:16:56 +00:00
Akim Demaille
3cb00cdb8b * aclocal.m4, bin/autoconf.as, lib/autoconf/autoconf.m4,
* lib/autoconf/autoheader.m4, lib/autoconf/autoupdate.m4,
* lib/autoconf/c.m4, lib/autoconf/fortran.m4,
* lib/autoconf/general.m4, lib/autoconf/headers.m4,
* lib/autoconf/lang.m4, lib/autoconf/libs.m4,
* lib/autoconf/programs.m4, lib/autoconf/specific.m4,
* lib/autoconf/status.m4, lib/autoconf/types.m4,
* lib/autotest/general.m4, lib/m4sugar/m4sugar.m4,
* tests/atspecific.m4, tests/base.at, tests/compile.at,
* tests/foreign.at, tests/m4sh.at, tests/semantics.at,
* tests/tools.at, tests/torture.at:
Whitespace clean up.
Suggested by Jim Meyering.
2003-05-22 13:24:04 +00:00
Akim Demaille
33c894c0bf * lib/m4sugar/m4sh.m4 (_AS_QUOTE): The warning about quoted
characters is a syntax warning now.
(_AS_QUOTE): Accept $2 as list of characters to quote.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD):
Quote for Perl, not sh.
* bin/autoheader.in: When $debug, report the file which is
`do'ne.
* tests/tools.at (autom4te, autoheader): Exercise @bar, not merely
`@', to tickle Perl's lists.
Reported by Carlos Velasco.
2002-10-22 08:20:19 +00:00
Akim Demaille
a6cc487161 * bin/autom4te.in (handle_m4): Pass --fatal-warning to m4, so that
missing included files _are_ errors.
Thanks to Alexandre Duret-Lutz.
* tests/tools.at (autom4te cache): Adjust.
* tests/atspecific.m4 (AT_CHECK_AUTOM4TE): New.
(AT_CHECK_M4SUGAR): Use it.
* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Adjust.
* tests/tools.at (autom4te): Now it does exit 1.
2002-10-18 15:20:46 +00:00
Akim Demaille
9524c5794f * tests/tools.at (autoheader): Put randoms `@' to stress Perl. 2002-10-17 09:57:31 +00:00
Akim Demaille
aef93a0d75 Because of caching, some files that no longer exist and are no
longer required can still cause errors.
Reported by Alexandre Duret-Lutz.
* bin/autom4te.in (&parse_args): Do not prepend `--reload-state'
to frozen files in @ARGV, as @ARGV must remain being a list of
files.  Rather, at M4 call sites, use this...
(&files_to_options): New function.
(&freeze): Use &error.
(&up_to_date): If a file that was included according to the cache
is no longer there, then the output is out dated.
(&main): Don't even check whether a file is up to date is anyway
--force is given.
* tests/tools.at (autom4te cache): New.
2002-10-16 17:06:57 +00:00
Akim Demaille
03d56d8bbe * bin/autoconf.as: Kill dead options.
* bin/autoupdate.in (&parse_args): Kill old options.
* bin/autoreconf.in (&parse_args): Remove dead options.
Factor some code.
(&autoreconf): Report the directories we enter *and leave*, so
that error messages can be easily located, and use GNU Make
format, so that Emacs' compile mode understands us.
* lib/Autom4te/General.pm (&update_file): Use `verbose' to report
if some file was changed instead of `print'.
* bin/autoheader.in: Suggest AC_DEFINE with 3 args when needed.
(&parse_args): Remove the dead options.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Adjust to the new
autoheader's quiet mode.
(AT_CHECK_AUTOUPDATE): Likewise.
* tests/tools.at (autoupdate): Adjust.
* tests/semantics.at (AC_C_BIGENDIAN): Likewise.
2002-10-16 06:38:50 +00:00
Akim Demaille
823860675b * tests/tools.at (autoconf: forbidden tokens, basic)
(autoconf: forbidden tokens, exceptions): Adjust to the change of
words in autom4te.in.
2002-06-07 11:20:19 +00:00
Paul Eggert
298b5b57f3 Minor spelling and grammar fixes. 2002-04-21 07:25:20 +00:00
Akim Demaille
adb90f0708 * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Move the AC_SUBST
of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING,
and PACKAGE_BUGREPORT from here...
(_AC_INIT_DEFAULTS): to here, since it is unrelated to the
arguments.
(_AC_INIT_PREPARE): AC_DEFINE these symbols.
* lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*.
(AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'.
* tests/tools.at (autoheader): Adjust.
* tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust.
2002-01-06 20:48:10 +00:00
Akim Demaille
7e51b629b6 * lib/autoconf/status.m4 (_AC_SRCPATHS): Rename buildpath to
abs_builddir, top_buildpath to abs_top_builddir, srcpath to
abs_srcdir, top_srcpath to abs_top_srcdir.
(_AC_OUTPUT_FILES): Adjust.
* NEWS, doc/autoconf.texi, lib/autoconf/autotest.m4,
* tests/atspecific.m4, tests/autoreconf.in, tests/tools.at,
* tests/wrappl.in, tests/wrapsh.in: Adjust.
2001-12-14 17:57:27 +00:00
Paul Eggert
b62a4287e3 Spelling fixes. 2001-11-25 15:13:03 +00:00
Akim Demaille
2f4a677544 * tests/m4sh.at (LINENO): Protect from autom4te's substitution by
hand.
* tests/tools.at: Don't protect dnl, AT_DATA_M4SH does.
2001-11-13 15:18:26 +00:00
Akim Demaille
1f3be93758 * tests/tools.at: Use absolute paths, since we are no longer run
in place.
2001-11-13 12:03:11 +00:00
Akim Demaille
fa70471557 * tests/tools.at (AT_CHECK_PERL_SYNTAX): Check autoreconf.
(Syntax of the shell scripts): Don't.
* bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in: Don't
bother with $force since...
* lib/Autom4te/General.pm: does.
2001-10-08 08:26:43 +00:00
Akim Demaille
0a757bb3dc * lib/m4sugar/m4sugar.m4 (m4_case, m4_bmatch, m4_normalize)
(m4_list_cmp): Use $0 to reinvoke yourself.
(m4_patsubsts): New.
(m4_strip, m4_version_unletter): Use it.
* tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH): Likewise.
2001-10-08 08:22:49 +00:00
Akim Demaille
0717332aed * lib/m4sugar/m4sh.m4 (AS_DIRNAME_EXPR): Use AS_REQUIRE.
* tests/tools.at (AT_DATA_FORBIDDEN): Rename/move/duplicate to...
* tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH): here.
* tests/tools.at, tests/m4sh.at: Use it.
* tests/m4sh.at: Don't rely on Autoconf macros.
(DIRNAME_TEST): Also exercise the expr variant.
* tests/m4sugar.at, tests/atspecific.m4 (AT_CHECK_M4SUGAR): The
preferred M4sugar extension is now `.4s'.
* tests/README: Remove.
2001-10-08 08:21:54 +00:00
Akim Demaille
8e048c0492 * lib/autoconf/general.m4 (_m4_divert(BODY)): Move to...
* lib/m4sugar/m4sh.m4: here.
(AS_INIT): Push the BODY diversion, set the #! /bin/sh line.
* lib/autoconf/general.m4 (AC_PLAIN_SCRIPT) : Remove.
(AT_INIT): Replace AC_PLAIN_SCRIPT with AS_INIT invocation,
include handle the m4_pattern_*, no longer push the
BODY diversion nor set the /bin/sh line, AS_INIT does it.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* tests/base.at: Adjust the tests to use AS_INIT.
* tests/tools.at (AT_DATA_FORBIDDEN): New.
(autoconf: forbidden tokens): Adjust to work on M4sh instead of
Autoconf.
2001-10-08 08:20:59 +00:00
Akim Demaille
e7808696f5 * lib/autoconf/status.m4 (_AC_SRCPATHS): Compute and provide
ac_buildpath, ac_top_buildpath, ac_srcpath, and ac_top_srcpath.
(_AC_OUTPUT_FILES): Also substitute srcpath, top_srcpath,
builddir, buildpath, top_builddir, and top_buildpath.
(_AC_OUTPUT_SUBDIRS): Compute the dir variables *before* changing
the current directory.
* lib/autoconf/general.m4 (_AC_INIT_HELP): Compute the dir
variables *before* changing the current directory.
Skip nonexistent dirs.
* doc/autoconf.texi (Preset Output Variables): Document these
variables.
* lib/autotest/general.m4: Do not reset AT_victims.
Don't compute at_srcdir nor at_top_srcdir.
* tests/tools.at: Hence use top_srcdir.
* tests/Makefile.am, tests/autoconf, tests/autoheader,
* tests/autom4te, tests/autoreconf, tests/autoupdate, tests/ifnames:
Remove.
* tests/autoreconf.in, tests/wrappl.in, tests/autom4te.in,
* tests/wrapsh.in, tests/autoupdate.in: New.
* tests/Makefile.am (DISTCLEANFILES, EXTRA_DIST): Adjust.
* configure.ac: Build the position independent wrappers.
* man/Makefile.am: Now that test wrappers are position
independent, use them and drop dark envvar magic.
2001-09-23 17:17:46 +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
c77d29d43d * lib/autotest/general.m4 (AT_INIT): Let --keywords also match
test group titles.
* tests/atspecific.m4 (AT_CHECK_AU_MACRO): AT_KEYWORDS(autoupdate).
Remove all the other keywords.
2001-09-13 06:53:19 +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
5fd6e6f70a * bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5
doesn't neutralize SIGINT, making autoconf etc. non interruptible.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Move the package
related variables into `at_package_*'.
* lib/autotest/general.m4 (AT_VICTIMS): New.
(AT_INIT): Adjust for stand-alone/embedded test suites.
(AS_MESSAGE_LOG_FD): Define and use it.
* tests/suite.at (AT_VICTIMS): Use it.
* tests/tools.at (autoupdating AC_PREREQ): Don't depend upon
at_version.
2001-09-07 08:26:57 +00:00
Akim Demaille
b7e99feee5 * lib/Autom4te/General.pm ($version, $help, &getopt): New.
* bin/autoupdate.in, bin/autoheader.in, bin/autom4te.in: Use them.
* bin/autom4te.in ($autoconf): Pass --force.
`print $out' doesn't print `$_' but `$out'.
* tests/tools.at (Syntax of the Perl scripts): Pass the lib dir.
(autoheader): Pass --force since the test suite goes too fast for
the time stamps.
Adjust to the new autoheader messages.
2001-08-31 13:33:10 +00:00
Akim Demaille
e3e7e0a0af * bin/autoheader.in: Handle the acconfig.h etc. junk files.
Check the completeness of the #template.
* lib/Autom4te/General.pm (&update_file): s/remove/unlink/.
* tests/semantics.at (AC_C_BIGENDIAN): Adjust AT_CHECK_AUTOHEADER
invocation.
2001-08-31 13:32:54 +00:00
Akim Demaille
aa8dfa178d * lib/Autom4te/General.pm (&find_file, &update_file): New.
* bin/autoupdate.in, bin/autoheader.in: Adjust.
Drop AC_MACRODIR dead for real.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Now autoheader says
`autoheader: `config.hin' is created'.
* tests/tools.at (Syntax of the Perl scripts): Check autoheader.
2001-08-31 13:32:35 +00:00
Akim Demaille
1b9b5dd33a * configure.ac: Also find tested executables in bin.
* bin/autoconf.in, bin/autoheader.in, bin/autoreconf.in,
* bin/autoscan.in, autoupdate.in: Use exclusively the name of the
installed peer executables, only PATH is allowed to resolve it.
Pass `autoconf_dir' via options, not via invisible envvars.
* lib/Autom4te/General.pm (&find_peer): Remove.
* lib/autotest/general.m4 (AT_INIT): `AUTOTEST_PATH=a:b' gives
`abuild:asrc:bbuild:bsrc', not `abuild:bbuild:asrc:bsrc'.
* man/Makefile.am: Let help2man rely on PATH instead of trying to
find the executables for it.
* tests/Makefile.am: Major cleanup.  Too lazy to document...
* tests/atlocal.in: Remove all the obscure envvar manipulations.
We only need PERL.
* tests/atspecific.m4, tests/tools.at: Passing --localdir is
indeed related to running the test suite, while passing
--autoconf-dir and others is related to running non installed
Autoconf executables.  So don't do that, leave it to...
* tests/autoconf, tests/autoheader, tests/autom4te, tests/autoupdate,
* tests/autoscan: New.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't
refer to library files: rely on --language.
2001-08-31 13:30:11 +00:00
Akim Demaille
0b057944a7 * bin/autom4te.in (&handle_output): s/@__@/@&t@/.
Suggested by Paul Eggert.
2001-08-29 13:11:16 +00:00
Akim Demaille
2ffdce9940 * tests/base.at, tests/m4sh.at, tests/m4sugar.at,
* tests/semantics.at, tests/tools.at, tests/torture.at:
s/^AT_DATA(([^][]+),/AT_DATA([$1],/.
2001-08-20 14:45:09 +00:00
Akim Demaille
5693a536c2 Autotest invokes M4sh's initialization.
* lib/autotest/general.m4: Adjust the diversion names.
(AT_INIT): Run AS_INIT.
Use the BINSH diversion to invoke /bin/sh.
* tests/base.at, tests/m4sh.at, tests/m4sugar.at, tests/tools.at:
* tests/torture.at: Respect M4sugar and M4sh macro name spaces.
2001-08-20 14:45:00 +00:00
Akim Demaille
f4f20f1c63 * tests/base.at, tests/compile.at, tests/foreign.at,
* tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh,
* tests/semantics.at, tests/suite.at, tests/tools.at,
* tests/torture.at: Ask Autotest mode, not Autoconf mode.
2001-08-20 14:44:38 +00:00
Akim Demaille
27108d98f9 * tests/atspecific.m4 (AT_CHECK_AUTOUPDATE): Perl is now required:
don't waste time running `autoupdate --version' works.
* tests/tools.at (autoupdating AC_PREREQ): Likewise.
2001-08-15 07:49:39 +00:00
Alexandre Duret-Lutz
420008ad84 * AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1,
ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README,
README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am,
m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4,
m4/sanity.m4, tests/README, tests/aclocal.m4,
tests/atspecific.m4, tests/base.at, tests/compile.at,
tests/foreign.at, tests/m4sh.at, tests/m4sugar.at,
tests/semantics.at, tests/suite.at, tests/tools.at,
tests/torture.at: Add copyright notice.

* tests/mktests.sh: Update year in copyright notice.
2001-08-12 13:05:11 +00:00
Akim Demaille
37ea55bd5f * tests/tools.at (autoconf --trace: user macros): Check traces on
macros invoked without arguments, and macros invoked with multiple
lines arguments.
2001-08-04 13:13:36 +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