pop quilt patches before merge
authorIan Beckwith <ianb@erislabs.net>
Mon, 30 Aug 2010 19:11:25 +0000 (20:11 +0100)
committerIan Beckwith <ianb@erislabs.net>
Mon, 30 Aug 2010 19:11:25 +0000 (20:11 +0100)
gnulib-tool
lib/uniname/gen-uninames.lisp

index 7e0948c..407a96f 100755 (executable)
@@ -200,15 +200,6 @@ Options for --import, --create-[mega]testdir, --[mega]test:
       --with-obsolete       Include obsolete modules when they occur among the
                             dependencies. By default, dependencies to obsolete
                             modules are ignored.
-      --with-c++-tests      Include even unit tests for C++ interoperability.
-      --with-longrunning-tests
-                            Include even unit tests that are long-runners.
-      --with-privileged-tests
-                            Include even unit tests that require root
-                            privileges.
-      --with-unportable-tests
-                            Include even unit tests that fail on some platforms.
-      --with-all-tests      Include all kinds of problematic unit tests.
       --avoid=MODULE        Avoid including the given MODULE. Useful if you
                             have code that provides equivalent functionality.
                             This option can be repeated.
@@ -242,20 +233,20 @@ Options for --import:
                             'gl_INIT'. Default is 'gl'.
       --po-domain=NAME      Specify the prefix of the i18n domain. Usually use
                             the package name. A suffix '-gnulib' is appended.
+      --with-c++-tests      Include even unit tests for C++ interoperability.
+      --with-longrunning-tests
+                            Include even unit tests that are long-runners.
+      --with-privileged-tests
+                            Include even unit tests that require root
+                            privileges.
+      --with-unportable-tests
+                            Include even unit tests that fail on some platforms.
+      --with-all-tests      Include all kinds of problematic unit tests.
       --vc-files            Update version control related files.
       --no-vc-files         Don't update version control related files
                             (.gitignore and/or .cvsignore).
       --no-changelog        Don't update or create ChangeLog files.
 
-Options for --create-[mega]testdir, --[mega]test:
-      --without-c++-tests   Exclude unit tests for C++ interoperability.
-      --without-longrunning-tests
-                            Exclude unit tests that are long-runners.
-      --without-privileged-tests
-                            Exclude unit tests that require root privileges.
-      --without-unportable-tests
-                            Exclude unit tests that fail on some platforms.
-
 Options for --import, --update, --create-[mega]testdir, --[mega]test:
   -s, --symbolic, --symlink Make symbolic links instead of copying files.
       --local-symlink       Make symbolic links instead of copying files, only
@@ -419,7 +410,7 @@ func_gnulib_dir ()
       * ) self_abspathname=`echo "$self_abspathname" | sed -e 's,/[^/]*$,,'`/"$linkval" ;;
     esac
   done
-  gnulib_dir=/usr/share/gnulib
+  gnulib_dir=`echo "$self_abspathname" | sed -e 's,/[^/]*$,,'`
 }
 
 # func_tmpdir
@@ -884,13 +875,6 @@ fi
 # - inc_unportable_tests  true if --with-unportable-tests was given, blank
 #                         otherwise
 # - inc_all_tests   true if --with-all-tests was given, blank otherwise
-# - excl_cxx_tests  true if --without-c++-tests was given, blank otherwise
-# - excl_longrunning_tests  true if --without-longrunning-tests was given,
-#                           blank otherwise
-# - excl_privileged_tests  true if --without-privileged-tests was given, blank
-#                          otherwise
-# - excl_unportable_tests  true if --without-unportable-tests was given, blank
-#                          otherwise
 # - avoidlist       list of modules to avoid, from --avoid
 # - lgpl            yes or a number if --lgpl was given, blank otherwise
 # - makefile_name   from --makefile-name
@@ -928,10 +912,6 @@ fi
   inc_privileged_tests=
   inc_unportable_tests=
   inc_all_tests=
-  excl_cxx_tests=
-  excl_longrunning_tests=
-  excl_privileged_tests=
-  excl_unportable_tests=
   avoidlist=
   lgpl=
   makefile_name=
@@ -1104,18 +1084,6 @@ fi
       --with-all-tests | --with-all-test | --with-all-tes | --with-all-te | --with-all-t | --with-all- | --with-all | --with-al | --with-a)
         inc_all_tests=true
         shift ;;
-      --without-c++-tests | --without-c++-test | --without-c++-tes | --without-c++-te | --without-c++-t | --without-c++- | --without-c++ | --without-c+ | --without-c)
-        excl_cxx_tests=true
-        shift ;;
-      --without-longrunning-tests | --without-longrunning-test | --without-longrunning-tes | --without-longrunning-te | --without-longrunning-t | --without-longrunning- | --without-longrunning | --without-longrunnin | --without-longrunni | --without-longrunn | --without-longrun | --without-longru | --without-longr | --without-long | --without-lon | --without-lo | --without-l)
-        excl_longrunning_tests=true
-        shift ;;
-      --without-privileged-tests | --without-privileged-test | --without-privileged-tes | --without-privileged-te | --without-privileged-t | --without-privileged- | --without-privileged | --without-privilege | --without-privileg | --without-privile | --without-privil | --without-privi | --without-priv | --without-pri | --without-pr | --without-p)
-        excl_privileged_tests=true
-        shift ;;
-      --without-unportable-tests | --without-unportable-test | --without-unportable-tes | --without-unportable-te | --without-unportable-t | --without-unportable- | --without-unportable | --without-unportabl | --without-unportab | --without-unporta | --without-unport | --without-unpor | --without-unpo | --without-unp | --without-un | --without-u)
-        excl_unportable_tests=true
-        shift ;;
       --avoid )
         shift
         if test $# = 0; then
@@ -1215,14 +1183,6 @@ fi
     esac
   done
 
-  if test "$mode" = import; then
-    if test -n "$excl_cxx_tests" || test -n "$excl_longrunning_tests" \
-       || test -n "$excl_privileged_tests" || test -n "$excl_unportable_tests"; then
-      echo "gnulib-tool: invalid options for 'import' mode" 1>&2
-      echo "Try 'gnulib-tool --help' for more information." 1>&2
-      func_exit 1
-    fi
-  fi
   if test "$mode" = update; then
     if test $# != 0; then
       echo "gnulib-tool: too many arguments in 'update' mode" 1>&2
@@ -1238,8 +1198,6 @@ fi
        || test -n "$inc_cxx_tests" || test -n "$inc_longrunning_tests" \
        || test -n "$inc_privileged_tests" || test -n "$inc_unportable_tests" \
        || test -n "$inc_all_tests" \
-       || test -n "$excl_cxx_tests" || test -n "$excl_longrunning_tests" \
-       || test -n "$excl_privileged_tests" || test -n "$excl_unportable_tests" \
        || test -n "$avoidlist" || test -n "$lgpl" || test -n "$makefile_name" \
        || test -n "$macro_prefix" || test -n "$po_domain" \
        || test -n "$vc_files"; then
@@ -1535,7 +1493,7 @@ sed_extract_field_header='
 if $modcache; then
 
   # Note: The 'eval' silences stderr output in dash.
-  if (declare -A x && { x[f/2]='foo'; x[f/3]='bar'; eval test '${x[f/2]}' = foo; }) 2>/dev/null; then
+  if declare -A x 2>/dev/null && { x[f/2]='foo'; x[f/3]='bar'; eval test '${x[f/2]}' = foo; }; then
     # Zsh 4 and Bash 4 have associative arrays.
     have_associative=true
   else
@@ -2328,6 +2286,16 @@ func_get_tests_module ()
 # func_acceptable module
 # tests whether a module is acceptable.
 # Input:
+# - inc_cxx_tests   true if C++ interoperability tests should be included,
+#                   blank otherwise
+# - inc_longrunning_tests  true if long-runnings tests should be included,
+#                          blank otherwise
+# - inc_privileged_tests  true if tests that require root privileges should be
+#                         included, blank otherwise
+# - inc_unportable_tests  true if tests that fail on some platforms should be
+#                         included, blank otherwise
+# - inc_all_tests   true if all kinds of problematic unit tests should be
+#                   included, blank otherwise
 # - avoidlist       list of modules to avoid
 func_acceptable ()
 {
@@ -2336,6 +2304,38 @@ func_acceptable ()
       return 1
     fi
   done
+  case "$1" in
+    *-tests)
+      inc=true
+      for word in `func_get_status "$1"`; do
+        case "$word" in
+          c++-test)
+            test -n "$inc_all_tests" || test -n "$inc_cxx_tests" \
+              || inc=false
+            ;;
+          longrunning-test)
+            test -n "$inc_all_tests" || test -n "$inc_longrunning_tests" \
+              || inc=false
+            ;;
+          privileged-test)
+            test -n "$inc_all_tests" || test -n "$inc_privileged_tests" \
+              || inc=false
+            ;;
+          unportable-test)
+            test -n "$inc_all_tests" || test -n "$inc_unportable_tests" \
+              || inc=false
+            ;;
+          *-test)
+            test -n "$inc_all_tests" \
+              || inc=false
+            ;;
+        esac
+      done
+      if ! $inc; then
+        return 1
+      fi
+      ;;
+  esac
   return 0
 }
 
@@ -2355,20 +2355,8 @@ func_acceptable ()
 #                         included, blank otherwise
 # - inc_unportable_tests  true if tests that fail on some platforms should be
 #                         included, blank otherwise
-# - inc_all_direct_tests   true if all kinds of problematic unit tests among
-#                          the unit tests of the specified modules should be
-#                          included, blank otherwise
-# - inc_all_indirect_tests   true if all kinds of problematic unit tests among
-#                            the unit tests of the dependencies should be
-#                            included, blank otherwise
-# - excl_cxx_tests   true if C++ interoperability tests should be excluded,
-#                    blank otherwise
-# - excl_longrunning_tests  true if long-runnings tests should be excluded,
-#                           blank otherwise
-# - excl_privileged_tests  true if tests that require root privileges should be
-#                          excluded, blank otherwise
-# - excl_unportable_tests  true if tests that fail on some platforms should be
-#                          excluded, blank otherwise
+# - inc_all_tests   true if all kinds of problematic unit tests should be
+#                   included, blank otherwise
 # - avoidlist       list of modules to avoid
 # - tmp             pathname of a temporary directory
 # Output:
@@ -2383,7 +2371,6 @@ func_modules_transitive_closure ()
   handledmodules=
   inmodules="$modules"
   outmodules=
-  fmtc_inc_all_tests="$inc_all_direct_tests"
   while test -n "$inmodules"; do
     inmodules_this_round="$inmodules"
     inmodules=                    # Accumulator, queue for next round
@@ -2398,55 +2385,27 @@ func_modules_transitive_closure ()
           if test -n "$duplicated_deps"; then
             func_warning "module $module has duplicated dependencies: "`echo $duplicated_deps`
           fi
+          for dep in $deps; do
+            if test -n "$incobsolete" \
+               || { inc=true
+                    for word in `func_get_status $dep`; do
+                      case "$word" in
+                        obsolete)
+                          inc=false
+                          ;;
+                      esac
+                    done
+                    $inc
+                  }; then
+              func_append inmodules " $dep"
+            fi
+          done
           if test -n "$inctests"; then
             testsmodule=`func_get_tests_module $module`
             if test -n "$testsmodule"; then
-              deps="$deps $testsmodule"
+              func_append inmodules " $testsmodule"
             fi
           fi
-          for dep in $deps; do
-            # Determine whether to include the dependency or tests module.
-            inc=true
-            for word in `func_get_status $dep`; do
-              case "$word" in
-                obsolete)
-                  test -n "$incobsolete" \
-                    || inc=false
-                  ;;
-                c++-test)
-                  test -z "$excl_cxx_tests" \
-                    || inc=false
-                  test -n "$fmtc_inc_all_tests" || test -n "$inc_cxx_tests" \
-                    || inc=false
-                  ;;
-                longrunning-test)
-                  test -z "$excl_longrunning_tests" \
-                    || inc=false
-                  test -n "$fmtc_inc_all_tests" || test -n "$inc_longrunning_tests" \
-                    || inc=false
-                  ;;
-                privileged-test)
-                  test -z "$excl_privileged_tests" \
-                    || inc=false
-                  test -n "$fmtc_inc_all_tests" || test -n "$inc_privileged_tests" \
-                    || inc=false
-                  ;;
-                unportable-test)
-                  test -z "$excl_unportable_tests" \
-                    || inc=false
-                  test -n "$fmtc_inc_all_tests" || test -n "$inc_unportable_tests" \
-                    || inc=false
-                  ;;
-                *-test)
-                  test -n "$fmtc_inc_all_tests" \
-                    || inc=false
-                  ;;
-              esac
-            done
-            if $inc; then
-              func_append inmodules " $dep"
-            fi
-          done
         fi
       fi
     done
@@ -2454,37 +2413,11 @@ func_modules_transitive_closure ()
     # Remove $handledmodules from $inmodules.
     for m in $inmodules; do echo $m; done | LC_ALL=C sort -u > "$tmp"/queued-modules
     inmodules=`echo "$handledmodules" | LC_ALL=C join -v 2 - "$tmp"/queued-modules`
-    fmtc_inc_all_tests="$inc_all_indirect_tests"
   done
   modules=`for m in $outmodules; do echo $m; done | LC_ALL=C sort -u`
   rm -f "$tmp"/queued-modules
 }
 
-# func_show_module_list
-# Input:
-# - specified_modules  list of specified modules (one per line, sorted)
-# - modules         complete list of modules (one per line, sorted)
-# - tmp             pathname of a temporary directory
-func_show_module_list ()
-{
-  if case "$TERM" in
-       xterm*) test -t 1;;
-       *) false;;
-     esac; then
-    # Assume xterm compatible escape sequences.
-    bold_on=`printf '\x1b[1m'`
-    bold_off=`printf '\x1b[0m'`
-  else
-    bold_on=
-    bold_off=
-  fi
-  echo "Module list with included dependencies (indented):"
-  echo "$specified_modules" | sed -e '/^$/d' -e 's/$/| /' > "$tmp"/specified-modules
-  echo "$modules" | sed -e '/^$/d' \
-    | LC_ALL=C join -t '|' -a 2 "$tmp"/specified-modules - \
-    | sed -e 's/^\(.*\)|.*/|\1/' -e 's/^/    /' -e 's/^    |\(.*\)$/  '"${bold_on}"'\1'"${bold_off}"'/'
-}
-
 # func_modules_add_dummy
 # Input:
 # - local_gnulib_dir  from --local-dir
@@ -2848,11 +2781,7 @@ func_emit_lib_Makefile_am ()
   done
   if test -z "$makefile_name"; then
     echo
-    if $for_test; then
-      echo "AM_CPPFLAGS = -DGNULIB_STRICT_CHECKING=1"
-    else
-      echo "AM_CPPFLAGS ="
-    fi
+    echo "AM_CPPFLAGS ="
     echo "AM_CFLAGS ="
   fi
   echo
@@ -3137,9 +3066,6 @@ func_emit_tests_Makefile_am ()
   done
   echo
   echo "AM_CPPFLAGS = \\"
-  if $for_test; then
-    echo "  -DGNULIB_STRICT_CHECKING=1 \\"
-  fi
   if test -n "${witness_macro}"; then
     echo "  -D@${witness_macro}@=1 \\"
   fi
@@ -3527,11 +3453,6 @@ func_import ()
   if test -z "$inc_all_tests"; then
     inc_all_tests="$cached_inc_all_tests"
   fi
-  # --without-*-tests options are not supported here.
-  excl_cxx_tests=
-  excl_longrunning_tests=
-  excl_privileged_tests=
-  excl_unportable_tests=
   # Append the cached and the specified avoidlist. This is probably better
   # than dropping the cached one when --avoid is specified at least once.
   avoidlist=`for m in $cached_avoidlist $avoidlist; do echo $m; done | LC_ALL=C sort -u`
@@ -3608,15 +3529,12 @@ func_import ()
   # Canonicalize the list of specified modules.
   specified_modules=`for m in $specified_modules; do echo $m; done | LC_ALL=C sort -u`
 
-  # Include all kinds of tests modules if --with-all-tests was specified.
-  inc_all_direct_tests="$inc_all_tests"
-  inc_all_indirect_tests="$inc_all_tests"
-
   # Determine final module list.
   modules="$specified_modules"
   func_modules_transitive_closure
   if test $verbose -ge 0; then
-    func_show_module_list
+    echo "Module list with included dependencies:"
+    echo "$modules" | sed -e 's/^/  /'
   fi
   final_modules="$modules"
 
@@ -4736,14 +4654,6 @@ s,//*$,/,'
 # - inctests        true if tests should be included, blank otherwise
 # - incobsolete     true if obsolete modules among dependencies should be
 #                   included, blank otherwise
-# - excl_cxx_tests   true if C++ interoperability tests should be excluded,
-#                    blank otherwise
-# - excl_longrunning_tests  true if long-runnings tests should be excluded,
-#                           blank otherwise
-# - excl_privileged_tests  true if tests that require root privileges should be
-#                          excluded, blank otherwise
-# - excl_unportable_tests  true if tests that fail on some platforms should be
-#                          excluded, blank otherwise
 # - avoidlist       list of modules to avoid
 # - libtool         true if --libtool was given, false if --no-libtool was
 #                   given, blank otherwise
@@ -4762,24 +4672,20 @@ func_create_testdir ()
     modules=`func_all_modules`
     modules=`for m in $modules; do case $m in config-h | ftruncate | mountlist | lib-ignore) ;; *) echo $m;; esac; done`
   fi
-  specified_modules="$modules"
+  modules=`for m in $modules; do echo $m; done | LC_ALL=C sort -u`
 
-  # Canonicalize the list of specified modules.
-  specified_modules=`for m in $specified_modules; do echo $m; done | LC_ALL=C sort -u`
-
-  # Unlike in func_import, here we want to include all kinds of tests for the
-  # directly specified modules, but not for dependencies.
-  inc_all_direct_tests=true
-  inc_all_indirect_tests="$inc_all_tests"
+  # Unlike in func_import, here we want to include all kinds of tests.
+  inc_all_tests=true
 
   # Check that the license of every module is consistent with the license of
   # its dependencies.
+  saved_modules="$modules"
   saved_inctests="$inctests"
   # When computing transitive closures, don't consider $module to depend on
   # $module-tests. Need this becauses tests are implicitly GPL and may depend
   # on GPL modules - therefore we don't want a warning in this case.
   inctests=""
-  for requested_module in $specified_modules; do
+  for requested_module in $saved_modules; do
     requested_license=`func_get_license "$requested_module"`
     if test "$requested_license" != GPL; then
       # Here we use func_modules_transitive_closure, not just
@@ -4819,6 +4725,7 @@ func_create_testdir ()
       done
     fi
   done
+  modules="$saved_modules"
   inctests="$saved_inctests"
 
   # Subdirectory names.
@@ -4832,10 +4739,10 @@ func_create_testdir ()
   vc_files=
 
   # Determine final module list.
-  modules="$specified_modules"
   func_modules_transitive_closure
   if test $verbose -ge 0; then
-    func_show_module_list
+    echo "Module list with included dependencies:"
+    echo "$modules" | sed -e 's/^/  /'
   fi
 
   # Add the dummy module if needed.
index ec24d97..d08e93f 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/clisp -C
+#!/usr/local/bin/clisp -C
 
 ;;; Creation of gnulib's uninames.h from the UnicodeData.txt table.
 ;;; Bruno Haible 2000-12-28