.
[gnulib.git] / gnulib-tool
index 30212e3..8cf563e 100755 (executable)
@@ -22,7 +22,7 @@
 
 progname=$0
 package=gnulib
-cvsdatestamp='$Date: 2005-09-19 15:33:19 $'
+cvsdatestamp='$Date: 2005-09-20 11:48:17 $'
 last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
 version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
 
@@ -174,7 +174,7 @@ else
   func_readlink ()
   {
     # Use two sed invocations. A single sed -n -e 's,^.* -> \(.*\)$,\1,p'
-    # would do the wrong link if the link target contains " -> ".
+    # would do the wrong thing if the link target contains " -> ".
     LC_ALL=C ls -l "$1" | sed -e 's, -> ,#%%#,' | sed -n -e 's,^.*#%%#\(.*\)$,\1,p'
   }
 fi
@@ -359,7 +359,7 @@ func_ln_if_changed ()
         func_version
         exit 0 ;;
       -- )
-        # Stop option prcessing
+        # Stop option processing
         shift
         break ;;
       -* )
@@ -370,6 +370,22 @@ func_ln_if_changed ()
         break ;;
     esac
   done
+
+  # Remove trailing slashes from the directory names. This is necessary for
+  # m4base (to avoid an error in func_import) and optional for the others.
+  sed_trimtrailingslashes='s,\([^/]\)//*$,\1,'
+  case "$sourcebase" in
+    */ ) sourcebase=`echo "$sourcebase" | sed -e "$sed_trimtrailingslashes"` ;;
+  esac
+  case "$m4base" in
+    */ ) m4base=`echo "$m4base" | sed -e "$sed_trimtrailingslashes"` ;;
+  esac
+  case "$testsbase" in
+    */ ) testsbase=`echo "$testsbase" | sed -e "$sed_trimtrailingslashes"` ;;
+  esac
+  case "$auxdir" in
+    */ ) auxdir=`echo "$auxdir" | sed -e "$sed_trimtrailingslashes"` ;;
+  esac
 }
 
 case "$0" in
@@ -406,7 +422,7 @@ func_all_modules ()
   (cd "$gnulib_dir/modules" && ls -1) \
       | sed -e '/^CVS$/d' -e '/^ChangeLog$/d' -e '/^README$/d' -e '/^TEMPLATE$/d' -e '/^TEMPLATE-TESTS$/d' -e '/~$/d' \
       | sed -e '/-tests$/d' \
-      | sort
+      | LC_ALL=C sort
 }
 
 # func_verify_module
@@ -553,7 +569,7 @@ func_modules_transitive_closure ()
       func_verify_module
       if test -n "$module"; then
         # Duplicate dependencies are harmless, but Jim wants a warning.
-        duplicated_deps=`func_get_dependencies $module | sort | uniq -d`
+        duplicated_deps=`func_get_dependencies $module | LC_ALL=C sort | LC_ALL=C uniq -d`
         if test -n "$duplicated_deps"; then
           echo "warning: module $module has duplicated dependencies: "`echo $duplicated_deps` 1>&2
         fi
@@ -580,7 +596,7 @@ func_modules_transitive_closure ()
         fi
       fi
     done
-    xmodules=`for m in $xmodules; do echo $m; done | sort | uniq`
+    xmodules=`for m in $xmodules; do echo $m; done | LC_ALL=C sort | LC_ALL=C uniq`
     if test "$xmodules" = "$modules"; then
       break
     fi
@@ -602,7 +618,7 @@ func_modules_to_filelist ()
       files="$files "`func_get_filelist $module`
     fi
   done
-  files=`for f in $files; do echo $f; done | sort | uniq`
+  files=`for f in $files; do echo $f; done | LC_ALL=C sort | LC_ALL=C uniq`
 }
 
 # func_emit_lib_Makefile_am
@@ -884,7 +900,7 @@ func_import ()
   fi
 
   # Canonicalize the list of specified modules.
-  specified_modules=`for m in $specified_modules; do echo $m; done | sort | uniq`
+  specified_modules=`for m in $specified_modules; do echo $m; done | LC_ALL=C sort | LC_ALL=C uniq`
 
   # Determine final module list.
   modules="$specified_modules"
@@ -1317,7 +1333,7 @@ func_create_testdir ()
 {
   testdir="$1"
   modules="$2"
-  modules=`for m in $modules; do echo $m; done | sort | uniq`
+  modules=`for m in $modules; do echo $m; done | LC_ALL=C sort | LC_ALL=C uniq`
 
   # Determine final module list.
   func_modules_transitive_closure
@@ -1618,6 +1634,7 @@ case $mode in
         # First use of gnulib in the given m4base.
         test -n "$supplied_libname" || supplied_libname=true
         test -n "$sourcebase" || sourcebase="lib"
+        test -n "$testsbase" || testsbase="tests"
         test -n "$macro_prefix" || macro_prefix="gl"
       fi
       func_import "$*"
@@ -1656,6 +1673,7 @@ case $mode in
         test -n "$supplied_libname" || supplied_libname=true
         test -n "$sourcebase" || sourcebase="lib"
         m4base="m4"
+        test -n "$testsbase" || testsbase="tests"
         test -n "$macro_prefix" || macro_prefix="gl"
         func_import "$*"
       else