bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnulib-tool: don't follow dependencies to avoided modules


From: Paul Eggert
Subject: [PATCH] gnulib-tool: don't follow dependencies to avoided modules
Date: Fri, 07 Oct 2011 14:01:35 -0700
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.22) Gecko/20110906 Fedora/3.1.14-1.fc14 Thunderbird/3.1.14

 ChangeLog   |    8 ++++++++
 gnulib-tool |   14 ++++++++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c57a4fb..e48cc62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-10-07  Paul Eggert  <address@hidden>
 
+       gnulib-tool: don't follow dependencies to avoided modules
+       This fixes a bug that is related to the previous one.
+       * gnulib-tool (func_modules_transitive_closure)
+       (func_emit_autoconf_snippets):
+       Check whether a dependency is acceptable before using it.
+       (--extract-dependencies): Report an error if --avoid is also used,
+       since this combination of options is not yet supported.
+
        gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
        Problem reported by Peter Dyballa in
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
diff --git a/gnulib-tool b/gnulib-tool
index 628d9d6..2e3b6ca 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -2731,6 +2731,9 @@ func_modules_transitive_closure ()
               esac
             done
             if $inc; then
+              func_acceptable $dep || inc=false
+            fi
+            if $inc; then
               func_append inmodules " $dep"
               if test "$cond_dependencies" = true; then
                 escaped_dep=`echo "$dep" | sed -e "$sed_escape_dependency"`
@@ -3958,7 +3961,9 @@ func_emit_autoconf_snippets ()
           echo "      $shellvar=true"
           deps=`func_get_dependencies $module | sed -e 
"$sed_dependencies_without_conditions"`
           for dep in $deps; do
-            if func_cond_module_p "$dep"; then
+            if ! func_acceptable $dep; then
+              :
+            elif func_cond_module_p "$dep"; then
               func_module_shellfunc_name "$dep"
               func_cond_module_condition "$module" "$dep"
               if test "$condition" != true; then
@@ -3988,7 +3993,9 @@ func_emit_autoconf_snippets ()
         else
           deps=`func_get_dependencies $module | sed -e 
"$sed_dependencies_without_conditions"`
           for dep in $deps; do
-            if func_cond_module_p "$dep"; then
+            if ! func_acceptable $dep; then
+              :
+            elif func_cond_module_p "$dep"; then
               func_module_shellfunc_name "$dep"
               func_cond_module_condition "$module" "$dep"
               if test "$condition" != true; then
@@ -6507,6 +6514,9 @@ s/\([.*$]\)/[\1]/g'
     ;;
 
   extract-dependencies )
+    if test -n "$avoidlist"; then
+      func_fatal_error "cannot combine --avoid and --extract-dependencies"
+    fi
     for module
     do
       func_verify_module
-- 
1.7.4.4




reply via email to

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