ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/depcomp
Revision: 1257
Committed: Sun Jan 15 06:28:46 2012 UTC (12 years, 3 months ago) by michael
Original Path: ircd-hybrid-8/depcomp
File size: 20334 byte(s)
Log Message:
- automake 1.11.2

File Contents

# User Rev Content
1 michael 912 #! /bin/sh
2     # depcomp - compile a program generating dependencies as side-effects
3    
4 michael 1257 scriptversion=2011-12-04.11; # UTC
5 michael 912
6 michael 1257 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
7     # 2011 Free Software Foundation, Inc.
8 michael 912
9     # This program is free software; you can redistribute it and/or modify
10     # it under the terms of the GNU General Public License as published by
11     # the Free Software Foundation; either version 2, or (at your option)
12     # any later version.
13    
14     # This program is distributed in the hope that it will be useful,
15     # but WITHOUT ANY WARRANTY; without even the implied warranty of
16     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17     # GNU General Public License for more details.
18    
19     # You should have received a copy of the GNU General Public License
20 michael 945 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 michael 912
22     # As a special exception to the GNU General Public License, if you
23     # distribute this file as part of a program that contains a
24     # configuration script generated by Autoconf, you may include it under
25     # the same distribution terms that you use for the rest of that program.
26    
27     # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28    
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 michael 1257 tmpdepfile Temporary file to use when outputting dependencies.
48 michael 912 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     if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61     echo "depcomp: Variables source, object and depmode must be set" 1>&2
62     exit 1
63     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|'`}
68     tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69    
70     rm -f "$tmpdepfile"
71    
72     # Some modes work just like other modes, but use different flags. We
73     # parameterize here, but still list the modes in the big case below,
74     # to make depend.m4 easier to write. Note that we *cannot* use a case
75     # here, because this file can only contain one case statement.
76     if test "$depmode" = hp; then
77     # HP compiler uses -M and no extra arg.
78     gccflag=-M
79     depmode=gcc
80     fi
81    
82     if test "$depmode" = dashXmstdout; then
83     # This is just like dashmstdout with a different argument.
84     dashmflag=-xM
85     depmode=dashmstdout
86     fi
87    
88 michael 945 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 michael 1257 cygpath_u='sed s,\\\\,/,g'
94 michael 945 depmode=msvisualcpp
95     fi
96    
97 michael 1257 if test "$depmode" = msvc7msys; then
98     # This is just like msvc7 but w/o cygpath translation.
99     # Just convert the backslash-escaped backslashes to single forward
100     # slashes to satisfy depend.m4
101     cygpath_u='sed s,\\\\,/,g'
102     depmode=msvc7
103     fi
104    
105 michael 912 case "$depmode" in
106     gcc3)
107     ## gcc 3 implements dependency tracking that does exactly what
108     ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
109     ## it if -MD -MP comes after the -MF stuff. Hmm.
110     ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
111     ## the command line argument order; so add the flags where they
112     ## appear in depend2.am. Note that the slowdown incurred here
113     ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
114     for arg
115     do
116     case $arg in
117     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
118     *) set fnord "$@" "$arg" ;;
119     esac
120     shift # fnord
121     shift # $arg
122     done
123     "$@"
124     stat=$?
125     if test $stat -eq 0; then :
126     else
127     rm -f "$tmpdepfile"
128     exit $stat
129     fi
130     mv "$tmpdepfile" "$depfile"
131     ;;
132    
133     gcc)
134     ## There are various ways to get dependency output from gcc. Here's
135     ## why we pick this rather obscure method:
136     ## - Don't want to use -MD because we'd like the dependencies to end
137     ## up in a subdir. Having to rename by hand is ugly.
138     ## (We might end up doing this anyway to support other compilers.)
139     ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
140     ## -MM, not -M (despite what the docs say).
141     ## - Using -M directly means running the compiler twice (even worse
142     ## than renaming).
143     if test -z "$gccflag"; then
144     gccflag=-MD,
145     fi
146     "$@" -Wp,"$gccflag$tmpdepfile"
147     stat=$?
148     if test $stat -eq 0; then :
149     else
150     rm -f "$tmpdepfile"
151     exit $stat
152     fi
153     rm -f "$depfile"
154     echo "$object : \\" > "$depfile"
155     alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
156     ## The second -e expression handles DOS-style file names with drive letters.
157     sed -e 's/^[^:]*: / /' \
158     -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
159     ## This next piece of magic avoids the `deleted header file' problem.
160     ## The problem is that when a header file which appears in a .P file
161     ## is deleted, the dependency causes make to die (because there is
162     ## typically no way to rebuild the header). We avoid this by adding
163     ## dummy dependencies for each header file. Too bad gcc doesn't do
164     ## this for us directly.
165     tr ' ' '
166     ' < "$tmpdepfile" |
167     ## Some versions of gcc put a space before the `:'. On the theory
168     ## that the space means something, we add a space to the output as
169 michael 1257 ## well. hp depmode also adds that space, but also prefixes the VPATH
170     ## to the object. Take care to not repeat it in the output.
171 michael 912 ## Some versions of the HPUX 10.20 sed can't process this invocation
172     ## correctly. Breaking it into two sed invocations is a workaround.
173 michael 1257 sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
174     | sed -e 's/$/ :/' >> "$depfile"
175 michael 912 rm -f "$tmpdepfile"
176     ;;
177    
178     hp)
179     # This case exists only to let depend.m4 do its work. It works by
180     # looking at the text of this script. This case will never be run,
181     # since it is checked for above.
182     exit 1
183     ;;
184    
185     sgi)
186     if test "$libtool" = yes; then
187     "$@" "-Wp,-MDupdate,$tmpdepfile"
188     else
189     "$@" -MDupdate "$tmpdepfile"
190     fi
191     stat=$?
192     if test $stat -eq 0; then :
193     else
194     rm -f "$tmpdepfile"
195     exit $stat
196     fi
197     rm -f "$depfile"
198    
199     if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
200     echo "$object : \\" > "$depfile"
201    
202     # Clip off the initial element (the dependent). Don't try to be
203     # clever and replace this with sed code, as IRIX sed won't handle
204     # lines with more than a fixed number of characters (4096 in
205     # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
206     # the IRIX cc adds comments like `#:fec' to the end of the
207     # dependency line.
208     tr ' ' '
209     ' < "$tmpdepfile" \
210     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
211     tr '
212 michael 945 ' ' ' >> "$depfile"
213     echo >> "$depfile"
214 michael 912
215     # The second pass generates a dummy entry for each header file.
216     tr ' ' '
217     ' < "$tmpdepfile" \
218     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
219 michael 945 >> "$depfile"
220 michael 912 else
221     # The sourcefile does not contain any dependencies, so just
222     # store a dummy comment line, to avoid errors with the Makefile
223     # "include basename.Plo" scheme.
224     echo "#dummy" > "$depfile"
225     fi
226     rm -f "$tmpdepfile"
227     ;;
228    
229     aix)
230     # The C for AIX Compiler uses -M and outputs the dependencies
231     # in a .u file. In older versions, this file always lives in the
232     # current directory. Also, the AIX compiler puts `$object:' at the
233     # start of each line; $object doesn't have directory information.
234     # Version 6 uses the directory in both cases.
235 michael 945 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
236     test "x$dir" = "x$object" && dir=
237     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
238 michael 912 if test "$libtool" = yes; then
239 michael 945 tmpdepfile1=$dir$base.u
240     tmpdepfile2=$base.u
241     tmpdepfile3=$dir.libs/$base.u
242 michael 912 "$@" -Wc,-M
243     else
244 michael 945 tmpdepfile1=$dir$base.u
245     tmpdepfile2=$dir$base.u
246     tmpdepfile3=$dir$base.u
247 michael 912 "$@" -M
248     fi
249     stat=$?
250    
251     if test $stat -eq 0; then :
252     else
253 michael 945 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
254 michael 912 exit $stat
255     fi
256    
257 michael 945 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
258     do
259     test -f "$tmpdepfile" && break
260     done
261 michael 912 if test -f "$tmpdepfile"; then
262     # Each line is of the form `foo.o: dependent.h'.
263     # Do two passes, one to just change these to
264     # `$object: dependent.h' and one to simply `dependent.h:'.
265 michael 945 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
266     # That's a tab and a space in the [].
267     sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
268 michael 912 else
269     # The sourcefile does not contain any dependencies, so just
270     # store a dummy comment line, to avoid errors with the Makefile
271     # "include basename.Plo" scheme.
272     echo "#dummy" > "$depfile"
273     fi
274     rm -f "$tmpdepfile"
275     ;;
276    
277     icc)
278     # Intel's C compiler understands `-MD -MF file'. However on
279     # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
280     # ICC 7.0 will fill foo.d with something like
281     # foo.o: sub/foo.c
282     # foo.o: sub/foo.h
283     # which is wrong. We want:
284     # sub/foo.o: sub/foo.c
285     # sub/foo.o: sub/foo.h
286     # sub/foo.c:
287     # sub/foo.h:
288     # ICC 7.1 will output
289     # foo.o: sub/foo.c sub/foo.h
290     # and will wrap long lines using \ :
291     # foo.o: sub/foo.c ... \
292     # sub/foo.h ... \
293     # ...
294    
295     "$@" -MD -MF "$tmpdepfile"
296     stat=$?
297     if test $stat -eq 0; then :
298     else
299     rm -f "$tmpdepfile"
300     exit $stat
301     fi
302     rm -f "$depfile"
303     # Each line is of the form `foo.o: dependent.h',
304     # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
305     # Do two passes, one to just change these to
306     # `$object: dependent.h' and one to simply `dependent.h:'.
307     sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
308     # Some versions of the HPUX 10.20 sed can't process this invocation
309     # correctly. Breaking it into two sed invocations is a workaround.
310     sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
311     sed -e 's/$/ :/' >> "$depfile"
312     rm -f "$tmpdepfile"
313     ;;
314    
315     hp2)
316     # The "hp" stanza above does not work with aCC (C++) and HP's ia64
317     # compilers, which have integrated preprocessors. The correct option
318     # to use with these is +Maked; it writes dependencies to a file named
319     # 'foo.d', which lands next to the object file, wherever that
320     # happens to be.
321     # Much of this is similar to the tru64 case; see comments there.
322     dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
323     test "x$dir" = "x$object" && dir=
324     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
325     if test "$libtool" = yes; then
326     tmpdepfile1=$dir$base.d
327     tmpdepfile2=$dir.libs/$base.d
328     "$@" -Wc,+Maked
329     else
330     tmpdepfile1=$dir$base.d
331     tmpdepfile2=$dir$base.d
332     "$@" +Maked
333     fi
334     stat=$?
335     if test $stat -eq 0; then :
336     else
337     rm -f "$tmpdepfile1" "$tmpdepfile2"
338     exit $stat
339     fi
340    
341     for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
342     do
343     test -f "$tmpdepfile" && break
344     done
345     if test -f "$tmpdepfile"; then
346     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
347     # Add `dependent.h:' lines.
348 michael 945 sed -ne '2,${
349     s/^ *//
350     s/ \\*$//
351     s/$/:/
352     p
353     }' "$tmpdepfile" >> "$depfile"
354 michael 912 else
355     echo "#dummy" > "$depfile"
356     fi
357     rm -f "$tmpdepfile" "$tmpdepfile2"
358     ;;
359    
360     tru64)
361     # The Tru64 compiler uses -MD to generate dependencies as a side
362     # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
363     # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
364     # dependencies in `foo.d' instead, so we check for that too.
365     # Subdirectories are respected.
366     dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
367     test "x$dir" = "x$object" && dir=
368     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
369    
370     if test "$libtool" = yes; then
371     # With Tru64 cc, shared objects can also be used to make a
372     # static library. This mechanism is used in libtool 1.4 series to
373     # handle both shared and static libraries in a single compilation.
374     # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
375     #
376     # With libtool 1.5 this exception was removed, and libtool now
377     # generates 2 separate objects for the 2 libraries. These two
378     # compilations output dependencies in $dir.libs/$base.o.d and
379     # in $dir$base.o.d. We have to check for both files, because
380     # one of the two compilations can be disabled. We should prefer
381     # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
382     # automatically cleaned when .libs/ is deleted, while ignoring
383     # the former would cause a distcleancheck panic.
384     tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
385     tmpdepfile2=$dir$base.o.d # libtool 1.5
386     tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
387     tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
388     "$@" -Wc,-MD
389     else
390     tmpdepfile1=$dir$base.o.d
391     tmpdepfile2=$dir$base.d
392     tmpdepfile3=$dir$base.d
393     tmpdepfile4=$dir$base.d
394     "$@" -MD
395     fi
396    
397     stat=$?
398     if test $stat -eq 0; then :
399     else
400     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
401     exit $stat
402     fi
403    
404     for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
405     do
406     test -f "$tmpdepfile" && break
407     done
408     if test -f "$tmpdepfile"; then
409     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
410     # That's a tab and a space in the [].
411     sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
412     else
413     echo "#dummy" > "$depfile"
414     fi
415     rm -f "$tmpdepfile"
416     ;;
417    
418 michael 1257 msvc7)
419     if test "$libtool" = yes; then
420     showIncludes=-Wc,-showIncludes
421     else
422     showIncludes=-showIncludes
423     fi
424     "$@" $showIncludes > "$tmpdepfile"
425     stat=$?
426     grep -v '^Note: including file: ' "$tmpdepfile"
427     if test "$stat" = 0; then :
428     else
429     rm -f "$tmpdepfile"
430     exit $stat
431     fi
432     rm -f "$depfile"
433     echo "$object : \\" > "$depfile"
434     # The first sed program below extracts the file names and escapes
435     # backslashes for cygpath. The second sed program outputs the file
436     # name when reading, but also accumulates all include files in the
437     # hold buffer in order to output them again at the end. This only
438     # works with sed implementations that can handle large buffers.
439     sed < "$tmpdepfile" -n '
440     /^Note: including file: *\(.*\)/ {
441     s//\1/
442     s/\\/\\\\/g
443     p
444     }' | $cygpath_u | sort -u | sed -n '
445     s/ /\\ /g
446     s/\(.*\)/ \1 \\/p
447     s/.\(.*\) \\/\1:/
448     H
449     $ {
450     s/.*/ /
451     G
452     p
453     }' >> "$depfile"
454     rm -f "$tmpdepfile"
455     ;;
456    
457     msvc7msys)
458     # This case exists only to let depend.m4 do its work. It works by
459     # looking at the text of this script. This case will never be run,
460     # since it is checked for above.
461     exit 1
462     ;;
463    
464 michael 912 #nosideeffect)
465     # This comment above is used by automake to tell side-effect
466     # dependency tracking mechanisms from slower ones.
467    
468     dashmstdout)
469     # Important note: in order to support this mode, a compiler *must*
470     # always write the preprocessed file to stdout, regardless of -o.
471     "$@" || exit $?
472    
473     # Remove the call to Libtool.
474     if test "$libtool" = yes; then
475 michael 945 while test "X$1" != 'X--mode=compile'; do
476 michael 912 shift
477     done
478     shift
479     fi
480    
481     # Remove `-o $object'.
482     IFS=" "
483     for arg
484     do
485     case $arg in
486     -o)
487     shift
488     ;;
489     $object)
490     shift
491     ;;
492     *)
493     set fnord "$@" "$arg"
494     shift # fnord
495     shift # $arg
496     ;;
497     esac
498     done
499    
500     test -z "$dashmflag" && dashmflag=-M
501     # Require at least two characters before searching for `:'
502     # in the target name. This is to cope with DOS-style filenames:
503     # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
504     "$@" $dashmflag |
505     sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
506     rm -f "$depfile"
507     cat < "$tmpdepfile" > "$depfile"
508     tr ' ' '
509     ' < "$tmpdepfile" | \
510     ## Some versions of the HPUX 10.20 sed can't process this invocation
511     ## correctly. Breaking it into two sed invocations is a workaround.
512     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
513     rm -f "$tmpdepfile"
514     ;;
515    
516     dashXmstdout)
517     # This case only exists to satisfy depend.m4. It is never actually
518     # run, as this mode is specially recognized in the preamble.
519     exit 1
520     ;;
521    
522     makedepend)
523     "$@" || exit $?
524     # Remove any Libtool call
525     if test "$libtool" = yes; then
526 michael 945 while test "X$1" != 'X--mode=compile'; do
527 michael 912 shift
528     done
529     shift
530     fi
531     # X makedepend
532     shift
533 michael 945 cleared=no eat=no
534     for arg
535     do
536 michael 912 case $cleared in
537     no)
538     set ""; shift
539     cleared=yes ;;
540     esac
541 michael 945 if test $eat = yes; then
542     eat=no
543     continue
544     fi
545 michael 912 case "$arg" in
546     -D*|-I*)
547     set fnord "$@" "$arg"; shift ;;
548     # Strip any option that makedepend may not understand. Remove
549     # the object too, otherwise makedepend will parse it as a source file.
550 michael 945 -arch)
551     eat=yes ;;
552 michael 912 -*|$object)
553     ;;
554     *)
555     set fnord "$@" "$arg"; shift ;;
556     esac
557     done
558 michael 945 obj_suffix=`echo "$object" | sed 's/^.*\././'`
559 michael 912 touch "$tmpdepfile"
560     ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
561     rm -f "$depfile"
562 michael 1257 # makedepend may prepend the VPATH from the source file name to the object.
563     # No need to regex-escape $object, excess matching of '.' is harmless.
564     sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
565 michael 912 sed '1,2d' "$tmpdepfile" | tr ' ' '
566     ' | \
567     ## Some versions of the HPUX 10.20 sed can't process this invocation
568     ## correctly. Breaking it into two sed invocations is a workaround.
569     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
570     rm -f "$tmpdepfile" "$tmpdepfile".bak
571     ;;
572    
573     cpp)
574     # Important note: in order to support this mode, a compiler *must*
575     # always write the preprocessed file to stdout.
576     "$@" || exit $?
577    
578     # Remove the call to Libtool.
579     if test "$libtool" = yes; then
580 michael 945 while test "X$1" != 'X--mode=compile'; do
581 michael 912 shift
582     done
583     shift
584     fi
585    
586     # Remove `-o $object'.
587     IFS=" "
588     for arg
589     do
590     case $arg in
591     -o)
592     shift
593     ;;
594     $object)
595     shift
596     ;;
597     *)
598     set fnord "$@" "$arg"
599     shift # fnord
600     shift # $arg
601     ;;
602     esac
603     done
604    
605     "$@" -E |
606     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
607     -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
608     sed '$ s: \\$::' > "$tmpdepfile"
609     rm -f "$depfile"
610     echo "$object : \\" > "$depfile"
611     cat < "$tmpdepfile" >> "$depfile"
612     sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
613     rm -f "$tmpdepfile"
614     ;;
615    
616     msvisualcpp)
617     # Important note: in order to support this mode, a compiler *must*
618 michael 945 # always write the preprocessed file to stdout.
619 michael 912 "$@" || exit $?
620 michael 945
621     # Remove the call to Libtool.
622     if test "$libtool" = yes; then
623     while test "X$1" != 'X--mode=compile'; do
624     shift
625     done
626     shift
627     fi
628    
629 michael 912 IFS=" "
630     for arg
631     do
632     case "$arg" in
633 michael 945 -o)
634     shift
635     ;;
636     $object)
637     shift
638     ;;
639 michael 912 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
640     set fnord "$@"
641     shift
642     shift
643     ;;
644     *)
645     set fnord "$@" "$arg"
646     shift
647     shift
648     ;;
649     esac
650     done
651 michael 945 "$@" -E 2>/dev/null |
652     sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
653 michael 912 rm -f "$depfile"
654     echo "$object : \\" > "$depfile"
655 michael 945 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
656 michael 912 echo " " >> "$depfile"
657 michael 945 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
658 michael 912 rm -f "$tmpdepfile"
659     ;;
660    
661 michael 945 msvcmsys)
662     # This case exists only to let depend.m4 do its work. It works by
663     # looking at the text of this script. This case will never be run,
664     # since it is checked for above.
665     exit 1
666     ;;
667    
668 michael 912 none)
669     exec "$@"
670     ;;
671    
672     *)
673     echo "Unknown depmode $depmode" 1>&2
674     exit 1
675     ;;
676     esac
677    
678     exit 0
679    
680     # Local Variables:
681     # mode: shell-script
682     # sh-indentation: 2
683     # eval: (add-hook 'write-file-hooks 'time-stamp)
684     # time-stamp-start: "scriptversion="
685     # time-stamp-format: "%:y-%02m-%02d.%02H"
686 michael 945 # time-stamp-time-zone: "UTC"
687     # time-stamp-end: "; # UTC"
688 michael 912 # End:

Properties

Name Value
svn:executable *