Blame SOURCES/depcomp.patch

caac36
--- unixODBC-2.2.8/depcomp	2001-10-28 16:26:53.000000000 -0500
caac36
+++ unixODBC-2.2.8-rh/depcomp	2003-07-02 11:40:03.000000000 -0400
caac36
@@ -31,7 +31,16 @@
caac36
 fi
caac36
 # `libtool' can also be set to `yes' or `no'.
caac36
 
caac36
-depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
caac36
+if test -z "$depfile"; then
caac36
+   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
caac36
+   dir=`echo "$object" | sed 's,/.*$,/,'`
caac36
+   if test "$dir" = "$object"; then
caac36
+      dir=
caac36
+   fi
caac36
+   # FIXME: should be _deps on DOS.
caac36
+   depfile="$dir.deps/$base"
caac36
+fi
caac36
+
caac36
 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
caac36
 
caac36
 rm -f "$tmpdepfile"
caac36
@@ -197,18 +206,53 @@
caac36
   rm -f "$tmpdepfile"
caac36
   ;;
caac36
 
caac36
+icc)
caac36
+  # Must come before tru64.
caac36
+
caac36
+  # Intel's C compiler understands `-MD -MF file'.  However
caac36
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
caac36
+  # will fill foo.d with something like
caac36
+  #    foo.o: sub/foo.c
caac36
+  #    foo.o: sub/foo.h
caac36
+  # which is wrong.  We want:
caac36
+  #    sub/foo.o: sub/foo.c
caac36
+  #    sub/foo.o: sub/foo.h
caac36
+  #    sub/foo.c:
caac36
+  #    sub/foo.h:
caac36
+
caac36
+  "$@" -MD -MF "$tmpdepfile"
caac36
+  stat=$?
caac36
+  if test $stat -eq 0; then :
caac36
+  else
caac36
+    rm -f "$tmpdepfile"
caac36
+    exit $stat
caac36
+  fi
caac36
+  rm -f "$depfile"
caac36
+  # Each line is of the form `foo.o: dependent.h'.
caac36
+  # Do two passes, one to just change these to
caac36
+  # `$object: dependent.h' and one to simply `dependent.h:'.
caac36
+  sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
caac36
+  sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
caac36
+  rm -f "$tmpdepfile"
caac36
+  ;;
caac36
+
caac36
 tru64)
caac36
-   # The Tru64 AIX compiler uses -MD to generate dependencies as a side
caac36
+   # The Tru64 compiler uses -MD to generate dependencies as a side
caac36
    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
caac36
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 
caac36
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
caac36
    # dependencies in `foo.d' instead, so we check for that too.
caac36
    # Subdirectories are respected.
caac36
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
caac36
+   test "x$dir" = "x$object" && dir=
caac36
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
caac36
 
caac36
-   tmpdepfile1="$object.d"
caac36
-   tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` 
caac36
    if test "$libtool" = yes; then
caac36
+      tmpdepfile1="$dir.libs/$base.lo.d"
caac36
+      tmpdepfile2="$dir.libs/$base.d"
caac36
       "$@" -Wc,-MD
caac36
    else
caac36
+      tmpdepfile1="$dir$base.o.d"
caac36
+      tmpdepfile2="$dir$base.d"
caac36
       "$@" -MD
caac36
    fi
caac36
 
caac36
@@ -240,34 +284,42 @@
caac36
 
caac36
 dashmstdout)
caac36
   # Important note: in order to support this mode, a compiler *must*
caac36
-  # always write the proprocessed file to stdout, regardless of -o,
caac36
-  # because we must use -o when running libtool.
caac36
-  test -z "$dashmflag" && dashmflag=-M
caac36
-  ( IFS=" "
caac36
-    case " $* " in
caac36
-    *" --mode=compile "*) # this is libtool, let us make it quiet
caac36
-      for arg
caac36
-      do # cycle over the arguments
caac36
-        case "$arg" in
caac36
-	"--mode=compile")
caac36
-	  # insert --quiet before "--mode=compile"
caac36
-	  set fnord "$@" --quiet
caac36
-	  shift # fnord
caac36
-	  ;;
caac36
-	esac
caac36
-	set fnord "$@" "$arg"
caac36
-	shift # fnord
caac36
-	shift # "$arg"
caac36
-      done
caac36
+  # always write the proprocessed file to stdout, regardless of -o.
caac36
+  "$@" || exit $?
caac36
+
caac36
+  # Remove the call to Libtool.
caac36
+  if test "$libtool" = yes; then
caac36
+    while test $1 != '--mode=compile'; do
caac36
+      shift
caac36
+    done
caac36
+    shift
caac36
+  fi
caac36
+
caac36
+  # Remove `-o $object'.
caac36
+  IFS=" "
caac36
+  for arg
caac36
+  do
caac36
+    case $arg in
caac36
+    -o)
caac36
+      shift
caac36
+      ;;
caac36
+    $object)
caac36
+      shift
caac36
+      ;;
caac36
+    *)
caac36
+      set fnord "$@" "$arg"
caac36
+      shift # fnord
caac36
+      shift # $arg
caac36
       ;;
caac36
     esac
caac36
-    "$@" $dashmflag | sed 's:^[^:]*\:[ 	]*:'"$object"'\: :' > "$tmpdepfile"
caac36
-  ) &
caac36
-  proc=$!
caac36
-  "$@"
caac36
-  stat=$?
caac36
-  wait "$proc"
caac36
-  if test "$stat" != 0; then exit $stat; fi
caac36
+  done
caac36
+
caac36
+  test -z "$dashmflag" && dashmflag=-M
caac36
+  # Require at least two characters before searching for `:'
caac36
+  # in the target name.  This is to cope with DOS-style filenames:
caac36
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
caac36
+  "$@" $dashmflag |
caac36
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
caac36
   rm -f "$depfile"
caac36
   cat < "$tmpdepfile" > "$depfile"
caac36
   tr ' ' '
caac36
@@ -285,36 +337,40 @@
caac36
   ;;
caac36
 
caac36
 makedepend)
caac36
-  # X makedepend
caac36
-  (
caac36
-    shift
caac36
-    cleared=no
caac36
-    for arg in "$@"; do
caac36
-      case $cleared in no)
caac36
-        set ""; shift
caac36
-	cleared=yes
caac36
-      esac
caac36
-      case "$arg" in
caac36
-        -D*|-I*)
caac36
-	  set fnord "$@" "$arg"; shift;;
caac36
-	-*)
caac36
-	  ;;
caac36
-	*)
caac36
-	  set fnord "$@" "$arg"; shift;;
caac36
-      esac
caac36
+  "$@" || exit $?
caac36
+  # Remove any Libtool call
caac36
+  if test "$libtool" = yes; then
caac36
+    while test $1 != '--mode=compile'; do
caac36
+      shift
caac36
     done
caac36
-    obj_suffix="`echo $object | sed 's/^.*\././'`"
caac36
-    touch "$tmpdepfile"
caac36
-    ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
caac36
-  ) &
caac36
-  proc=$!
caac36
-  "$@"
caac36
-  stat=$?
caac36
-  wait "$proc"
caac36
-  if test "$stat" != 0; then exit $stat; fi
caac36
+    shift
caac36
+  fi
caac36
+  # X makedepend
caac36
+  shift
caac36
+  cleared=no
caac36
+  for arg in "$@"; do
caac36
+    case $cleared in
caac36
+    no)
caac36
+      set ""; shift
caac36
+      cleared=yes ;;
caac36
+    esac
caac36
+    case "$arg" in
caac36
+    -D*|-I*)
caac36
+      set fnord "$@" "$arg"; shift ;;
caac36
+    # Strip any option that makedepend may not understand.  Remove
caac36
+    # the object too, otherwise makedepend will parse it as a source file.
caac36
+    -*|$object)
caac36
+      ;;
caac36
+    *)
caac36
+      set fnord "$@" "$arg"; shift ;;
caac36
+    esac
caac36
+  done
caac36
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
caac36
+  touch "$tmpdepfile"
caac36
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
caac36
   rm -f "$depfile"
caac36
   cat < "$tmpdepfile" > "$depfile"
caac36
-  tail +3 "$tmpdepfile" | tr ' ' '
caac36
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
caac36
 ' | \
caac36
 ## Some versions of the HPUX 10.20 sed can't process this invocation
caac36
 ## correctly.  Breaking it into two sed invocations is a workaround.
caac36
@@ -324,35 +380,39 @@
caac36
 
caac36
 cpp)
caac36
   # Important note: in order to support this mode, a compiler *must*
caac36
-  # always write the proprocessed file to stdout, regardless of -o,
caac36
-  # because we must use -o when running libtool.
caac36
-  ( IFS=" "
caac36
-    case " $* " in
caac36
-    *" --mode=compile "*)
caac36
-      for arg
caac36
-      do # cycle over the arguments
caac36
-        case $arg in
caac36
-	"--mode=compile")
caac36
-	  # insert --quiet before "--mode=compile"
caac36
-	  set fnord "$@" --quiet
caac36
-	  shift # fnord
caac36
-	  ;;
caac36
-	esac
caac36
-	set fnord "$@" "$arg"
caac36
-	shift # fnord
caac36
-	shift # "$arg"
caac36
-      done
caac36
+  # always write the proprocessed file to stdout.
caac36
+  "$@" || exit $?
caac36
+
caac36
+  # Remove the call to Libtool.
caac36
+  if test "$libtool" = yes; then
caac36
+    while test $1 != '--mode=compile'; do
caac36
+      shift
caac36
+    done
caac36
+    shift
caac36
+  fi
caac36
+
caac36
+  # Remove `-o $object'.
caac36
+  IFS=" "
caac36
+  for arg
caac36
+  do
caac36
+    case $arg in
caac36
+    -o)
caac36
+      shift
caac36
+      ;;
caac36
+    $object)
caac36
+      shift
caac36
+      ;;
caac36
+    *)
caac36
+      set fnord "$@" "$arg"
caac36
+      shift # fnord
caac36
+      shift # $arg
caac36
       ;;
caac36
     esac
caac36
-    "$@" -E |
caac36
+  done
caac36
+
caac36
+  "$@" -E |
caac36
     sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
caac36
     sed '$ s: \\$::' > "$tmpdepfile"
caac36
-  ) &
caac36
-  proc=$!
caac36
-  "$@"
caac36
-  stat=$?
caac36
-  wait "$proc"
caac36
-  if test "$stat" != 0; then exit $stat; fi
caac36
   rm -f "$depfile"
caac36
   echo "$object : \\" > "$depfile"
caac36
   cat < "$tmpdepfile" >> "$depfile"
caac36
@@ -364,32 +424,25 @@
caac36
   # Important note: in order to support this mode, a compiler *must*
caac36
   # always write the proprocessed file to stdout, regardless of -o,
caac36
   # because we must use -o when running libtool.
caac36
-  ( IFS=" "
caac36
-    case " $* " in
caac36
-    *" --mode=compile "*)
caac36
-      for arg
caac36
-      do # cycle over the arguments
caac36
-        case $arg in
caac36
-	"--mode=compile")
caac36
-	  # insert --quiet before "--mode=compile"
caac36
-	  set fnord "$@" --quiet
caac36
-	  shift # fnord
caac36
-	  ;;
caac36
-	esac
caac36
+  "$@" || exit $?
caac36
+  IFS=" "
caac36
+  for arg
caac36
+  do
caac36
+    case "$arg" in
caac36
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
caac36
+	set fnord "$@"
caac36
+	shift
caac36
+	shift
caac36
+	;;
caac36
+    *)
caac36
 	set fnord "$@" "$arg"
caac36
-	shift # fnord
caac36
-	shift # "$arg"
caac36
-      done
caac36
-      ;;
caac36
+	shift
caac36
+	shift
caac36
+	;;
caac36
     esac
caac36
-    "$@" -E |
caac36
-    sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
caac36
-  ) &
caac36
-  proc=$!
caac36
-  "$@"
caac36
-  stat=$?
caac36
-  wait "$proc"
caac36
-  if test "$stat" != 0; then exit $stat; fi
caac36
+  done
caac36
+  "$@" -E |
caac36
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
caac36
   rm -f "$depfile"
caac36
   echo "$object : \\" > "$depfile"
caac36
   . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"