]> git.saurik.com Git - bison.git/blobdiff - bootstrap
Fix portability issue in the test suite.
[bison.git] / bootstrap
index 85d06a234251af3ac93e8a869fd60c36fc23e9ca..0c136f62cf98166c4745218ff1428ad5594c87b1 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -144,9 +144,9 @@ vc_ignore=auto
 # -------------------------
 find_tool ()
 {
-  # Find sha1sum, named gsha1sum on MacPorts.
   find_tool_envvar=$1
   shift
+  find_tool_name=$@
   if eval test x"\$$find_tool_envvar" = x; then
     for i
     do
@@ -157,7 +157,7 @@ find_tool ()
     done
   fi
   if test x"$find_tool_res" = x; then
-    echo >&2 "$0: $find_tool_name is required"
+    echo >&2 "$0: one of these is required: $find_tool_names"
     exit 1
   fi
   ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
@@ -267,6 +267,20 @@ cleanup_gnulib() {
   exit $status
 }
 
+# See if we can use gnulib's git-merge-changelog merge driver.
+
+if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
+  if git config merge.merge-changelog.driver >/dev/null ; then
+    :
+  elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
+    echo "initializing git-merge-changelog driver"
+    git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
+    git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
+  else
+    echo "consider installing git-merge-changelog from gnulib"
+  fi
+fi
+
 # Get gnulib files.
 
 case ${GNULIB_SRCDIR--} in
@@ -491,11 +505,10 @@ slurp() {
       if test $file = Makefile.am; then
        copied=$copied${sep}$gnulib_mk; sep=$nl
        remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
-       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
+        etc/prefix-gnulib-mk $dir/$gnulib_mk
       elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
           version_controlled_file $dir $file; then
        echo "$0: $dir/$file overrides $1/$dir/$file"