* 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.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): ... here;
give only 4-letter prefix to AS_TMPDIR, comment fixed.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FEATURE_CHECK): Don't
create the temporary directory.
(_AC_FEATURE_CHECK_LENGTH): Work in current directory.
* 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.
* configure: Regenerate.
* lib/freeze.mk (MY_AUTOM4TE): Wrap the uninstalled autom4te directly.
(m4f_dependencies): Adjust accordingly.
* tests/Makefile.am (Wrappers): Generate wrapper scripts.
(wrapper.in): Generate it in the build directory.
(MAINTAINERCLEANFILES): Delete wrapper.in.
(CLEANFILES): Add wrapper.in.
* tests/wrapper.as: Move AS_INIT to very top, preserving copyright in
the output. Replace each $as_me with a @wrap_program@.
* tests/wrapper.in: Delete it; we always build it.
* bin/Makefile.am (autoconf.in): Generate it in the build directory.
(EXTRA_DIST): Remove autoconf.in.
(CLEANFILES): Add autoconf.in.
(autoconf): Find autoconf.in in the build directory.
* bin/autoconf.in: Delete it; we always build it.
PATH members so as to not prepend an empty element. Move a comment.
* Makefile.am (SUBDIRS): Build in `tests' last.
* tests/Makefile.am (installcheck-local): Add check-local dependencies.
<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.
(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.
how deeply nested we are when a suitable tool is found, set the
ac_path_TOOL_found flag.
(_AC_PATH_PROG_FEATURE_CHECK): Encapsulate knowledge of how deeply
nested we are in this macro. Break out of all 3 nested loops if
ac_path_TOOL_found is set.
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.
best tool so far counter rely on the tool path variable name to
avoid checks for one tool being affected by the results of running
the length check on a previous tool.
match expression argument, as different greps have different
regular expression flavours.
(AC_PROG_FGREP): Pass 'FGREP'. fgrep treats all match chars as
literals.
(AC_PROG_EGREP): Pass 'EGREP$'.
(AC_PROG_GREP): Pass 'GREP$'.
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.
(AS_INIT): Output shell initialization there. Removed optional
parameter. Expand _AS_SHELL_FN_SPY.
(AS_INIT_WITH_SHELL_FN): Removed.
(_AS_SHELL_FN_SPY): New macro.
(AS_DETECT_REQUIRED, AS_DETECT_SUGGESTED): New
macros.
(AS_SHELL_SANITIZE): Remove loop to find better shell
and documentation for the parameter.
(_AS_DETECT_BETTER_SHELL): Move it here.
(_AS_SHELL_FN_WORK): Remove shell invocation, reformat.
(_AS_RUN): Move it here, support testing with eval.
(AS_REQUIRE_SHELL_FN): Require shell functions when
it is used.
(_AS_LINENO_WORKS): Put around braces, we do not
trigger the bash bug anymore.
* lib/autotest/general.m4: Document M4SH-SANITIZE, do not
use AS_INIT_WITH_SHELL_FN.
* bin/autoconf.in, tests/wrapper.in: Regenerated.
* 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.
* 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.
* 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.
* 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.
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.
it provokes a warning from makeinfo about looking like a cross
reference in info output.
* doc/autoconf.texi (Function Portability): Add notes on signal
handler return type, as per AC_TYPE_SIGNAL.
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.
* bin/autoreconf.in (autoreconf_current_directory): Create the
AUX_DIR if needed, for sake of automake --add-missing etc.
Suggested by Alexandre Duret-Lutz.
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.
Reported by Paivio Pollari.
Diagnosed by Nicolas Joly.
* lib/autotest/general.m4 (AT_CLEANUP): Rename AT_help as
AT_help_all.
Instead of making AT_help a sequence of assignments to grow
$at_help_all, just make AT_help_all be the growing contents of
$at_help_all, and make a single assignment in...
(AT_INIT): here.
(at_times_skip): Flip the meaning and rename as...
(at_times_p): this.
(AT_INIT): When summarizing the test that ran, remove
$at_times_file after use, and check it is present before trying to
use it.
* bin/Makefile.am (edit): Handle '@configure_input@'.
(autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate)
(ifnames): chmod -w.
* tests/wrapper.as (AUTOCONF, AUTOM4TE, ): Point to tests/
executables, not bin/ executables! Otherwise all the magic needed
to find non installed files is turned off. This caused a failure
of test 40 and 41 that ran aclocal 1.8 which in turn ran autom4te
as found in its environment (sent by tests/autoreconf): pointing
to bin/autom4te that could not find its files.
* tests/mktests.sh: Force the replacement of generated files, for
the sake of "mv" program that are interactive when overwriting a
-w file.
* config/install-sh: Upgrade from CVS Automake.
output, so that we can track spurious m4sugar output.
* tests/local.at: Require 2.57.
(AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't m4_default the arguments that
are defaulted by AT_CHECK anyway.
Use AT_CHECK_AUTOM4TE.
* lib/m4sugar/m4sugar.m4: There should be no output at all: add a
missing dnl.
(&verbose): Remove.
(&getopt): Adjust the note and verb channels, depending upon
--verbose.
* bin/autoheader.in, bin/autom4te.in, bin/autoscan.in,
* bin/autoupdate.in: Adjust.
Use &verb, not &verbose.
&parse_WARNINGS.
($help): Use Autom4te::ChannelDefs::usage.
* bin/autoscan.in: Use Autom4te::ChannelDefs.
* lib/Autom4te/General.pm: Don't export error: you don't own it.
including when the cache is used.
There are still several issues: (i) there are too many runs of m4
(one for include, one for warnings, and some more), (ii) warnings
spreading on several lines are not handled gracefully, (iii) the
code meant to have the call stack display for errors does not work
(its handling should move from m4 to autom4te).
* bin/autom4te.in Autom4te::Channels, Autom4te::ChannelDefs):
Use them.
(@preselect): Add m4_warn.
($exit_status): Remove, use $exit_code.
($help): Use Autom4te::ChannelDefs::usage.
(&handle_m4): No longer define the m4_warnings.
At each run, extract and report the warnings.
Always cache the result, including if the exit status is on
failure, since if nothing changes, we should result in the same
failure, hence we can use the cache.
* lib/m4sugar/m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse)
(_m4_warning_error_ifelse, __m4_warning_error_ifelse, _m4_warn):
Remove.
(m4_warn): Redefine as a do-nothing: it is its invocation that
matters, as warnings are now reported via traces.
* lib/autoconf/general.m4 (AC_DIAGNOSE): Don't make it a copy of
the contents of m4_warn: make it _call_ m4_warn, so that tracing
the latter reveals calls to the former.
Adjust the tests.
* tests/m4sugar.at (m4@&t@_warn): Use existing warning categories.
forward order.
* lib/Autom4te/ChannelDefs.pm: Doc typos.
(&parse_warnings): Accept a list of warning requests.
(&usage): Return a string, not a side effect.
(cross): New warning category.
* bin/autom4te: Adjust.
In particular, be Autoconf tools are really silent when properly
working, bind the verbosity of the 'note' channel to $verbose.
* lib/Autom4te/General.pm (&find_file, &mtime, &update_file)
(&xsystem, &contents): Remove, since they are exported by...
* lib/Autom4te/FileUtils.pm: this.
More perldoc.
* lib/Autom4te/General.pm (&up_to_date_p): Move to...
* lib/Autom4te/FileUtils.pm: here.
(PARSE_ARGS_BEGIN): New section for option parsing related
initialization.
(AT_ARG_OPTION,AT_ARG_OPTION_ARG,_AT_ARG_OPTION): New macros to define
package specific options and associated help.