]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix --help=recursive with multiple AC_CONFIG_SUBDIRS.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 22 Jan 2008 20:48:51 +0000 (21:48 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 22 Jan 2008 20:48:51 +0000 (21:48 +0100)
* lib/autoconf/general.m4 (_AC_INIT_HELP): If, for recursive help
mode, we change to the source directory, also set $ac_pwd so we
do not go back to the build tree for the next config subdir.
* tests/torture.at (Deep Package): Extend test to contain two
config subdirs on the top level.

ChangeLog
lib/autoconf/general.m4
tests/torture.at

index 74b8b909ebbc0f070d1827c638f2e68945b4cc3c..7a40764d567b38ebcd2ae5bea91c78a7bfcde32b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
+       Fix --help=recursive with multiple AC_CONFIG_SUBDIRS.
+       * lib/autoconf/general.m4 (_AC_INIT_HELP): If, for recursive help
+       mode, we change to the source directory, also set $ac_pwd so we
+       do not go back to the build tree for the next config subdir.
+       * tests/torture.at (Deep Package): Extend test to contain two
+       config subdirs on the top level.
+
        Fix parallel `maintainer-check'.
        * Makefile.am (maintainer-check-tests): Depend on `all'.
        Use `$(MAKE) $(AM_MAKEFLAGS)' instead of plain `make'.
index bc41a81814867887ff0f269f8d114a517f7f447c..92483db3dcdfc738216a85bf7c4c28258884ce33 100644 (file)
@@ -1103,7 +1103,7 @@ if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
     test -d "$ac_dir" ||
-      { cd "$srcdir" && srcdir=. && test -d "$ac_dir"; } ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
       continue
     _AC_SRCDIRS(["$ac_dir"])
     cd "$ac_dir" || { ac_status=$?; continue; }
index 6a7b962c902fe3c69315c332aead5d1d0d005e93..b179afe241d255add0a77224cb46e369a23f137f 100644 (file)
@@ -1,7 +1,7 @@
 #                                                      -*- Autotest -*-
 
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free
-# Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -1212,12 +1212,13 @@ 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])
+AC_CONFIG_SUBDIRS([inner inner2])
 AC_OUTPUT
 ]])
 
 # The contents of `inner/', and `inner/innermost/'.
 AS_MKDIR_P([inner/innermost])
+AS_MKDIR_P([inner2])
 
 AT_DATA([inner/configure.in],
 [[AC_INIT(GNU Inner, 1.0)
@@ -1234,10 +1235,17 @@ AC_DEFINE_UNQUOTED([INNERMOST], [$INNERMOST], [an innermost variable])
 AC_OUTPUT
 ]])
 
+AT_DATA([inner2/configure.in],
+[[AC_INIT(GNU Inner 2, 1.0)
+AC_ARG_VAR([INNER2], [an inner2 variable])
+AC_OUTPUT
+]])
+
 AT_CHECK([autoreconf -Wall -v], [0], [ignore], [ignore])
 AT_CHECK([test -f inner/configure])
 AT_CHECK([test -f inner/innermost/configure])
 AT_CHECK([test -f inner/innermost/config.hin])
+AT_CHECK([test -f inner2/configure])
 
 # Running the outer configure recursively should provide the innermost
 # help strings.
@@ -1246,6 +1254,10 @@ AT_CHECK([{ ./configure --help=recursive; chmod u+w .; } | grep " INNER "],
         0, [ignore], [stderr],
         [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])
 chmod a-w .
+AT_CHECK([{ ./configure --help=recursive; chmod u+w .; } | grep " INNER2 "],
+        0, [ignore], [stderr],
+        [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])
+chmod a-w .
 AT_CHECK([{ ./configure --help=recursive; chmod u+w .; } | grep " INNERMOST "],
         0, [ignore], [stderr],
         [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])
@@ -1276,6 +1288,10 @@ AT_CHECK([cd builddir && { ../configure --help=recursive; chmod u+w .; } | grep
         0, [ignore], [stderr],
         [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])
 chmod a-w builddir
+AT_CHECK([cd builddir && { ../configure --help=recursive; chmod u+w .; } | grep " INNER2 "],
+        0, [ignore], [stderr],
+        [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])
+chmod a-w builddir
 AT_CHECK([cd builddir && { ../configure --help=recursive; chmod u+w .; } | grep " INNERMOST "],
         0, [ignore], [stderr],
         [AT_CHECK([grep 'rerun with a POSIX shell' stderr], [], [ignore])])