~ubuntu-branches/ubuntu/trusty/sidplay-libs/trusty

« back to all changes in this revision

Viewing changes to resid/depcomp

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2012-02-06 23:39:26 UTC
  • mfrom: (6.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20120206233926-m05wzpz6kpqgm9dq
Tags: 2.1.1-12
* Use '3.0 (quilt)' source format, separate previous fixes to individual
  patches.
* Re-create autotools files (closes: #535938).
* Remove *.la files (closes: #657796).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh
 
2
 
2
3
# depcomp - compile a program generating dependencies as side-effects
3
 
 
4
 
scriptversion=2009-04-28.21; # UTC
5
 
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7
 
# Software Foundation, Inc.
 
4
# Copyright 1999, 2000 Free Software Foundation, Inc.
8
5
 
9
6
# This program is free software; you can redistribute it and/or modify
10
7
# it under the terms of the GNU General Public License as published by
17
14
# GNU General Public License for more details.
18
15
 
19
16
# You should have received a copy of the GNU General Public License
20
 
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
# 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.
21
20
 
22
21
# As a special exception to the GNU General Public License, if you
23
22
# distribute this file as part of a program that contains a
26
25
 
27
26
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28
27
 
29
 
case $1 in
30
 
  '')
31
 
     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
32
 
     exit 1;
33
 
     ;;
34
 
  -h | --h*)
35
 
    cat <<\EOF
36
 
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
37
 
 
38
 
Run PROGRAMS ARGS to compile a file, generating dependencies
39
 
as side-effects.
40
 
 
41
 
Environment variables:
42
 
  depmode     Dependency tracking mode.
43
 
  source      Source file read by `PROGRAMS ARGS'.
44
 
  object      Object file output by `PROGRAMS ARGS'.
45
 
  DEPDIR      directory where to store dependencies.
46
 
  depfile     Dependency file to output.
47
 
  tmpdepfile  Temporary file to use when outputing dependencies.
48
 
  libtool     Whether libtool is used (yes/no).
49
 
 
50
 
Report bugs to <bug-automake@gnu.org>.
51
 
EOF
52
 
    exit $?
53
 
    ;;
54
 
  -v | --v*)
55
 
    echo "depcomp $scriptversion"
56
 
    exit $?
57
 
    ;;
58
 
esac
59
 
 
60
28
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61
29
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
62
30
  exit 1
63
31
fi
64
 
 
65
 
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
66
 
depfile=${depfile-`echo "$object" |
67
 
  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
 
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
 
68
44
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69
45
 
70
46
rm -f "$tmpdepfile"
85
61
   depmode=dashmstdout
86
62
fi
87
63
 
88
 
cygpath_u="cygpath -u -f -"
89
 
if test "$depmode" = msvcmsys; then
90
 
   # This is just like msvisualcpp but w/o cygpath translation.
91
 
   # Just convert the backslash-escaped backslashes to single forward
92
 
   # slashes to satisfy depend.m4
93
 
   cygpath_u="sed s,\\\\\\\\,/,g"
94
 
   depmode=msvisualcpp
95
 
fi
96
 
 
97
64
case "$depmode" in
98
65
gcc3)
99
66
## gcc 3 implements dependency tracking that does exactly what
100
67
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
101
68
## it if -MD -MP comes after the -MF stuff.  Hmm.
102
 
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
103
 
## the command line argument order; so add the flags where they
104
 
## appear in depend2.am.  Note that the slowdown incurred here
105
 
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
106
 
  for arg
107
 
  do
108
 
    case $arg in
109
 
    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
110
 
    *)  set fnord "$@" "$arg" ;;
111
 
    esac
112
 
    shift # fnord
113
 
    shift # $arg
114
 
  done
115
 
  "$@"
 
69
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
116
70
  stat=$?
117
71
  if test $stat -eq 0; then :
118
72
  else
199
153
' < "$tmpdepfile" \
200
154
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
201
155
    tr '
202
 
' ' ' >> "$depfile"
203
 
    echo >> "$depfile"
 
156
' ' ' >> $depfile
 
157
    echo >> $depfile
204
158
 
205
159
    # The second pass generates a dummy entry for each header file.
206
160
    tr ' ' '
207
161
' < "$tmpdepfile" \
208
162
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
209
 
   >> "$depfile"
 
163
   >> $depfile
210
164
  else
211
165
    # The sourcefile does not contain any dependencies, so just
212
166
    # store a dummy comment line, to avoid errors with the Makefile
218
172
 
219
173
aix)
220
174
  # The C for AIX Compiler uses -M and outputs the dependencies
221
 
  # in a .u file.  In older versions, this file always lives in the
222
 
  # current directory.  Also, the AIX compiler puts `$object:' at the
223
 
  # start of each line; $object doesn't have directory information.
224
 
  # Version 6 uses the directory in both cases.
225
 
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
226
 
  test "x$dir" = "x$object" && dir=
227
 
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 
175
  # in a .u file.  This file always lives in the current directory.
 
176
  # Also, the AIX compiler puts `$object:' at the start of each line;
 
177
  # $object doesn't have directory information.
 
178
  stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
 
179
  tmpdepfile="$stripped.u"
 
180
  outname="$stripped.o"
228
181
  if test "$libtool" = yes; then
229
 
    tmpdepfile1=$dir$base.u
230
 
    tmpdepfile2=$base.u
231
 
    tmpdepfile3=$dir.libs/$base.u
232
182
    "$@" -Wc,-M
233
183
  else
234
 
    tmpdepfile1=$dir$base.u
235
 
    tmpdepfile2=$dir$base.u
236
 
    tmpdepfile3=$dir$base.u
237
184
    "$@" -M
238
185
  fi
 
186
 
239
187
  stat=$?
240
 
 
241
188
  if test $stat -eq 0; then :
242
189
  else
243
 
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 
190
    rm -f "$tmpdepfile"
244
191
    exit $stat
245
192
  fi
246
193
 
247
 
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248
 
  do
249
 
    test -f "$tmpdepfile" && break
250
 
  done
251
194
  if test -f "$tmpdepfile"; then
252
195
    # Each line is of the form `foo.o: dependent.h'.
253
196
    # Do two passes, one to just change these to
254
197
    # `$object: dependent.h' and one to simply `dependent.h:'.
255
 
    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
256
 
    # That's a tab and a space in the [].
257
 
    sed -e 's,^.*\.[a-z]*:[      ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
 
198
    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
 
199
    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
258
200
  else
259
201
    # The sourcefile does not contain any dependencies, so just
260
202
    # store a dummy comment line, to avoid errors with the Makefile
265
207
  ;;
266
208
 
267
209
icc)
268
 
  # Intel's C compiler understands `-MD -MF file'.  However on
 
210
  # Must come before tru64.
 
211
 
 
212
  # Intel's C compiler understands `-MD -MF file'.  However
269
213
  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
270
 
  # ICC 7.0 will fill foo.d with something like
 
214
  # will fill foo.d with something like
271
215
  #    foo.o: sub/foo.c
272
216
  #    foo.o: sub/foo.h
273
217
  # which is wrong.  We want:
275
219
  #    sub/foo.o: sub/foo.h
276
220
  #    sub/foo.c:
277
221
  #    sub/foo.h:
278
 
  # ICC 7.1 will output
279
 
  #    foo.o: sub/foo.c sub/foo.h
280
 
  # and will wrap long lines using \ :
281
 
  #    foo.o: sub/foo.c ... \
282
 
  #     sub/foo.h ... \
283
 
  #     ...
284
222
 
285
223
  "$@" -MD -MF "$tmpdepfile"
286
224
  stat=$?
290
228
    exit $stat
291
229
  fi
292
230
  rm -f "$depfile"
293
 
  # Each line is of the form `foo.o: dependent.h',
294
 
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
 
231
  # Each line is of the form `foo.o: dependent.h'.
295
232
  # Do two passes, one to just change these to
296
233
  # `$object: dependent.h' and one to simply `dependent.h:'.
297
 
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
298
 
  # Some versions of the HPUX 10.20 sed can't process this invocation
299
 
  # correctly.  Breaking it into two sed invocations is a workaround.
300
 
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
301
 
    sed -e 's/$/ :/' >> "$depfile"
 
234
  sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
 
235
  sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
302
236
  rm -f "$tmpdepfile"
303
237
  ;;
304
238
 
305
 
hp2)
306
 
  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
307
 
  # compilers, which have integrated preprocessors.  The correct option
308
 
  # to use with these is +Maked; it writes dependencies to a file named
309
 
  # 'foo.d', which lands next to the object file, wherever that
310
 
  # happens to be.
311
 
  # Much of this is similar to the tru64 case; see comments there.
312
 
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
313
 
  test "x$dir" = "x$object" && dir=
314
 
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
315
 
  if test "$libtool" = yes; then
316
 
    tmpdepfile1=$dir$base.d
317
 
    tmpdepfile2=$dir.libs/$base.d
318
 
    "$@" -Wc,+Maked
319
 
  else
320
 
    tmpdepfile1=$dir$base.d
321
 
    tmpdepfile2=$dir$base.d
322
 
    "$@" +Maked
323
 
  fi
324
 
  stat=$?
325
 
  if test $stat -eq 0; then :
326
 
  else
327
 
     rm -f "$tmpdepfile1" "$tmpdepfile2"
328
 
     exit $stat
329
 
  fi
330
 
 
331
 
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
332
 
  do
333
 
    test -f "$tmpdepfile" && break
334
 
  done
335
 
  if test -f "$tmpdepfile"; then
336
 
    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
337
 
    # Add `dependent.h:' lines.
338
 
    sed -ne '2,${
339
 
               s/^ *//
340
 
               s/ \\*$//
341
 
               s/$/:/
342
 
               p
343
 
             }' "$tmpdepfile" >> "$depfile"
344
 
  else
345
 
    echo "#dummy" > "$depfile"
346
 
  fi
347
 
  rm -f "$tmpdepfile" "$tmpdepfile2"
348
 
  ;;
349
 
 
350
239
tru64)
351
240
   # The Tru64 compiler uses -MD to generate dependencies as a side
352
241
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
358
247
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
359
248
 
360
249
   if test "$libtool" = yes; then
361
 
      # With Tru64 cc, shared objects can also be used to make a
362
 
      # static library.  This mechanism is used in libtool 1.4 series to
363
 
      # handle both shared and static libraries in a single compilation.
364
 
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
365
 
      #
366
 
      # With libtool 1.5 this exception was removed, and libtool now
367
 
      # generates 2 separate objects for the 2 libraries.  These two
368
 
      # compilations output dependencies in $dir.libs/$base.o.d and
369
 
      # in $dir$base.o.d.  We have to check for both files, because
370
 
      # one of the two compilations can be disabled.  We should prefer
371
 
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
372
 
      # automatically cleaned when .libs/ is deleted, while ignoring
373
 
      # the former would cause a distcleancheck panic.
374
 
      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
375
 
      tmpdepfile2=$dir$base.o.d          # libtool 1.5
376
 
      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
377
 
      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
 
250
      tmpdepfile1="$dir.libs/$base.lo.d"
 
251
      tmpdepfile2="$dir.libs/$base.d"
378
252
      "$@" -Wc,-MD
379
253
   else
380
 
      tmpdepfile1=$dir$base.o.d
381
 
      tmpdepfile2=$dir$base.d
382
 
      tmpdepfile3=$dir$base.d
383
 
      tmpdepfile4=$dir$base.d
 
254
      tmpdepfile1="$dir$base.o.d"
 
255
      tmpdepfile2="$dir$base.d"
384
256
      "$@" -MD
385
257
   fi
386
258
 
387
259
   stat=$?
388
260
   if test $stat -eq 0; then :
389
261
   else
390
 
      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 
262
      rm -f "$tmpdepfile1" "$tmpdepfile2"
391
263
      exit $stat
392
264
   fi
393
265
 
394
 
   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
395
 
   do
396
 
     test -f "$tmpdepfile" && break
397
 
   done
 
266
   if test -f "$tmpdepfile1"; then
 
267
      tmpdepfile="$tmpdepfile1"
 
268
   else
 
269
      tmpdepfile="$tmpdepfile2"
 
270
   fi
398
271
   if test -f "$tmpdepfile"; then
399
272
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
400
 
      # That's a tab and a space in the [].
401
 
      sed -e 's,^.*\.[a-z]*:[    ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
 
273
      # That's a space and a tab in the [].
 
274
      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
402
275
   else
403
276
      echo "#dummy" > "$depfile"
404
277
   fi
411
284
 
412
285
dashmstdout)
413
286
  # Important note: in order to support this mode, a compiler *must*
414
 
  # always write the preprocessed file to stdout, regardless of -o.
 
287
  # always write the proprocessed file to stdout, regardless of -o.
415
288
  "$@" || exit $?
416
289
 
417
290
  # Remove the call to Libtool.
418
291
  if test "$libtool" = yes; then
419
 
    while test "X$1" != 'X--mode=compile'; do
 
292
    while test $1 != '--mode=compile'; do
420
293
      shift
421
294
    done
422
295
    shift
467
340
  "$@" || exit $?
468
341
  # Remove any Libtool call
469
342
  if test "$libtool" = yes; then
470
 
    while test "X$1" != 'X--mode=compile'; do
 
343
    while test $1 != '--mode=compile'; do
471
344
      shift
472
345
    done
473
346
    shift
474
347
  fi
475
348
  # X makedepend
476
349
  shift
477
 
  cleared=no eat=no
478
 
  for arg
479
 
  do
 
350
  cleared=no
 
351
  for arg in "$@"; do
480
352
    case $cleared in
481
353
    no)
482
354
      set ""; shift
483
355
      cleared=yes ;;
484
356
    esac
485
 
    if test $eat = yes; then
486
 
      eat=no
487
 
      continue
488
 
    fi
489
357
    case "$arg" in
490
358
    -D*|-I*)
491
359
      set fnord "$@" "$arg"; shift ;;
492
360
    # Strip any option that makedepend may not understand.  Remove
493
361
    # the object too, otherwise makedepend will parse it as a source file.
494
 
    -arch)
495
 
      eat=yes ;;
496
362
    -*|$object)
497
363
      ;;
498
364
    *)
499
365
      set fnord "$@" "$arg"; shift ;;
500
366
    esac
501
367
  done
502
 
  obj_suffix=`echo "$object" | sed 's/^.*\././'`
 
368
  obj_suffix="`echo $object | sed 's/^.*\././'`"
503
369
  touch "$tmpdepfile"
504
370
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
505
371
  rm -f "$depfile"
514
380
 
515
381
cpp)
516
382
  # Important note: in order to support this mode, a compiler *must*
517
 
  # always write the preprocessed file to stdout.
 
383
  # always write the proprocessed file to stdout.
518
384
  "$@" || exit $?
519
385
 
520
386
  # Remove the call to Libtool.
521
387
  if test "$libtool" = yes; then
522
 
    while test "X$1" != 'X--mode=compile'; do
 
388
    while test $1 != '--mode=compile'; do
523
389
      shift
524
390
    done
525
391
    shift
545
411
  done
546
412
 
547
413
  "$@" -E |
548
 
    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
549
 
       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
 
414
    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
550
415
    sed '$ s: \\$::' > "$tmpdepfile"
551
416
  rm -f "$depfile"
552
417
  echo "$object : \\" > "$depfile"
557
422
 
558
423
msvisualcpp)
559
424
  # Important note: in order to support this mode, a compiler *must*
560
 
  # always write the preprocessed file to stdout.
 
425
  # always write the proprocessed file to stdout, regardless of -o,
 
426
  # because we must use -o when running libtool.
561
427
  "$@" || exit $?
562
 
 
563
 
  # Remove the call to Libtool.
564
 
  if test "$libtool" = yes; then
565
 
    while test "X$1" != 'X--mode=compile'; do
566
 
      shift
567
 
    done
568
 
    shift
569
 
  fi
570
 
 
571
428
  IFS=" "
572
429
  for arg
573
430
  do
574
431
    case "$arg" in
575
 
    -o)
576
 
      shift
577
 
      ;;
578
 
    $object)
579
 
      shift
580
 
      ;;
581
432
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
582
433
        set fnord "$@"
583
434
        shift
590
441
        ;;
591
442
    esac
592
443
  done
593
 
  "$@" -E 2>/dev/null |
594
 
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
 
444
  "$@" -E |
 
445
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
595
446
  rm -f "$depfile"
596
447
  echo "$object : \\" > "$depfile"
597
 
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::      \1 \\:p' >> "$depfile"
 
448
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::    \1 \\:p' >> "$depfile"
598
449
  echo "        " >> "$depfile"
599
 
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
 
450
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
600
451
  rm -f "$tmpdepfile"
601
452
  ;;
602
453
 
603
 
msvcmsys)
604
 
  # This case exists only to let depend.m4 do its work.  It works by
605
 
  # looking at the text of this script.  This case will never be run,
606
 
  # since it is checked for above.
607
 
  exit 1
608
 
  ;;
609
 
 
610
454
none)
611
455
  exec "$@"
612
456
  ;;
618
462
esac
619
463
 
620
464
exit 0
621
 
 
622
 
# Local Variables:
623
 
# mode: shell-script
624
 
# sh-indentation: 2
625
 
# eval: (add-hook 'write-file-hooks 'time-stamp)
626
 
# time-stamp-start: "scriptversion="
627
 
# time-stamp-format: "%:y-%02m-%02d.%02H"
628
 
# time-stamp-time-zone: "UTC"
629
 
# time-stamp-end: "; # UTC"
630
 
# End: