[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
--help=recursive needs one more bit
From: |
Ralf Wildenhues |
Subject: |
--help=recursive needs one more bit |
Date: |
Tue, 22 Jan 2008 21:39:14 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
My testing for recursive help back then wasn't enough. With multiple
config subdirs in one configure script, only the first would be searched
for the in the correct (source) directory. This should fix it.
OK?
Cheers,
Ralf
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.
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 69b4371..3a6a602 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -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; }
diff --git a/tests/torture.at b/tests/torture.at
index 6a7b962..d35d752 100644
--- a/tests/torture.at
+++ b/tests/torture.at
@@ -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])])
- --help=recursive needs one more bit,
Ralf Wildenhues <=