Changeset 883 for trunk/depcomp

Show
Ignore:
Timestamp:
07/15/08 11:55:18 (4 months ago)
Author:
michael
Message:

'autoreconf -f -i' run & config.rpath added

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/depcomp

    r665 r883  
    22# depcomp - compile a program generating dependencies as side-effects 
    33 
    4 scriptversion=2005-07-09.11 
    5  
    6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. 
     4scriptversion=2007-03-29.01 
     5 
     6# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software 
     7# Foundation, Inc. 
    78 
    89# This program is free software; you can redistribute it and/or modify 
     
    9293## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like 
    9394## it if -MD -MP comes after the -MF stuff.  Hmm. 
    94   "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" 
     95## Unfortunately, FreeBSD c89 acceptance of flags depends upon 
     96## the command line argument order; so add the flags where they 
     97## appear in depend2.am.  Note that the slowdown incurred here 
     98## affects only configure: in makefiles, %FASTDEP% shortcuts this. 
     99  for arg 
     100  do 
     101    case $arg in 
     102    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; 
     103    *)  set fnord "$@" "$arg" ;; 
     104    esac 
     105    shift # fnord 
     106    shift # $arg 
     107  done 
     108  "$@" 
    95109  stat=$? 
    96110  if test $stat -eq 0; then : 
     
    202216  # start of each line; $object doesn't have directory information. 
    203217  # Version 6 uses the directory in both cases. 
    204   stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` 
    205   tmpdepfile="$stripped.u" 
     218  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 
     219  test "x$dir" = "x$object" && dir= 
     220  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 
    206221  if test "$libtool" = yes; then 
     222    tmpdepfile1=$dir$base.u 
     223    tmpdepfile2=$base.u 
     224    tmpdepfile3=$dir.libs/$base.u 
    207225    "$@" -Wc,-M 
    208226  else 
     227    tmpdepfile1=$dir$base.u 
     228    tmpdepfile2=$dir$base.u 
     229    tmpdepfile3=$dir$base.u 
    209230    "$@" -M 
    210231  fi 
    211232  stat=$? 
    212233 
    213   if test -f "$tmpdepfile"; then : 
    214   else 
    215     stripped=`echo "$stripped" | sed 's,^.*/,,'` 
    216     tmpdepfile="$stripped.u" 
    217   fi 
    218  
    219234  if test $stat -eq 0; then : 
    220235  else 
    221     rm -f "$tmpdepfile" 
     236    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 
    222237    exit $stat 
    223238  fi 
    224239 
     240  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 
     241  do 
     242    test -f "$tmpdepfile" && break 
     243  done 
    225244  if test -f "$tmpdepfile"; then 
    226     outname="$stripped.o" 
    227245    # Each line is of the form `foo.o: dependent.h'. 
    228246    # Do two passes, one to just change these to 
    229247    # `$object: dependent.h' and one to simply `dependent.h:'. 
    230     sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" 
    231     sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" 
     248    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 
     249    # That's a tab and a space in the []. 
     250    sed -e 's,^.*\.[a-z]*:[  ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 
    232251  else 
    233252    # The sourcefile does not contain any dependencies, so just 
     
    277296  ;; 
    278297 
     298hp2) 
     299  # The "hp" stanza above does not work with aCC (C++) and HP's ia64 
     300  # compilers, which have integrated preprocessors.  The correct option 
     301  # to use with these is +Maked; it writes dependencies to a file named 
     302  # 'foo.d', which lands next to the object file, wherever that 
     303  # happens to be. 
     304  # Much of this is similar to the tru64 case; see comments there. 
     305  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 
     306  test "x$dir" = "x$object" && dir= 
     307  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 
     308  if test "$libtool" = yes; then 
     309    tmpdepfile1=$dir$base.d 
     310    tmpdepfile2=$dir.libs/$base.d 
     311    "$@" -Wc,+Maked 
     312  else 
     313    tmpdepfile1=$dir$base.d 
     314    tmpdepfile2=$dir$base.d 
     315    "$@" +Maked 
     316  fi 
     317  stat=$? 
     318  if test $stat -eq 0; then : 
     319  else 
     320     rm -f "$tmpdepfile1" "$tmpdepfile2" 
     321     exit $stat 
     322  fi 
     323 
     324  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" 
     325  do 
     326    test -f "$tmpdepfile" && break 
     327  done 
     328  if test -f "$tmpdepfile"; then 
     329    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" 
     330    # Add `dependent.h:' lines. 
     331    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" 
     332  else 
     333    echo "#dummy" > "$depfile" 
     334  fi 
     335  rm -f "$tmpdepfile" "$tmpdepfile2" 
     336  ;; 
     337 
    279338tru64) 
    280339   # The Tru64 compiler uses -MD to generate dependencies as a side 
     
    289348   if test "$libtool" = yes; then 
    290349      # With Tru64 cc, shared objects can also be used to make a 
    291       # static library.  This mecanism is used in libtool 1.4 series to 
     350      # static library.  This mechanism is used in libtool 1.4 series to 
    292351      # handle both shared and static libraries in a single compilation. 
    293352      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 
     
    295354      # With libtool 1.5 this exception was removed, and libtool now 
    296355      # generates 2 separate objects for the 2 libraries.  These two 
    297       # compilations output dependencies in in $dir.libs/$base.o.d and 
     356      # compilations output dependencies in $dir.libs/$base.o.d and 
    298357      # in $dir$base.o.d.  We have to check for both files, because 
    299358      # one of the two compilations can be disabled.  We should prefer