~ubuntu-branches/ubuntu/jaunty/gdesklets/jaunty-updates

« back to all changes in this revision

Viewing changes to depcomp

  • Committer: Bazaar Package Importer
  • Author(s): Deng Xiyue
  • Date: 2008-09-02 22:00:17 UTC
  • mfrom: (2.1.18 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080902220017-m66bj19l0ll8x7yh
Tags: 0.36-5
* Redo 40_dont_update_mime.diff to use a more compact syntax by 
  Loïc Minier's suggestion.  Thanks lool.
* Regenerate 70_relibtoolize.diff accordingly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh
2
 
 
3
2
# depcomp - compile a program generating dependencies as side-effects
4
 
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
 
3
 
 
4
scriptversion=2005-07-09.11
 
5
 
 
6
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
5
7
 
6
8
# This program is free software; you can redistribute it and/or modify
7
9
# it under the terms of the GNU General Public License as published by
15
17
 
16
18
# You should have received a copy of the GNU General Public License
17
19
# along with this program; if not, write to the Free Software
18
 
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
 
# 02111-1307, USA.
 
20
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
21
# 02110-1301, USA.
20
22
 
21
23
# As a special exception to the GNU General Public License, if you
22
24
# distribute this file as part of a program that contains a
25
27
 
26
28
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
27
29
 
 
30
case $1 in
 
31
  '')
 
32
     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
 
33
     exit 1;
 
34
     ;;
 
35
  -h | --h*)
 
36
    cat <<\EOF
 
37
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
 
38
 
 
39
Run PROGRAMS ARGS to compile a file, generating dependencies
 
40
as side-effects.
 
41
 
 
42
Environment variables:
 
43
  depmode     Dependency tracking mode.
 
44
  source      Source file read by `PROGRAMS ARGS'.
 
45
  object      Object file output by `PROGRAMS ARGS'.
 
46
  DEPDIR      directory where to store dependencies.
 
47
  depfile     Dependency file to output.
 
48
  tmpdepfile  Temporary file to use when outputing dependencies.
 
49
  libtool     Whether libtool is used (yes/no).
 
50
 
 
51
Report bugs to <bug-automake@gnu.org>.
 
52
EOF
 
53
    exit $?
 
54
    ;;
 
55
  -v | --v*)
 
56
    echo "depcomp $scriptversion"
 
57
    exit $?
 
58
    ;;
 
59
esac
 
60
 
28
61
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
29
62
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
30
63
  exit 1
31
64
fi
32
 
# `libtool' can also be set to `yes' or `no'.
33
 
 
34
 
if test -z "$depfile"; then
35
 
   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
36
 
   dir=`echo "$object" | sed 's,/.*$,/,'`
37
 
   if test "$dir" = "$object"; then
38
 
      dir=
39
 
   fi
40
 
   # FIXME: should be _deps on DOS.
41
 
   depfile="$dir.deps/$base"
42
 
fi
43
 
 
 
65
 
 
66
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
 
67
depfile=${depfile-`echo "$object" |
 
68
  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
44
69
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
45
70
 
46
71
rm -f "$tmpdepfile"
262
287
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
263
288
 
264
289
   if test "$libtool" = yes; then
265
 
      tmpdepfile1="$dir.libs/$base.lo.d"
266
 
      tmpdepfile2="$dir.libs/$base.d"
 
290
      # 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
 
292
      # handle both shared and static libraries in a single compilation.
 
293
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
 
294
      #
 
295
      # With libtool 1.5 this exception was removed, and libtool now
 
296
      # generates 2 separate objects for the 2 libraries.  These two
 
297
      # compilations output dependencies in in $dir.libs/$base.o.d and
 
298
      # in $dir$base.o.d.  We have to check for both files, because
 
299
      # one of the two compilations can be disabled.  We should prefer
 
300
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
 
301
      # automatically cleaned when .libs/ is deleted, while ignoring
 
302
      # the former would cause a distcleancheck panic.
 
303
      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
 
304
      tmpdepfile2=$dir$base.o.d          # libtool 1.5
 
305
      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
 
306
      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
267
307
      "$@" -Wc,-MD
268
308
   else
269
 
      tmpdepfile1="$dir$base.o.d"
270
 
      tmpdepfile2="$dir$base.d"
 
309
      tmpdepfile1=$dir$base.o.d
 
310
      tmpdepfile2=$dir$base.d
 
311
      tmpdepfile3=$dir$base.d
 
312
      tmpdepfile4=$dir$base.d
271
313
      "$@" -MD
272
314
   fi
273
315
 
274
316
   stat=$?
275
317
   if test $stat -eq 0; then :
276
318
   else
277
 
      rm -f "$tmpdepfile1" "$tmpdepfile2"
 
319
      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
278
320
      exit $stat
279
321
   fi
280
322
 
281
 
   if test -f "$tmpdepfile1"; then
282
 
      tmpdepfile="$tmpdepfile1"
283
 
   else
284
 
      tmpdepfile="$tmpdepfile2"
285
 
   fi
 
323
   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 
324
   do
 
325
     test -f "$tmpdepfile" && break
 
326
   done
286
327
   if test -f "$tmpdepfile"; then
287
328
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
288
329
      # That's a tab and a space in the [].
426
467
  done
427
468
 
428
469
  "$@" -E |
429
 
    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
 
470
    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 
471
       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
430
472
    sed '$ s: \\$::' > "$tmpdepfile"
431
473
  rm -f "$depfile"
432
474
  echo "$object : \\" > "$depfile"
477
519
esac
478
520
 
479
521
exit 0
 
522
 
 
523
# Local Variables:
 
524
# mode: shell-script
 
525
# sh-indentation: 2
 
526
# eval: (add-hook 'write-file-hooks 'time-stamp)
 
527
# time-stamp-start: "scriptversion="
 
528
# time-stamp-format: "%:y-%02m-%02d.%02H"
 
529
# time-stamp-end: "$"
 
530
# End: