Diff for /gpl/axl/depcomp between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2011/06/08 07:09:12 version 1.1.1.2, 2012/02/17 12:50:02
Line 1 Line 1
 #! /bin/sh  #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects  # depcomp - compile a program generating dependencies as side-effects
   
scriptversion=2005-07-09.11scriptversion=2009-04-28.21; # UTC
   
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
 # Software Foundation, Inc.
   
 # This program is free software; you can redistribute it and/or modify  # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by  # it under the terms of the GNU General Public License as published by
Line 16  scriptversion=2005-07-09.11 Line 17  scriptversion=2005-07-09.11
 # GNU General Public License for more details.  # GNU General Public License for more details.
   
 # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software# along with this program.  If not, see <http://www.gnu.org/licenses/>.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
# 02110-1301, USA. 
   
 # As a special exception to the GNU General Public License, if you  # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a  # distribute this file as part of a program that contains a
Line 86  if test "$depmode" = dashXmstdout; then Line 85  if test "$depmode" = dashXmstdout; then
    depmode=dashmstdout     depmode=dashmstdout
 fi  fi
   
   cygpath_u="cygpath -u -f -"
   if test "$depmode" = msvcmsys; then
      # This is just like msvisualcpp but w/o cygpath translation.
      # Just convert the backslash-escaped backslashes to single forward
      # slashes to satisfy depend.m4
      cygpath_u="sed s,\\\\\\\\,/,g"
      depmode=msvisualcpp
   fi
   
 case "$depmode" in  case "$depmode" in
 gcc3)  gcc3)
 ## gcc 3 implements dependency tracking that does exactly what  ## gcc 3 implements dependency tracking that does exactly what
 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like  ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
 ## it if -MD -MP comes after the -MF stuff.  Hmm.  ## it if -MD -MP comes after the -MF stuff.  Hmm.
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"## Unfortunately, FreeBSD c89 acceptance of flags depends upon
 ## the command line argument order; so add the flags where they
 ## appear in depend2.am.  Note that the slowdown incurred here
 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
   for arg
   do
     case $arg in
     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
     *)  set fnord "$@" "$arg" ;;
     esac
     shift # fnord
     shift # $arg
   done
   "$@"
   stat=$?    stat=$?
   if test $stat -eq 0; then :    if test $stat -eq 0; then :
   else    else
Line 178  sgi) Line 199  sgi)
 ' < "$tmpdepfile" \  ' < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
     tr '      tr '
' ' ' >> $depfile' ' ' >> "$depfile"
    echo >> $depfile    echo >> "$depfile"
   
     # The second pass generates a dummy entry for each header file.      # The second pass generates a dummy entry for each header file.
     tr ' ' '      tr ' ' '
 ' < "$tmpdepfile" \  ' < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
   >> $depfile   >> "$depfile"
   else    else
     # The sourcefile does not contain any dependencies, so just      # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile      # store a dummy comment line, to avoid errors with the Makefile
Line 201  aix) Line 222  aix)
   # current directory.  Also, the AIX compiler puts `$object:' at the    # current directory.  Also, the AIX compiler puts `$object:' at the
   # start of each line; $object doesn't have directory information.    # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.    # Version 6 uses the directory in both cases.
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
  tmpdepfile="$stripped.u"  test "x$dir" = "x$object" && dir=
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   if test "$libtool" = yes; then    if test "$libtool" = yes; then
       tmpdepfile1=$dir$base.u
       tmpdepfile2=$base.u
       tmpdepfile3=$dir.libs/$base.u
     "$@" -Wc,-M      "$@" -Wc,-M
   else    else
       tmpdepfile1=$dir$base.u
       tmpdepfile2=$dir$base.u
       tmpdepfile3=$dir$base.u
     "$@" -M      "$@" -M
   fi    fi
   stat=$?    stat=$?
   
   if test -f "$tmpdepfile"; then :  
   else  
     stripped=`echo "$stripped" | sed 's,^.*/,,'`  
     tmpdepfile="$stripped.u"  
   fi  
   
   if test $stat -eq 0; then :    if test $stat -eq 0; then :
   else    else
    rm -f "$tmpdepfile"    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat      exit $stat
   fi    fi
   
     for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     do
       test -f "$tmpdepfile" && break
     done
   if test -f "$tmpdepfile"; then    if test -f "$tmpdepfile"; then
     outname="$stripped.o"  
     # Each line is of the form `foo.o: dependent.h'.      # Each line is of the form `foo.o: dependent.h'.
     # Do two passes, one to just change these to      # Do two passes, one to just change these to
     # `$object: dependent.h' and one to simply `dependent.h:'.      # `$object: dependent.h' and one to simply `dependent.h:'.
    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"    # That's a tab and a space in the [].
     sed -e 's,^.*\.[a-z]*:[         ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else    else
     # The sourcefile does not contain any dependencies, so just      # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile      # store a dummy comment line, to avoid errors with the Makefile
Line 276  icc) Line 302  icc)
   rm -f "$tmpdepfile"    rm -f "$tmpdepfile"
   ;;    ;;
   
   hp2)
     # The "hp" stanza above does not work with aCC (C++) and HP's ia64
     # compilers, which have integrated preprocessors.  The correct option
     # to use with these is +Maked; it writes dependencies to a file named
     # 'foo.d', which lands next to the object file, wherever that
     # happens to be.
     # Much of this is similar to the tru64 case; see comments there.
     dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
     test "x$dir" = "x$object" && dir=
     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
     if test "$libtool" = yes; then
       tmpdepfile1=$dir$base.d
       tmpdepfile2=$dir.libs/$base.d
       "$@" -Wc,+Maked
     else
       tmpdepfile1=$dir$base.d
       tmpdepfile2=$dir$base.d
       "$@" +Maked
     fi
     stat=$?
     if test $stat -eq 0; then :
     else
        rm -f "$tmpdepfile1" "$tmpdepfile2"
        exit $stat
     fi
   
     for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
     do
       test -f "$tmpdepfile" && break
     done
     if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
       # Add `dependent.h:' lines.
       sed -ne '2,${
                  s/^ *//
                  s/ \\*$//
                  s/$/:/
                  p
                }' "$tmpdepfile" >> "$depfile"
     else
       echo "#dummy" > "$depfile"
     fi
     rm -f "$tmpdepfile" "$tmpdepfile2"
     ;;
   
 tru64)  tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side     # The Tru64 compiler uses -MD to generate dependencies as a side
    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.     # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
Line 288  tru64) Line 359  tru64)
   
    if test "$libtool" = yes; then     if test "$libtool" = yes; then
       # With Tru64 cc, shared objects can also be used to make a        # With Tru64 cc, shared objects can also be used to make a
      # static library.  This mecanism is used in libtool 1.4 series to      # static library.  This mechanism is used in libtool 1.4 series to
       # handle both shared and static libraries in a single compilation.        # handle both shared and static libraries in a single compilation.
       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.        # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
       #        #
       # With libtool 1.5 this exception was removed, and libtool now        # With libtool 1.5 this exception was removed, and libtool now
       # generates 2 separate objects for the 2 libraries.  These two        # generates 2 separate objects for the 2 libraries.  These two
      # compilations output dependencies in in $dir.libs/$base.o.d and      # compilations output dependencies in $dir.libs/$base.o.d and
       # in $dir$base.o.d.  We have to check for both files, because        # in $dir$base.o.d.  We have to check for both files, because
       # one of the two compilations can be disabled.  We should prefer        # one of the two compilations can be disabled.  We should prefer
       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is        # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
Line 345  dashmstdout) Line 416  dashmstdout)
   
   # Remove the call to Libtool.    # Remove the call to Libtool.
   if test "$libtool" = yes; then    if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do    while test "X$1" != 'X--mode=compile'; do
       shift        shift
     done      done
     shift      shift
Line 396  makedepend) Line 467  makedepend)
   "$@" || exit $?    "$@" || exit $?
   # Remove any Libtool call    # Remove any Libtool call
   if test "$libtool" = yes; then    if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do    while test "X$1" != 'X--mode=compile'; do
       shift        shift
     done      done
     shift      shift
   fi    fi
   # X makedepend    # X makedepend
   shift    shift
  cleared=no  cleared=no eat=no
  for arg in "$@"; do  for arg
   do
     case $cleared in      case $cleared in
     no)      no)
       set ""; shift        set ""; shift
       cleared=yes ;;        cleared=yes ;;
     esac      esac
       if test $eat = yes; then
         eat=no
         continue
       fi
     case "$arg" in      case "$arg" in
     -D*|-I*)      -D*|-I*)
       set fnord "$@" "$arg"; shift ;;        set fnord "$@" "$arg"; shift ;;
     # Strip any option that makedepend may not understand.  Remove      # Strip any option that makedepend may not understand.  Remove
     # the object too, otherwise makedepend will parse it as a source file.      # the object too, otherwise makedepend will parse it as a source file.
       -arch)
         eat=yes ;;
     -*|$object)      -*|$object)
       ;;        ;;
     *)      *)
       set fnord "$@" "$arg"; shift ;;        set fnord "$@" "$arg"; shift ;;
     esac      esac
   done    done
  obj_suffix="`echo $object | sed 's/^.*\././'`"  obj_suffix=`echo "$object" | sed 's/^.*\././'`
   touch "$tmpdepfile"    touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"    ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"    rm -f "$depfile"
Line 441  cpp) Line 519  cpp)
   
   # Remove the call to Libtool.    # Remove the call to Libtool.
   if test "$libtool" = yes; then    if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do    while test "X$1" != 'X--mode=compile'; do
       shift        shift
     done      done
     shift      shift
Line 479  cpp) Line 557  cpp)
   
 msvisualcpp)  msvisualcpp)
   # Important note: in order to support this mode, a compiler *must*    # Important note: in order to support this mode, a compiler *must*
  # always write the preprocessed file to stdout, regardless of -o,  # always write the preprocessed file to stdout.
  # because we must use -o when running libtool. 
   "$@" || exit $?    "$@" || exit $?
   
     # Remove the call to Libtool.
     if test "$libtool" = yes; then
       while test "X$1" != 'X--mode=compile'; do
         shift
       done
       shift
     fi
   
   IFS=" "    IFS=" "
   for arg    for arg
   do    do
     case "$arg" in      case "$arg" in
       -o)
         shift
         ;;
       $object)
         shift
         ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")      "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
         set fnord "$@"          set fnord "$@"
         shift          shift
Line 498  msvisualcpp) Line 590  msvisualcpp)
         ;;          ;;
     esac      esac
   done    done
  "$@" -E |  "$@" -E 2>/dev/null |
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"    rm -f "$depfile"
   echo "$object : \\" > "$depfile"    echo "$object : \\" > "$depfile"
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::        \1 \\:p' >> "$depfile"  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::        \1 \\:p' >> "$depfile"
   echo "        " >> "$depfile"    echo "        " >> "$depfile"
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"    rm -f "$tmpdepfile"
   ;;    ;;
   
   msvcmsys)
     # This case exists only to let depend.m4 do its work.  It works by
     # looking at the text of this script.  This case will never be run,
     # since it is checked for above.
     exit 1
     ;;
   
 none)  none)
   exec "$@"    exec "$@"
   ;;    ;;
Line 526  exit 0 Line 625  exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)  # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="  # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"# time-stamp-time-zone: "UTC"
 # time-stamp-end: "; # UTC"
 # End:  # End:

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>