~ubuntu-branches/ubuntu/lucid/atk1.0/lucid

« back to all changes in this revision

Viewing changes to depcomp

  • Committer: Bazaar Package Importer
  • Author(s): Fernando Ribeiro
  • Date: 2007-07-30 16:27:32 UTC
  • mfrom: (1.2.14 upstream)
  • Revision ID: james.westby@ubuntu.com-20070730162732-31bivl3v67orco16
Tags: 1.19.6-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh
2
2
# depcomp - compile a program generating dependencies as side-effects
3
3
 
4
 
scriptversion=2006-10-15.18
 
4
scriptversion=2005-07-09.11
5
5
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
7
 
# Foundation, Inc.
 
6
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
8
7
 
9
8
# This program is free software; you can redistribute it and/or modify
10
9
# it under the terms of the GNU General Public License as published by
92
91
## gcc 3 implements dependency tracking that does exactly what
93
92
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
94
93
## it if -MD -MP comes after the -MF stuff.  Hmm.
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
 
  "$@"
 
94
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
109
95
  stat=$?
110
96
  if test $stat -eq 0; then :
111
97
  else
290
276
  rm -f "$tmpdepfile"
291
277
  ;;
292
278
 
293
 
hp2)
294
 
  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
295
 
  # compilers, which have integrated preprocessors.  The correct option
296
 
  # to use with these is +Maked; it writes dependencies to a file named
297
 
  # 'foo.d', which lands next to the object file, wherever that
298
 
  # happens to be.
299
 
  # Much of this is similar to the tru64 case; see comments there.
300
 
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
301
 
  test "x$dir" = "x$object" && dir=
302
 
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
303
 
  if test "$libtool" = yes; then
304
 
    tmpdepfile1=$dir$base.d
305
 
    tmpdepfile2=$dir.libs/$base.d
306
 
    "$@" -Wc,+Maked
307
 
  else
308
 
    tmpdepfile1=$dir$base.d
309
 
    tmpdepfile2=$dir$base.d
310
 
    "$@" +Maked
311
 
  fi
312
 
  stat=$?
313
 
  if test $stat -eq 0; then :
314
 
  else
315
 
     rm -f "$tmpdepfile1" "$tmpdepfile2"
316
 
     exit $stat
317
 
  fi
318
 
 
319
 
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
320
 
  do
321
 
    test -f "$tmpdepfile" && break
322
 
  done
323
 
  if test -f "$tmpdepfile"; then
324
 
    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
325
 
    # Add `dependent.h:' lines.
326
 
    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
327
 
  else
328
 
    echo "#dummy" > "$depfile"
329
 
  fi
330
 
  rm -f "$tmpdepfile" "$tmpdepfile2"
331
 
  ;;
332
 
 
333
279
tru64)
334
280
   # The Tru64 compiler uses -MD to generate dependencies as a side
335
281
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
342
288
 
343
289
   if test "$libtool" = yes; then
344
290
      # With Tru64 cc, shared objects can also be used to make a
345
 
      # static library.  This mechanism is used in libtool 1.4 series to
 
291
      # static library.  This mecanism is used in libtool 1.4 series to
346
292
      # handle both shared and static libraries in a single compilation.
347
293
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
348
294
      #
349
295
      # With libtool 1.5 this exception was removed, and libtool now
350
296
      # generates 2 separate objects for the 2 libraries.  These two
351
 
      # compilations output dependencies in $dir.libs/$base.o.d and
 
297
      # compilations output dependencies in in $dir.libs/$base.o.d and
352
298
      # in $dir$base.o.d.  We have to check for both files, because
353
299
      # one of the two compilations can be disabled.  We should prefer
354
300
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is