~ubuntu-branches/debian/sid/clamav/sid

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/autoconf/depcomp

  • Committer: Package Import Robot
  • Author(s): Andreas Cadhalpun, Andreas Cadhalpun, Sebastian Andrzej Siewior, Frans Spiesschaert
  • Date: 2014-10-15 06:50:20 UTC
  • mfrom: (1.3.13) (42.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20141015065020-0cpy1hdueggaw35s
Tags: 0.98.5~rc1+dfsg-1
[ Andreas Cadhalpun ]
* Import new upstream release candidate.
* Drop patches included upstream and update the others.
* Add 4 new symbols to libclamav6.symbols.
* Fix debian/copyright.
* Update lintian overrides.
* Update Standards-Version to 3.9.6 (no changes needed).
* Add Breaks and Replaces for old clamd package to clamdscan.
* Remove unnecessary shlibs:Depends from clamav-dbg.
* Add patches to support LLVM 3.5.

[ Sebastian Andrzej Siewior ]
* Add embedded copy of libmspack to be used as fallback, when libmspack-dev
  is not available.

[ Frans Spiesschaert ]
* Updated Dutch Debconf template translation (Closes: #763634)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /bin/sh
2
 
# depcomp - compile a program generating dependencies as side-effects
3
 
 
4
 
scriptversion=2004-05-31.23
5
 
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
7
 
 
8
 
# This program is free software; you can redistribute it and/or modify
9
 
# it under the terms of the GNU General Public License as published by
10
 
# the Free Software Foundation; either version 2, or (at your option)
11
 
# any later version.
12
 
 
13
 
# This program is distributed in the hope that it will be useful,
14
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 
# GNU General Public License for more details.
17
 
 
18
 
# 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., 59 Temple Place - Suite 330, Boston, MA
21
 
# 02111-1307, USA.
22
 
 
23
 
# As a special exception to the GNU General Public License, if you
24
 
# distribute this file as part of a program that contains a
25
 
# configuration script generated by Autoconf, you may include it under
26
 
# the same distribution terms that you use for the rest of that program.
27
 
 
28
 
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
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 0
54
 
    ;;
55
 
  -v | --v*)
56
 
    echo "depcomp $scriptversion"
57
 
    exit 0
58
 
    ;;
59
 
esac
60
 
 
61
 
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
62
 
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
63
 
  exit 1
64
 
fi
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|'`}
69
 
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
70
 
 
71
 
rm -f "$tmpdepfile"
72
 
 
73
 
# Some modes work just like other modes, but use different flags.  We
74
 
# parameterize here, but still list the modes in the big case below,
75
 
# to make depend.m4 easier to write.  Note that we *cannot* use a case
76
 
# here, because this file can only contain one case statement.
77
 
if test "$depmode" = hp; then
78
 
  # HP compiler uses -M and no extra arg.
79
 
  gccflag=-M
80
 
  depmode=gcc
81
 
fi
82
 
 
83
 
if test "$depmode" = dashXmstdout; then
84
 
   # This is just like dashmstdout with a different argument.
85
 
   dashmflag=-xM
86
 
   depmode=dashmstdout
87
 
fi
88
 
 
89
 
case "$depmode" in
90
 
gcc3)
91
 
## gcc 3 implements dependency tracking that does exactly what
92
 
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
93
 
## it if -MD -MP comes after the -MF stuff.  Hmm.
94
 
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
95
 
  stat=$?
96
 
  if test $stat -eq 0; then :
97
 
  else
98
 
    rm -f "$tmpdepfile"
99
 
    exit $stat
100
 
  fi
101
 
  mv "$tmpdepfile" "$depfile"
102
 
  ;;
103
 
 
104
 
gcc)
105
 
## There are various ways to get dependency output from gcc.  Here's
106
 
## why we pick this rather obscure method:
107
 
## - Don't want to use -MD because we'd like the dependencies to end
108
 
##   up in a subdir.  Having to rename by hand is ugly.
109
 
##   (We might end up doing this anyway to support other compilers.)
110
 
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
111
 
##   -MM, not -M (despite what the docs say).
112
 
## - Using -M directly means running the compiler twice (even worse
113
 
##   than renaming).
114
 
  if test -z "$gccflag"; then
115
 
    gccflag=-MD,
116
 
  fi
117
 
  "$@" -Wp,"$gccflag$tmpdepfile"
118
 
  stat=$?
119
 
  if test $stat -eq 0; then :
120
 
  else
121
 
    rm -f "$tmpdepfile"
122
 
    exit $stat
123
 
  fi
124
 
  rm -f "$depfile"
125
 
  echo "$object : \\" > "$depfile"
126
 
  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
127
 
## The second -e expression handles DOS-style file names with drive letters.
128
 
  sed -e 's/^[^:]*: / /' \
129
 
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
130
 
## This next piece of magic avoids the `deleted header file' problem.
131
 
## The problem is that when a header file which appears in a .P file
132
 
## is deleted, the dependency causes make to die (because there is
133
 
## typically no way to rebuild the header).  We avoid this by adding
134
 
## dummy dependencies for each header file.  Too bad gcc doesn't do
135
 
## this for us directly.
136
 
  tr ' ' '
137
 
' < "$tmpdepfile" |
138
 
## Some versions of gcc put a space before the `:'.  On the theory
139
 
## that the space means something, we add a space to the output as
140
 
## well.
141
 
## Some versions of the HPUX 10.20 sed can't process this invocation
142
 
## correctly.  Breaking it into two sed invocations is a workaround.
143
 
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
144
 
  rm -f "$tmpdepfile"
145
 
  ;;
146
 
 
147
 
hp)
148
 
  # This case exists only to let depend.m4 do its work.  It works by
149
 
  # looking at the text of this script.  This case will never be run,
150
 
  # since it is checked for above.
151
 
  exit 1
152
 
  ;;
153
 
 
154
 
sgi)
155
 
  if test "$libtool" = yes; then
156
 
    "$@" "-Wp,-MDupdate,$tmpdepfile"
157
 
  else
158
 
    "$@" -MDupdate "$tmpdepfile"
159
 
  fi
160
 
  stat=$?
161
 
  if test $stat -eq 0; then :
162
 
  else
163
 
    rm -f "$tmpdepfile"
164
 
    exit $stat
165
 
  fi
166
 
  rm -f "$depfile"
167
 
 
168
 
  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
169
 
    echo "$object : \\" > "$depfile"
170
 
 
171
 
    # Clip off the initial element (the dependent).  Don't try to be
172
 
    # clever and replace this with sed code, as IRIX sed won't handle
173
 
    # lines with more than a fixed number of characters (4096 in
174
 
    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
175
 
    # the IRIX cc adds comments like `#:fec' to the end of the
176
 
    # dependency line.
177
 
    tr ' ' '
178
 
' < "$tmpdepfile" \
179
 
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
180
 
    tr '
181
 
' ' ' >> $depfile
182
 
    echo >> $depfile
183
 
 
184
 
    # The second pass generates a dummy entry for each header file.
185
 
    tr ' ' '
186
 
' < "$tmpdepfile" \
187
 
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
188
 
   >> $depfile
189
 
  else
190
 
    # The sourcefile does not contain any dependencies, so just
191
 
    # store a dummy comment line, to avoid errors with the Makefile
192
 
    # "include basename.Plo" scheme.
193
 
    echo "#dummy" > "$depfile"
194
 
  fi
195
 
  rm -f "$tmpdepfile"
196
 
  ;;
197
 
 
198
 
aix)
199
 
  # The C for AIX Compiler uses -M and outputs the dependencies
200
 
  # in a .u file.  In older versions, this file always lives in the
201
 
  # current directory.  Also, the AIX compiler puts `$object:' at the
202
 
  # start of each line; $object doesn't have directory information.
203
 
  # Version 6 uses the directory in both cases.
204
 
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
205
 
  tmpdepfile="$stripped.u"
206
 
  if test "$libtool" = yes; then
207
 
    "$@" -Wc,-M
208
 
  else
209
 
    "$@" -M
210
 
  fi
211
 
  stat=$?
212
 
 
213
 
  if test -f "$tmpdepfile"; then :
214
 
  else
215
 
    stripped=`echo "$stripped" | sed 's,^.*/,,'`
216
 
    tmpdepfile="$stripped.u"
217
 
  fi
218
 
 
219
 
  if test $stat -eq 0; then :
220
 
  else
221
 
    rm -f "$tmpdepfile"
222
 
    exit $stat
223
 
  fi
224
 
 
225
 
  if test -f "$tmpdepfile"; then
226
 
    outname="$stripped.o"
227
 
    # Each line is of the form `foo.o: dependent.h'.
228
 
    # Do two passes, one to just change these to
229
 
    # `$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"
232
 
  else
233
 
    # The sourcefile does not contain any dependencies, so just
234
 
    # store a dummy comment line, to avoid errors with the Makefile
235
 
    # "include basename.Plo" scheme.
236
 
    echo "#dummy" > "$depfile"
237
 
  fi
238
 
  rm -f "$tmpdepfile"
239
 
  ;;
240
 
 
241
 
icc)
242
 
  # Intel's C compiler understands `-MD -MF file'.  However on
243
 
  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
244
 
  # ICC 7.0 will fill foo.d with something like
245
 
  #    foo.o: sub/foo.c
246
 
  #    foo.o: sub/foo.h
247
 
  # which is wrong.  We want:
248
 
  #    sub/foo.o: sub/foo.c
249
 
  #    sub/foo.o: sub/foo.h
250
 
  #    sub/foo.c:
251
 
  #    sub/foo.h:
252
 
  # ICC 7.1 will output
253
 
  #    foo.o: sub/foo.c sub/foo.h
254
 
  # and will wrap long lines using \ :
255
 
  #    foo.o: sub/foo.c ... \
256
 
  #     sub/foo.h ... \
257
 
  #     ...
258
 
 
259
 
  "$@" -MD -MF "$tmpdepfile"
260
 
  stat=$?
261
 
  if test $stat -eq 0; then :
262
 
  else
263
 
    rm -f "$tmpdepfile"
264
 
    exit $stat
265
 
  fi
266
 
  rm -f "$depfile"
267
 
  # Each line is of the form `foo.o: dependent.h',
268
 
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
269
 
  # Do two passes, one to just change these to
270
 
  # `$object: dependent.h' and one to simply `dependent.h:'.
271
 
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
272
 
  # Some versions of the HPUX 10.20 sed can't process this invocation
273
 
  # correctly.  Breaking it into two sed invocations is a workaround.
274
 
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
275
 
    sed -e 's/$/ :/' >> "$depfile"
276
 
  rm -f "$tmpdepfile"
277
 
  ;;
278
 
 
279
 
tru64)
280
 
   # The Tru64 compiler uses -MD to generate dependencies as a side
281
 
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
282
 
   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
283
 
   # dependencies in `foo.d' instead, so we check for that too.
284
 
   # Subdirectories are respected.
285
 
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
286
 
   test "x$dir" = "x$object" && dir=
287
 
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
288
 
 
289
 
   if test "$libtool" = yes; then
290
 
      # Dependencies are output in .lo.d with libtool 1.4.
291
 
      # With libtool 1.5 they are output both in $dir.libs/$base.o.d
292
 
      # and in $dir.libs/$base.o.d and $dir$base.o.d.  We process the
293
 
      # latter, because the former will be cleaned when $dir.libs is
294
 
      # erased.
295
 
      tmpdepfile1="$dir.libs/$base.lo.d"
296
 
      tmpdepfile2="$dir$base.o.d"
297
 
      tmpdepfile3="$dir.libs/$base.d"
298
 
      "$@" -Wc,-MD
299
 
   else
300
 
      tmpdepfile1="$dir$base.o.d"
301
 
      tmpdepfile2="$dir$base.d"
302
 
      tmpdepfile3="$dir$base.d"
303
 
      "$@" -MD
304
 
   fi
305
 
 
306
 
   stat=$?
307
 
   if test $stat -eq 0; then :
308
 
   else
309
 
      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
310
 
      exit $stat
311
 
   fi
312
 
 
313
 
   if test -f "$tmpdepfile1"; then
314
 
      tmpdepfile="$tmpdepfile1"
315
 
   elif test -f "$tmpdepfile2"; then
316
 
      tmpdepfile="$tmpdepfile2"
317
 
   else
318
 
      tmpdepfile="$tmpdepfile3"
319
 
   fi
320
 
   if test -f "$tmpdepfile"; then
321
 
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
322
 
      # That's a tab and a space in the [].
323
 
      sed -e 's,^.*\.[a-z]*:[    ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
324
 
   else
325
 
      echo "#dummy" > "$depfile"
326
 
   fi
327
 
   rm -f "$tmpdepfile"
328
 
   ;;
329
 
 
330
 
#nosideeffect)
331
 
  # This comment above is used by automake to tell side-effect
332
 
  # dependency tracking mechanisms from slower ones.
333
 
 
334
 
dashmstdout)
335
 
  # Important note: in order to support this mode, a compiler *must*
336
 
  # always write the preprocessed file to stdout, regardless of -o.
337
 
  "$@" || exit $?
338
 
 
339
 
  # Remove the call to Libtool.
340
 
  if test "$libtool" = yes; then
341
 
    while test $1 != '--mode=compile'; do
342
 
      shift
343
 
    done
344
 
    shift
345
 
  fi
346
 
 
347
 
  # Remove `-o $object'.
348
 
  IFS=" "
349
 
  for arg
350
 
  do
351
 
    case $arg in
352
 
    -o)
353
 
      shift
354
 
      ;;
355
 
    $object)
356
 
      shift
357
 
      ;;
358
 
    *)
359
 
      set fnord "$@" "$arg"
360
 
      shift # fnord
361
 
      shift # $arg
362
 
      ;;
363
 
    esac
364
 
  done
365
 
 
366
 
  test -z "$dashmflag" && dashmflag=-M
367
 
  # Require at least two characters before searching for `:'
368
 
  # in the target name.  This is to cope with DOS-style filenames:
369
 
  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
370
 
  "$@" $dashmflag |
371
 
    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
372
 
  rm -f "$depfile"
373
 
  cat < "$tmpdepfile" > "$depfile"
374
 
  tr ' ' '
375
 
' < "$tmpdepfile" | \
376
 
## Some versions of the HPUX 10.20 sed can't process this invocation
377
 
## correctly.  Breaking it into two sed invocations is a workaround.
378
 
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
379
 
  rm -f "$tmpdepfile"
380
 
  ;;
381
 
 
382
 
dashXmstdout)
383
 
  # This case only exists to satisfy depend.m4.  It is never actually
384
 
  # run, as this mode is specially recognized in the preamble.
385
 
  exit 1
386
 
  ;;
387
 
 
388
 
makedepend)
389
 
  "$@" || exit $?
390
 
  # Remove any Libtool call
391
 
  if test "$libtool" = yes; then
392
 
    while test $1 != '--mode=compile'; do
393
 
      shift
394
 
    done
395
 
    shift
396
 
  fi
397
 
  # X makedepend
398
 
  shift
399
 
  cleared=no
400
 
  for arg in "$@"; do
401
 
    case $cleared in
402
 
    no)
403
 
      set ""; shift
404
 
      cleared=yes ;;
405
 
    esac
406
 
    case "$arg" in
407
 
    -D*|-I*)
408
 
      set fnord "$@" "$arg"; shift ;;
409
 
    # Strip any option that makedepend may not understand.  Remove
410
 
    # the object too, otherwise makedepend will parse it as a source file.
411
 
    -*|$object)
412
 
      ;;
413
 
    *)
414
 
      set fnord "$@" "$arg"; shift ;;
415
 
    esac
416
 
  done
417
 
  obj_suffix="`echo $object | sed 's/^.*\././'`"
418
 
  touch "$tmpdepfile"
419
 
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
420
 
  rm -f "$depfile"
421
 
  cat < "$tmpdepfile" > "$depfile"
422
 
  sed '1,2d' "$tmpdepfile" | tr ' ' '
423
 
' | \
424
 
## Some versions of the HPUX 10.20 sed can't process this invocation
425
 
## correctly.  Breaking it into two sed invocations is a workaround.
426
 
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
427
 
  rm -f "$tmpdepfile" "$tmpdepfile".bak
428
 
  ;;
429
 
 
430
 
cpp)
431
 
  # Important note: in order to support this mode, a compiler *must*
432
 
  # always write the preprocessed file to stdout.
433
 
  "$@" || exit $?
434
 
 
435
 
  # Remove the call to Libtool.
436
 
  if test "$libtool" = yes; then
437
 
    while test $1 != '--mode=compile'; do
438
 
      shift
439
 
    done
440
 
    shift
441
 
  fi
442
 
 
443
 
  # Remove `-o $object'.
444
 
  IFS=" "
445
 
  for arg
446
 
  do
447
 
    case $arg in
448
 
    -o)
449
 
      shift
450
 
      ;;
451
 
    $object)
452
 
      shift
453
 
      ;;
454
 
    *)
455
 
      set fnord "$@" "$arg"
456
 
      shift # fnord
457
 
      shift # $arg
458
 
      ;;
459
 
    esac
460
 
  done
461
 
 
462
 
  "$@" -E |
463
 
    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
464
 
    sed '$ s: \\$::' > "$tmpdepfile"
465
 
  rm -f "$depfile"
466
 
  echo "$object : \\" > "$depfile"
467
 
  cat < "$tmpdepfile" >> "$depfile"
468
 
  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
469
 
  rm -f "$tmpdepfile"
470
 
  ;;
471
 
 
472
 
msvisualcpp)
473
 
  # Important note: in order to support this mode, a compiler *must*
474
 
  # always write the preprocessed file to stdout, regardless of -o,
475
 
  # because we must use -o when running libtool.
476
 
  "$@" || exit $?
477
 
  IFS=" "
478
 
  for arg
479
 
  do
480
 
    case "$arg" in
481
 
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
482
 
        set fnord "$@"
483
 
        shift
484
 
        shift
485
 
        ;;
486
 
    *)
487
 
        set fnord "$@" "$arg"
488
 
        shift
489
 
        shift
490
 
        ;;
491
 
    esac
492
 
  done
493
 
  "$@" -E |
494
 
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
495
 
  rm -f "$depfile"
496
 
  echo "$object : \\" > "$depfile"
497
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::    \1 \\:p' >> "$depfile"
498
 
  echo "        " >> "$depfile"
499
 
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
500
 
  rm -f "$tmpdepfile"
501
 
  ;;
502
 
 
503
 
none)
504
 
  exec "$@"
505
 
  ;;
506
 
 
507
 
*)
508
 
  echo "Unknown depmode $depmode" 1>&2
509
 
  exit 1
510
 
  ;;
511
 
esac
512
 
 
513
 
exit 0
514
 
 
515
 
# Local Variables:
516
 
# mode: shell-script
517
 
# sh-indentation: 2
518
 
# eval: (add-hook 'write-file-hooks 'time-stamp)
519
 
# time-stamp-start: "scriptversion="
520
 
# time-stamp-format: "%:y-%02m-%02d.%02H"
521
 
# time-stamp-end: "$"
522
 
# End: