~ubuntu-branches/ubuntu/oneiric/iptables/oneiric

« back to all changes in this revision

Viewing changes to depcomp

  • Committer: Bazaar Package Importer
  • Author(s): Jamie Strandboge, Lorenzo De Liso, Jamie Strandboge
  • Date: 2010-11-12 15:58:40 UTC
  • mfrom: (5.1.8 upstream) (2.1.11 sid)
  • Revision ID: james.westby@ubuntu.com-20101112155840-jm07l9o9722h0bvm
Tags: 1.4.10-1ubuntu1
[ Lorenzo De Liso ]
* Merge from debian unstable (LP: #671652), remaining changes:
  - Don't fail to run iptables-save if iptables module isn't loaded.
  - Revert changes between 1.4.1.1-3 and 1.4.1.1-4, thus bringing back
    the howtos.
  - Added linuxdoc-tools to Build-Depends
  - Modified debian/iptables{,-dev}.install to match DM syntax
    (removed debian/tmp)
  - Added -fno-strict-aliasing -Werror switches to regular_CFLAGS
    for catching errors early
  - Removed unused TC_NUM_RULES() and TC_GET_RULE()
* debian/patches/03-compilation-error.patch: updated
* debian/patches/0600-makefile_jedi_handwaving.patch: updated
* Dropped changes:
  - debian/patches/0902-docs-version-reference.diff: modifies files inside
    the debian/ directory and hence is not needed

[ Jamie Strandboge ]
* debian/patches/9000-howtos.patch:
  - combine 0102-howtos.patch and 0103-sgml_errors.patch into this patch
    and apply after the Debian patches for easier maintenance
  - add DEP-3 comments
* debian/patches/9001-build-libipq_pic.la.patch:
  - Build libipq_pic.la with -fPIC
  - add DEP-3 comments
* debian/iptables-dev.install: install lib/*.la in usr/lib
* merge debian/patches/9002-xt_recent-reap.patch:
  - support for the xt_recent filter --reap switch (refreshed and updated)
  - add DEP-3 comments
* debian/patches/9003-compilation-error.patch:
  - renamed 03-compilation-error.patch as 9003-compilation-error.patch
  - apply after Debian patches for easier maintenance
  - add DEP-3 comments
* debian/iptables.doc-base.{nat|packet-filter}: update for 2.6
* Dropped changes:
  - Replaced ipt_DSCP.h by xpt_DSCP.h in ipt_ECN.h and ipt_echn.h (applied
    upstream)
  - 9001-build-libipq_pic.a.patch (using la instead)

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=2005-07-09.11
 
4
scriptversion=2009-04-28.21; # UTC
5
5
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
6
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
 
7
# Software Foundation, Inc.
7
8
 
8
9
# This program is free software; you can redistribute it and/or modify
9
10
# it under the terms of the GNU General Public License as published by
16
17
# GNU General Public License for more details.
17
18
 
18
19
# You should have received a copy of the GNU General Public License
19
 
# along with this program; if not, write to the Free Software
20
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21
 
# 02110-1301, USA.
 
20
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
21
 
23
22
# As a special exception to the GNU General Public License, if you
24
23
# distribute this file as part of a program that contains a
86
85
   depmode=dashmstdout
87
86
fi
88
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
 
89
97
case "$depmode" in
90
98
gcc3)
91
99
## gcc 3 implements dependency tracking that does exactly what
92
100
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
93
101
## it if -MD -MP comes after the -MF stuff.  Hmm.
94
 
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
 
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
  "$@"
95
116
  stat=$?
96
117
  if test $stat -eq 0; then :
97
118
  else
178
199
' < "$tmpdepfile" \
179
200
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
180
201
    tr '
181
 
' ' ' >> $depfile
182
 
    echo >> $depfile
 
202
' ' ' >> "$depfile"
 
203
    echo >> "$depfile"
183
204
 
184
205
    # The second pass generates a dummy entry for each header file.
185
206
    tr ' ' '
186
207
' < "$tmpdepfile" \
187
208
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
188
 
   >> $depfile
 
209
   >> "$depfile"
189
210
  else
190
211
    # The sourcefile does not contain any dependencies, so just
191
212
    # store a dummy comment line, to avoid errors with the Makefile
201
222
  # current directory.  Also, the AIX compiler puts `$object:' at the
202
223
  # start of each line; $object doesn't have directory information.
203
224
  # Version 6 uses the directory in both cases.
204
 
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
205
 
  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$//'`
206
228
  if test "$libtool" = yes; then
 
229
    tmpdepfile1=$dir$base.u
 
230
    tmpdepfile2=$base.u
 
231
    tmpdepfile3=$dir.libs/$base.u
207
232
    "$@" -Wc,-M
208
233
  else
 
234
    tmpdepfile1=$dir$base.u
 
235
    tmpdepfile2=$dir$base.u
 
236
    tmpdepfile3=$dir$base.u
209
237
    "$@" -M
210
238
  fi
211
239
  stat=$?
212
240
 
213
 
  if test -f "$tmpdepfile"; then :
214
 
  else
215
 
    stripped=`echo "$stripped" | sed 's,^.*/,,'`
216
 
    tmpdepfile="$stripped.u"
217
 
  fi
218
 
 
219
241
  if test $stat -eq 0; then :
220
242
  else
221
 
    rm -f "$tmpdepfile"
 
243
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
222
244
    exit $stat
223
245
  fi
224
246
 
 
247
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 
248
  do
 
249
    test -f "$tmpdepfile" && break
 
250
  done
225
251
  if test -f "$tmpdepfile"; then
226
 
    outname="$stripped.o"
227
252
    # Each line is of the form `foo.o: dependent.h'.
228
253
    # Do two passes, one to just change these to
229
254
    # `$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"
 
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"
232
258
  else
233
259
    # The sourcefile does not contain any dependencies, so just
234
260
    # store a dummy comment line, to avoid errors with the Makefile
276
302
  rm -f "$tmpdepfile"
277
303
  ;;
278
304
 
 
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
 
279
350
tru64)
280
351
   # The Tru64 compiler uses -MD to generate dependencies as a side
281
352
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
288
359
 
289
360
   if test "$libtool" = yes; then
290
361
      # 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
 
362
      # static library.  This mechanism is used in libtool 1.4 series to
292
363
      # handle both shared and static libraries in a single compilation.
293
364
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
294
365
      #
295
366
      # With libtool 1.5 this exception was removed, and libtool now
296
367
      # generates 2 separate objects for the 2 libraries.  These two
297
 
      # compilations output dependencies in in $dir.libs/$base.o.d and
 
368
      # compilations output dependencies in $dir.libs/$base.o.d and
298
369
      # in $dir$base.o.d.  We have to check for both files, because
299
370
      # one of the two compilations can be disabled.  We should prefer
300
371
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
345
416
 
346
417
  # Remove the call to Libtool.
347
418
  if test "$libtool" = yes; then
348
 
    while test $1 != '--mode=compile'; do
 
419
    while test "X$1" != 'X--mode=compile'; do
349
420
      shift
350
421
    done
351
422
    shift
396
467
  "$@" || exit $?
397
468
  # Remove any Libtool call
398
469
  if test "$libtool" = yes; then
399
 
    while test $1 != '--mode=compile'; do
 
470
    while test "X$1" != 'X--mode=compile'; do
400
471
      shift
401
472
    done
402
473
    shift
403
474
  fi
404
475
  # X makedepend
405
476
  shift
406
 
  cleared=no
407
 
  for arg in "$@"; do
 
477
  cleared=no eat=no
 
478
  for arg
 
479
  do
408
480
    case $cleared in
409
481
    no)
410
482
      set ""; shift
411
483
      cleared=yes ;;
412
484
    esac
 
485
    if test $eat = yes; then
 
486
      eat=no
 
487
      continue
 
488
    fi
413
489
    case "$arg" in
414
490
    -D*|-I*)
415
491
      set fnord "$@" "$arg"; shift ;;
416
492
    # Strip any option that makedepend may not understand.  Remove
417
493
    # the object too, otherwise makedepend will parse it as a source file.
 
494
    -arch)
 
495
      eat=yes ;;
418
496
    -*|$object)
419
497
      ;;
420
498
    *)
421
499
      set fnord "$@" "$arg"; shift ;;
422
500
    esac
423
501
  done
424
 
  obj_suffix="`echo $object | sed 's/^.*\././'`"
 
502
  obj_suffix=`echo "$object" | sed 's/^.*\././'`
425
503
  touch "$tmpdepfile"
426
504
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
427
505
  rm -f "$depfile"
441
519
 
442
520
  # Remove the call to Libtool.
443
521
  if test "$libtool" = yes; then
444
 
    while test $1 != '--mode=compile'; do
 
522
    while test "X$1" != 'X--mode=compile'; do
445
523
      shift
446
524
    done
447
525
    shift
479
557
 
480
558
msvisualcpp)
481
559
  # Important note: in order to support this mode, a compiler *must*
482
 
  # always write the preprocessed file to stdout, regardless of -o,
483
 
  # because we must use -o when running libtool.
 
560
  # always write the preprocessed file to stdout.
484
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
 
485
571
  IFS=" "
486
572
  for arg
487
573
  do
488
574
    case "$arg" in
 
575
    -o)
 
576
      shift
 
577
      ;;
 
578
    $object)
 
579
      shift
 
580
      ;;
489
581
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
490
582
        set fnord "$@"
491
583
        shift
498
590
        ;;
499
591
    esac
500
592
  done
501
 
  "$@" -E |
502
 
  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"
503
595
  rm -f "$depfile"
504
596
  echo "$object : \\" > "$depfile"
505
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::    \1 \\:p' >> "$depfile"
 
597
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::      \1 \\:p' >> "$depfile"
506
598
  echo "        " >> "$depfile"
507
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
 
599
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
508
600
  rm -f "$tmpdepfile"
509
601
  ;;
510
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
 
511
610
none)
512
611
  exec "$@"
513
612
  ;;
526
625
# eval: (add-hook 'write-file-hooks 'time-stamp)
527
626
# time-stamp-start: "scriptversion="
528
627
# time-stamp-format: "%:y-%02m-%02d.%02H"
529
 
# time-stamp-end: "$"
 
628
# time-stamp-time-zone: "UTC"
 
629
# time-stamp-end: "; # UTC"
530
630
# End: