a directory whose name contains a special character like space,
newline, or "\".
* doc/autoconf.texi (Installation Directory Variables): Allow
"," in file names. Do not use \@; it's not a portable regexp.
* bin/Makefile.am (edit): Likewise.
* lib/Makefile.am (edit): Likewise.
* tests/Makefile.am (edit): Likewise.
* tests/semantics.at: Likewise.
* tests/torture.at: Likewise.
* lib/autoconf/general.m4 (AC_ARG_PROGRAM): Likewise.
* lib/autoconf/status.m4 (_AC_SRCDIRS): Likewise.
* doc/autoconf.texi (File System Conventions): Warn about
unportable file names.
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): New macro.
(AC_INIT): Use it.
(_AC_INIT_SRCDIR): Use ac_pwd rather than invoking pwd.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Propagate
ac_pwd, and quote srcdir.
* lib/autotest/general.m4 (AT_INIT): Quote file name args.
* 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.
workaround for ${1+"$@"}.
* doc/autoconf.texi (Shell Substitutions): Explain it.
From Oliver Kiddle and Peter Stephenson.
Have M4sh perform minimal shell sanitizing.
* lib/m4sugar/m4sh.at (AS_SHELL_SANITIZE): Split the `_AS_PREPARE_*'
part into...
(_AS_PREPARE): this new macro.
(AS_PREPARE): New.
(AS_INIT): Invoke AS_SHELL_SANITIZE.
* tests/m4sh.at (AT_DATA_LINENO): Use _AS_PREPARE.
Adjust Autoconf and Autotest.
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Don't invoke
AS_SHELL_SANITIZE, AS_INIT did it, but invoke AS_PREPARE.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS):
Invoke _AS_PREPARE (not AS_PREPARE) in addition to
AS_SHELL_SANITIZE.
Use this M4sh to generate Autoconf's shell scripts.
* tests/wrapsh.as: New, precursor of wrapsh.in.
* tests/Makefile.am: Include lib/freeze.mk to get the dependencies
on Autotest and M4sh.
($(TESTSUITE)): Use $(autotest_m4f_dependencies).
(wrapsh.in): New target.
* bin/autoconf.as: New, precursor of autoconf.in.
(autoconf.in): New target.
package.m4, since is really depends upon configure.ac, not
configure.
* doc/autoconf.texi (testsuite Scripts): Adjust.
* tests/Makefile.am (package.m4): New.
EXTRA_DIST it since its a source.
generates too many bug reports.
* lib/autoconf/general.m4 (_AC_RUN_IFELSE): Pass the right exit
status when executing the ACTION-IF-FALSE.
* tests/base.at (AC_TRY_*): Rename as...
(AC_TRY_COMMAND): this.
(AC_RUN_IFELSE): New.
* tests/compile.at (Extensions, C keywords)
(AC_PROG_CPP requires AC_PROG_CC, GNU Fortran 77)
(Broken/missing compilers, AC_PROG_CPP with warnings)
(AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Move to...
* tests/c.at (Extensions, C keywords)
(Broken/missing compilers, AC_PROG_CPP with warnings)
(AC_PROG_CPP without warnings, AC_PROG_CPP via CC)
(AC_PROG_CPP requires AC_PROG_CC): here and...
* tests/fortran.at (GNU Fortran 77): there.
* doc/autoconf.texi (autoconf Invocation): Fix the example:
AC_TRY_RUN is about compilation, not shell commands.
(Test Programs): AC_TRY_RUN works as used to be advertised.
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.
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.
* 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.
* lib/Makefile.am (edit, autom4te.cfg): New.
* bin/autom4te.in (BEGIN): Simplify.
Rely on `AC_MACRODIR' in addition of `autom4te_perllibdir'.
(&load_configuration): New. Use it.
(&parse_args): Support --mode, --set, and --melt.
* bin/autoconf.in: Simplify and adjust.
* tests/Makefile.am (AUTOMAKE): Use --set.
* tests/atlocal.in: Adjust.
* BUGS: distcheck and check are weak.
* 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.
* 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.
* lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Say what you are
looking for.
* m4/atconfig.m4: Be sure the let $[0] be expandable.
(top_srcdir): Fix its computation.
* m4/atconfig.m4 (AT_CONFIG): $1 is now the directory where the
test suite lives.
Create `atconfig' automagically.
Configure atlocal.in if present.
* tests/atconfig.in: Remove.
* tests/atlocal.in: New.
* tests/Makefile.am: Adjust.
(&handle_m4): Use it.
* tests/m4sugar.at (m4_warn): Pass `-f' to autom4te to ensure the
warnings are issued at each run.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): M4sugar
is in the src tree.
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'.