autoconf-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]