Fix AC_CONFIG_SUBDIRS tracing in autoreconf.

* bin/autoreconf.in (autoreconf_current_directory): Collapse
newlines in the autoconf trace output, similar to how automake
invokes autoconf, so that newlines do not matter in the argument
to AC_CONFIG_SUBDIRS.
* tests/torture.at (Deep Package): Expose this issue in the
test.
* THANKS: Update.
Report by Nathan Schulte.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
This commit is contained in:
Ralf Wildenhues 2009-11-14 12:40:07 +01:00
parent 19629fa9fc
commit 8733bad075
4 changed files with 32 additions and 12 deletions

View File

@ -1,3 +1,15 @@
2009-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix AC_CONFIG_SUBDIRS tracing in autoreconf.
* bin/autoreconf.in (autoreconf_current_directory): Collapse
newlines in the autoconf trace output, similar to how automake
invokes autoconf, so that newlines do not matter in the argument
to AC_CONFIG_SUBDIRS.
* tests/torture.at (Deep Package): Expose this issue in the
test.
* THANKS: Update.
Report by Nathan Schulte.
2009-11-09 Eric Blake <ebb9@byu.net>
Fix AC_FUNC_MMAP for cygwin.

1
THANKS
View File

@ -264,6 +264,7 @@ Momchil Velkov velco@fadata.bg
Monty Taylor mordred@inaugust.com
Morten Eriksen mortene@sim.no
Motoyuki Kasahara m-kasahr@sra.co.jp
Nathan Schulte reklipz@gmail.com
Nathanael Nerode neroden@gcc.gnu.org
Nelson H. F. Beebe beebe@math.utah.edu
Nicolas Joly njoly@pasteur.fr

View File

@ -454,12 +454,13 @@ sub autoreconf_current_directory ()
verb "$configure_ac: tracing";
my $traces = new Autom4te::XFile
("$autoconf"
. join (' --trace=', '',
. join (' ',
map { ' --trace=' . $_ . ':\$n::\${::}%' }
# If you change this list, update the
# `Autoreconf-preselections' section of autom4te.in.
'AC_CONFIG_AUX_DIR:AC_CONFIG_AUX_DIR:\$1',
'AC_CONFIG_AUX_DIR',
'AC_CONFIG_HEADERS',
'AC_CONFIG_SUBDIRS:AC_CONFIG_SUBDIRS:\$1',
'AC_CONFIG_SUBDIRS',
'AC_INIT',
'AC_PROG_LIBTOOL',
'LT_INIT',
@ -470,14 +471,17 @@ sub autoreconf_current_directory ()
. ' |');
while ($_ = $traces->getline)
{
$aux_dir = $1 if /AC_CONFIG_AUX_DIR:(.*)/;
$uses_autoconf = 1 if /AC_INIT/;
$uses_gettext_via_traces = 1 if /AM_GNU_GETTEXT/;
$uses_libtool = 1 if /(AC_PROG_LIBTOOL|LT_INIT)/;
$uses_libltdl = 1 if /LT_CONFIG_LTDL_DIR/;
$uses_autoheader = 1 if /AC_CONFIG_HEADERS/;
$uses_automake = 1 if /AM_INIT_AUTOMAKE/;
push @subdir, split (' ', $1) if /AC_CONFIG_SUBDIRS:(.*)/ && $recursive;
my ($macro, @args) = split (/::/);
$aux_dir = $args[0] if $macro eq "AC_CONFIG_AUX_DIR";
$uses_autoconf = 1 if $macro eq "AC_INIT";
$uses_gettext_via_traces = 1 if $macro eq "AM_GNU_GETTEXT";
$uses_libtool = 1 if $macro eq "AC_PROG_LIBTOOL"
|| $macro eq "LT_INIT";
$uses_libltdl = 1 if $macro eq "LT_CONFIG_LTDL_DIR";
$uses_autoheader = 1 if $macro eq "AC_CONFIG_HEADERS";
$uses_automake = 1 if $macro eq "AM_INIT_AUTOMAKE";
push @subdir, split (' ', $args[0])
if $macro eq "AC_CONFIG_SUBDIRS" && $recursive;
}
# The subdirs are *optional*, they may not exist.

View File

@ -1359,7 +1359,10 @@ AT_DATA([install-sh], [])
AT_DATA([configure.in],
[[AC_INIT(GNU Outer, 1.0)
AC_ARG_VAR([OUTER], [an outer variable])
AC_CONFIG_SUBDIRS([inner inner2])
AC_CONFIG_SUBDIRS([
inner
inner2
])
AC_OUTPUT
]])