[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Autoconf source repository branch, master, updated. v2.66-4-g4
From: |
Ralf Wildenhues |
Subject: |
[SCM] GNU Autoconf source repository branch, master, updated. v2.66-4-g49a6f8a |
Date: |
Thu, 08 Jul 2010 04:45:42 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=49a6f8a8b52060d8fe0f97aa6f1d5c47b40b65c1
The branch, master has been updated
via 49a6f8a8b52060d8fe0f97aa6f1d5c47b40b65c1 (commit)
from 48807a33943364789669f851be9ddd2bb696b83e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 49a6f8a8b52060d8fe0f97aa6f1d5c47b40b65c1
Author: Ralf Wildenhues <address@hidden>
Date: Tue Jul 6 22:31:33 2010 +0200
Fix regression of AC_CONFIG_SUBDIRS with multiple arguments.
* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Do not assume the
argument is a single word.
* tests/torture.at (Deep Package): Extend test to cover this.
(Non-literal AC_CONFIG_SUBDIRS): New test.
* doc/autoconf.texi (Subdirectories): Add example marker.
* NEWS: Update.
Report by Bruno Haible.
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++++++++
NEWS | 2 +
doc/autoconf.texi | 1 +
lib/autoconf/status.m4 | 2 +-
tests/torture.at | 54 +++++++++++++++++++++++++++++++++++++++++++++++-
5 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ab4d7b2..e9e465b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-08 Eric Blake <address@hidden>
+ and Ralf Wildenhues <address@hidden>
+
+ Fix regression of AC_CONFIG_SUBDIRS with multiple arguments.
+ * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Do not assume the
+ argument is a single word.
+ * tests/torture.at (Deep Package): Extend test to cover this.
+ (Non-literal AC_CONFIG_SUBDIRS): New test.
+ * doc/autoconf.texi (Subdirectories): Add example marker.
+ * NEWS: Update.
+ Report by Bruno Haible.
+
2010-07-04 Stefano Lattarini <address@hidden>
Fix minor copy&paste leftover in m4sh tests.
diff --git a/NEWS b/NEWS
index 7282697..5053557 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ GNU Autoconf NEWS - User visible changes.
* Noteworthy changes in release ?.? (????-??-??) [?]
+** AC_CONFIG_SUBDIRS with more than one subdirectory at a time works again.
+ Regression introduced in 2.66.
* Major changes in Autoconf 2.66 (2010-07-02) [stable]
Released by Eric Blake, based on git versions 2.65.*.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 0c106c7..39c2ba6 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -3617,6 +3617,7 @@ Make @code{AC_OUTPUT} run @command{configure} in each
subdirectory
be a literal, i.e., please do not use:
@example
address@hidden If you change this example, adjust tests/torture.at:Non-literal
AC_CONFIG_SUBDIRS.
if test "x$package_foo_enabled" = xyes; then
my_subdirs="$my_subdirs foo"
fi
diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
index 52b7a3d..b9e7026 100644
--- a/lib/autoconf/status.m4
+++ b/lib/autoconf/status.m4
@@ -1102,7 +1102,7 @@ AC_DEFUN([AC_CONFIG_SUBDIRS],
_AC_CONFIG_COMPUTE_DEST(], [))])]dnl
[m4_append([_AC_LIST_SUBDIRS], [$1], [
])]dnl
-[AS_LITERAL_WORD_IF([$1], [],
+[AS_LITERAL_IF([$1], [],
[AC_DIAGNOSE([syntax], [$0: you should use literals])])]dnl
[AC_SUBST([subdirs], ["$subdirs m4_normalize([$1])"])])
diff --git a/tests/torture.at b/tests/torture.at
index 5f13874..e7f61ed 100644
--- a/tests/torture.at
+++ b/tests/torture.at
@@ -1567,7 +1567,9 @@ AC_ARG_VAR([INNER2], [an inner2 variable])
AC_OUTPUT
]])
-AT_CHECK([autoreconf -Wall -v], [0], [ignore], [ignore])
+AT_CHECK([autoreconf -Wall -v], [0], [ignore], [stderr])
+# We should not warn about nonliteral argument to AC_CONFIG_SUBDIRS here.
+AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [1])
AT_CHECK([test -f inner/configure])
AT_CHECK([test -f inner/innermost/configure])
AT_CHECK([test -f inner/innermost/config.hin])
@@ -1693,6 +1695,56 @@ AT_CHECK([test -f inner/myfile], 0)
AT_CLEANUP
+## ------------------------------- ##
+## Non-literal AC_CONFIG_SUBDIRS. ##
+## ------------------------------- ##
+
+AT_SETUP([Non-literal AC_CONFIG_SUBDIRS])
+AT_KEYWORDS([autoreconf])
+
+# We use aclocal (via autoreconf).
+AT_CHECK([aclocal --version || exit 77], [], [ignore], [ignore])
+
+AT_DATA([install-sh], [])
+AT_DATA([configure.in],
+[[AC_INIT(GNU Outer, 1.0)
+
+my_subdirs=
+# Taken from autoconf.texi:Subdirectories.
+if test "x$package_foo_enabled" = xyes; then
+ my_subdirs="$my_subdirs foo"
+fi
+AC_CONFIG_SUBDIRS([$my_subdirs])
+AC_OUTPUT
+]])
+
+AS_MKDIR_P([foo])
+
+AT_DATA([foo/configure],
+[[#! /bin/sh
+touch innerfile
+exit 0
+]])
+chmod +x foo/configure
+
+# autoreconf should warn without -Wno-syntax, but should not fail without
-Werror.
+AT_CHECK([autoreconf -Werror -v], [1], [ignore], [stderr])
+AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [0], [ignore])
+AT_CHECK([autoreconf -v], [0], [ignore], [stderr])
+AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [0], [ignore])
+# We cannot assume aclocal won't warn (aclocal-1.9 does not understand -W*
+# options), so check autoconf only.
+AT_CHECK([autoconf --force -Wno-syntax], 0, [ignore], [stderr])
+AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [1])
+
+AT_CHECK([./configure $configure_options], [0], [ignore])
+AT_CHECK([test ! -f foo/innerfile])
+# Running the outer configure should trigger the inner.
+AT_CHECK([./configure $configure_options package_foo_enabled=yes], [0],
[ignore])
+AT_CHECK([test -f foo/innerfile])
+
+AT_CLEANUP
+
## ----------------- ##
## Empty directory. ##
hooks/post-receive
--
GNU Autoconf source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Autoconf source repository branch, master, updated. v2.66-4-g49a6f8a,
Ralf Wildenhues <=