From: Ralf Wildenhues Date: Sat, 14 Nov 2009 11:40:07 +0000 (+0100) Subject: Fix AC_CONFIG_SUBDIRS tracing in autoreconf. X-Git-Tag: v2.65~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8733bad075b6b4340a8504496b488d48d0b9f354;p=thirdparty%2Fautoconf.git 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 --- diff --git a/ChangeLog b/ChangeLog index 77e9d4ec..778f2ce5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2009-11-14 Ralf Wildenhues + + 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 Fix AC_FUNC_MMAP for cygwin. diff --git a/THANKS b/THANKS index f63509f6..d1ca487d 100644 --- a/THANKS +++ b/THANKS @@ -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 diff --git a/bin/autoreconf.in b/bin/autoreconf.in index 9f6d7066..4aeca015 100644 --- a/bin/autoreconf.in +++ b/bin/autoreconf.in @@ -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. diff --git a/tests/torture.at b/tests/torture.at index ea3acd49..6fdf7e7c 100644 --- a/tests/torture.at +++ b/tests/torture.at @@ -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 ]])