]> git.saurik.com Git - bison.git/commitdiff
Find sha1sum when named gsha1sum.
authorAkim Demaille <akim@epita.fr>
Sun, 4 Nov 2007 20:40:50 +0000 (20:40 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 4 Nov 2007 20:40:50 +0000 (20:40 +0000)
* bootstrap (find_tool): New.
($SHA1SUM): New.

ChangeLog
bootstrap

index 07db04d6448086fd655a863ecb7d4def9259df3b..33b0aa9fb8afa09d9438ef42c45e02dff34d1bf1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Find sha1sum when named gsha1sum.
+       * bootstrap (find_tool): New.
+       ($SHA1SUM): New.
+
 2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Deprecate %pure-parser and add `%define api.pure'.  Discussed starting
 2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Deprecate %pure-parser and add `%define api.pure'.  Discussed starting
index 295e92a3e914dd2e7dc5d6918bd102442744eeb0..e0ac7c75b2850fa1c4a005337f799e129174d293 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -41,16 +41,16 @@ Bootstrap this package from the checked-out sources.
 
 Options:
  --gnulib-srcdir=DIRNAME  Specify the local directory where gnulib
 
 Options:
  --gnulib-srcdir=DIRNAME  Specify the local directory where gnulib
-                          sources reside.  Use this if you already
-                          have gnulib sources on your machine, and
-                          do not want to waste your bandwidth downloading
-                          them again.
+                         sources reside.  Use this if you already
+                         have gnulib sources on your machine, and
+                         do not want to waste your bandwidth downloading
+                         them again.
  --copy                   Copy files instead of creating symbolic links.
  --force                  Attempt to bootstrap even if the sources seem
  --copy                   Copy files instead of creating symbolic links.
  --force                  Attempt to bootstrap even if the sources seem
-                          not to have been checked out.
+                         not to have been checked out.
  --skip-po                Do not download po files.
  --cvs-user=USERNAME      Set the username to use when checking out
  --skip-po                Do not download po files.
  --cvs-user=USERNAME      Set the username to use when checking out
-                          sources from the gnulib repository.
+                         sources from the gnulib repository.
 
 If the file bootstrap.conf exists in the current working directory, its
 contents are read as shell variables to configure the bootstrap.
 
 If the file bootstrap.conf exists in the current working directory, its
 contents are read as shell variables to configure the bootstrap.
@@ -139,6 +139,37 @@ copy=false
 # on which version control system (if any) is used in the source directory.
 vc_ignore=auto
 
 # on which version control system (if any) is used in the source directory.
 vc_ignore=auto
 
+# find_tool ENVVAR NAMES...
+# -------------------------
+find_tool ()
+{
+  # Find sha1sum, named gsha1sum on MacPorts.
+  find_tool_envvar=$1
+  shift
+  if eval test x"\$$find_tool_envvar" = x; then
+    for i
+    do
+      if ($i --version </dev/null) >/dev/null 2>&1; then
+       find_tool_res=$i
+       break
+      fi
+    done
+  fi
+  if test x"$find_tool_res" = x; then
+    echo >&2 "$0: $find_tool_name is required"
+    exit 1
+  fi
+  ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
+    echo >&2 "$0: cannot run $find_tool_res --version"
+    exit 1
+  }
+  eval "$find_tool_envvar=\"$find_tool_res\""
+  eval "export $find_tool_envvar"
+}
+
+# Find sha1sum, named gsha1sum on MacPorts.
+find_tool SHA1SUM sha1sum gsha1sum
+
 # Override the default configuration, if necessary.
 test -r bootstrap.conf && . ./bootstrap.conf
 
 # Override the default configuration, if necessary.
 test -r bootstrap.conf && . ./bootstrap.conf
 
@@ -284,9 +315,9 @@ update_po_files() {
   for po in `cd $ref_po_dir && echo *.po|sed 's/\.po//g'`; do
      new_po="$ref_po_dir/$po.po"
      cksum_file="$ref_po_dir/$po.s1"
   for po in `cd $ref_po_dir && echo *.po|sed 's/\.po//g'`; do
      new_po="$ref_po_dir/$po.po"
      cksum_file="$ref_po_dir/$po.s1"
-     if ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then
+     if ! "$SHA1SUM" -c --status "$cksum_file" < "$new_po" > /dev/null; then
        echo "updated $po_dir/$po.po..."
        echo "updated $po_dir/$po.po..."
-       cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file"
+       cp "$new_po" "$po_dir/$po.po" && "$SHA1SUM" < "$new_po" > "$cksum_file"
      fi
   done
 }
      fi
   done
 }
@@ -435,9 +466,9 @@ slurp() {
        test "$dir/$file" = "$excluded_file" && continue 2
       done
       if test $file = Makefile.am; then
        test "$dir/$file" = "$excluded_file" && continue 2
       done
       if test $file = Makefile.am; then
-        copied=$copied${sep}$gnulib_mk; sep=$nl
+       copied=$copied${sep}$gnulib_mk; sep=$nl
        remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
        remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
-        sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || {
+       sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || {
          echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
          rm -f $dir/$gnulib_mk &&
          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
          echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
          rm -f $dir/$gnulib_mk &&
          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk