~ubuntu-branches/ubuntu/natty/libxi/natty-201011191114

« back to all changes in this revision

Viewing changes to depcomp

  • Committer: Bazaar Package Importer
  • Author(s): Julien Cristau
  • Date: 2009-11-21 18:39:28 UTC
  • mfrom: (1.1.10 upstream) (0.1.6 experimental)
  • Revision ID: james.westby@ubuntu.com-20091121183928-ek2jwqx3rmhv3zjz
Tags: 2:1.3-1
* Bump Standards-Version to 3.8.3.
* Add build-deps on xmlto and asciidoc to build the manpages.
* 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=2009-04-28.21; # UTC
5
5
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
7
 
# Foundation, Inc.
 
6
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
 
7
# Software Foundation, Inc.
8
8
 
9
9
# This program is free software; you can redistribute it and/or modify
10
10
# it under the terms of the GNU General Public License as published by
17
17
# GNU General Public License for more details.
18
18
 
19
19
# You should have received a copy of the GNU General Public License
20
 
# along with this program; if not, write to the Free Software
21
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22
 
# 02110-1301, USA.
 
20
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
23
21
 
24
22
# As a special exception to the GNU General Public License, if you
25
23
# distribute this file as part of a program that contains a
87
85
   depmode=dashmstdout
88
86
fi
89
87
 
 
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
 
90
97
case "$depmode" in
91
98
gcc3)
92
99
## gcc 3 implements dependency tracking that does exactly what
192
199
' < "$tmpdepfile" \
193
200
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
194
201
    tr '
195
 
' ' ' >> $depfile
196
 
    echo >> $depfile
 
202
' ' ' >> "$depfile"
 
203
    echo >> "$depfile"
197
204
 
198
205
    # The second pass generates a dummy entry for each header file.
199
206
    tr ' ' '
200
207
' < "$tmpdepfile" \
201
208
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
202
 
   >> $depfile
 
209
   >> "$depfile"
203
210
  else
204
211
    # The sourcefile does not contain any dependencies, so just
205
212
    # store a dummy comment line, to avoid errors with the Makefile
215
222
  # current directory.  Also, the AIX compiler puts `$object:' at the
216
223
  # start of each line; $object doesn't have directory information.
217
224
  # Version 6 uses the directory in both cases.
218
 
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
219
 
  tmpdepfile="$stripped.u"
 
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$//'`
220
228
  if test "$libtool" = yes; then
 
229
    tmpdepfile1=$dir$base.u
 
230
    tmpdepfile2=$base.u
 
231
    tmpdepfile3=$dir.libs/$base.u
221
232
    "$@" -Wc,-M
222
233
  else
 
234
    tmpdepfile1=$dir$base.u
 
235
    tmpdepfile2=$dir$base.u
 
236
    tmpdepfile3=$dir$base.u
223
237
    "$@" -M
224
238
  fi
225
239
  stat=$?
226
240
 
227
 
  if test -f "$tmpdepfile"; then :
228
 
  else
229
 
    stripped=`echo "$stripped" | sed 's,^.*/,,'`
230
 
    tmpdepfile="$stripped.u"
231
 
  fi
232
 
 
233
241
  if test $stat -eq 0; then :
234
242
  else
235
 
    rm -f "$tmpdepfile"
 
243
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
236
244
    exit $stat
237
245
  fi
238
246
 
 
247
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 
248
  do
 
249
    test -f "$tmpdepfile" && break
 
250
  done
239
251
  if test -f "$tmpdepfile"; then
240
 
    outname="$stripped.o"
241
252
    # Each line is of the form `foo.o: dependent.h'.
242
253
    # Do two passes, one to just change these to
243
254
    # `$object: dependent.h' and one to simply `dependent.h:'.
244
 
    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
245
 
    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
 
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"
246
258
  else
247
259
    # The sourcefile does not contain any dependencies, so just
248
260
    # store a dummy comment line, to avoid errors with the Makefile
323
335
  if test -f "$tmpdepfile"; then
324
336
    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
325
337
    # Add `dependent.h:' lines.
326
 
    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
 
338
    sed -ne '2,${
 
339
               s/^ *//
 
340
               s/ \\*$//
 
341
               s/$/:/
 
342
               p
 
343
             }' "$tmpdepfile" >> "$depfile"
327
344
  else
328
345
    echo "#dummy" > "$depfile"
329
346
  fi
399
416
 
400
417
  # Remove the call to Libtool.
401
418
  if test "$libtool" = yes; then
402
 
    while test $1 != '--mode=compile'; do
 
419
    while test "X$1" != 'X--mode=compile'; do
403
420
      shift
404
421
    done
405
422
    shift
450
467
  "$@" || exit $?
451
468
  # Remove any Libtool call
452
469
  if test "$libtool" = yes; then
453
 
    while test $1 != '--mode=compile'; do
 
470
    while test "X$1" != 'X--mode=compile'; do
454
471
      shift
455
472
    done
456
473
    shift
457
474
  fi
458
475
  # X makedepend
459
476
  shift
460
 
  cleared=no
461
 
  for arg in "$@"; do
 
477
  cleared=no eat=no
 
478
  for arg
 
479
  do
462
480
    case $cleared in
463
481
    no)
464
482
      set ""; shift
465
483
      cleared=yes ;;
466
484
    esac
 
485
    if test $eat = yes; then
 
486
      eat=no
 
487
      continue
 
488
    fi
467
489
    case "$arg" in
468
490
    -D*|-I*)
469
491
      set fnord "$@" "$arg"; shift ;;
470
492
    # Strip any option that makedepend may not understand.  Remove
471
493
    # the object too, otherwise makedepend will parse it as a source file.
 
494
    -arch)
 
495
      eat=yes ;;
472
496
    -*|$object)
473
497
      ;;
474
498
    *)
475
499
      set fnord "$@" "$arg"; shift ;;
476
500
    esac
477
501
  done
478
 
  obj_suffix="`echo $object | sed 's/^.*\././'`"
 
502
  obj_suffix=`echo "$object" | sed 's/^.*\././'`
479
503
  touch "$tmpdepfile"
480
504
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
481
505
  rm -f "$depfile"
495
519
 
496
520
  # Remove the call to Libtool.
497
521
  if test "$libtool" = yes; then
498
 
    while test $1 != '--mode=compile'; do
 
522
    while test "X$1" != 'X--mode=compile'; do
499
523
      shift
500
524
    done
501
525
    shift
533
557
 
534
558
msvisualcpp)
535
559
  # Important note: in order to support this mode, a compiler *must*
536
 
  # always write the preprocessed file to stdout, regardless of -o,
537
 
  # because we must use -o when running libtool.
 
560
  # always write the preprocessed file to stdout.
538
561
  "$@" || 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
 
539
571
  IFS=" "
540
572
  for arg
541
573
  do
542
574
    case "$arg" in
 
575
    -o)
 
576
      shift
 
577
      ;;
 
578
    $object)
 
579
      shift
 
580
      ;;
543
581
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
544
582
        set fnord "$@"
545
583
        shift
552
590
        ;;
553
591
    esac
554
592
  done
555
 
  "$@" -E |
556
 
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
 
593
  "$@" -E 2>/dev/null |
 
594
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
557
595
  rm -f "$depfile"
558
596
  echo "$object : \\" > "$depfile"
559
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::    \1 \\:p' >> "$depfile"
 
597
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::      \1 \\:p' >> "$depfile"
560
598
  echo "        " >> "$depfile"
561
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
 
599
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
562
600
  rm -f "$tmpdepfile"
563
601
  ;;
564
602
 
 
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
 
565
610
none)
566
611
  exec "$@"
567
612
  ;;
580
625
# eval: (add-hook 'write-file-hooks 'time-stamp)
581
626
# time-stamp-start: "scriptversion="
582
627
# time-stamp-format: "%:y-%02m-%02d.%02H"
583
 
# time-stamp-end: "$"
 
628
# time-stamp-time-zone: "UTC"
 
629
# time-stamp-end: "; # UTC"
584
630
# End: