Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Side by Side Diff: depcomp

Issue 12388030: Update Opus to 1.0.2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/opus
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « configure.ac ('k') | doc/Doxyfile.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #! /bin/sh 1 #! /bin/sh
2 # depcomp - compile a program generating dependencies as side-effects 2 # depcomp - compile a program generating dependencies as side-effects
3 3
4 scriptversion=2011-12-04.11; # UTC 4 scriptversion=2012-03-27.16; # UTC
5 5
6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
7 # 2011 Free Software Foundation, Inc. 7 # 2011, 2012 Free Software Foundation, Inc.
8 8
9 # This program is free software; you can redistribute it and/or modify 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 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) 11 # the Free Software Foundation; either version 2, or (at your option)
12 # any later version. 12 # any later version.
13 13
14 # This program is distributed in the hope that it will be useful, 14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details. 17 # GNU General Public License for more details.
18 18
19 # You should have received a copy of the GNU General Public License 19 # 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/>. 20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 21
22 # As a special exception to the GNU General Public License, if you 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 23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under 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. 25 # the same distribution terms that you use for the rest of that program.
26 26
27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. 27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28 28
29 case $1 in 29 case $1 in
30 '') 30 '')
31 echo "$0: No command. Try \`$0 --help' for more information." 1>&2 31 echo "$0: No command. Try '$0 --help' for more information." 1>&2
32 exit 1; 32 exit 1;
33 ;; 33 ;;
34 -h | --h*) 34 -h | --h*)
35 cat <<\EOF 35 cat <<\EOF
36 Usage: depcomp [--help] [--version] PROGRAM [ARGS] 36 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
37 37
38 Run PROGRAMS ARGS to compile a file, generating dependencies 38 Run PROGRAMS ARGS to compile a file, generating dependencies
39 as side-effects. 39 as side-effects.
40 40
41 Environment variables: 41 Environment variables:
42 depmode Dependency tracking mode. 42 depmode Dependency tracking mode.
43 source Source file read by `PROGRAMS ARGS'. 43 source Source file read by 'PROGRAMS ARGS'.
44 object Object file output by `PROGRAMS ARGS'. 44 object Object file output by 'PROGRAMS ARGS'.
45 DEPDIR directory where to store dependencies. 45 DEPDIR directory where to store dependencies.
46 depfile Dependency file to output. 46 depfile Dependency file to output.
47 tmpdepfile Temporary file to use when outputting dependencies. 47 tmpdepfile Temporary file to use when outputting dependencies.
48 libtool Whether libtool is used (yes/no). 48 libtool Whether libtool is used (yes/no).
49 49
50 Report bugs to <bug-automake@gnu.org>. 50 Report bugs to <bug-automake@gnu.org>.
51 EOF 51 EOF
52 exit $? 52 exit $?
53 ;; 53 ;;
54 -v | --v*) 54 -v | --v*)
55 echo "depcomp $scriptversion" 55 echo "depcomp $scriptversion"
56 exit $? 56 exit $?
57 ;; 57 ;;
58 esac 58 esac
59 59
60 # A tabulation character.
61 tab=' '
62 # A newline character.
63 nl='
64 '
65
60 if test -z "$depmode" || test -z "$source" || test -z "$object"; then 66 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61 echo "depcomp: Variables source, object and depmode must be set" 1>&2 67 echo "depcomp: Variables source, object and depmode must be set" 1>&2
62 exit 1 68 exit 1
63 fi 69 fi
64 70
65 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. 71 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
66 depfile=${depfile-`echo "$object" | 72 depfile=${depfile-`echo "$object" |
67 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} 73 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
68 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} 74 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69 75
(...skipping 25 matching lines...) Expand all
95 fi 101 fi
96 102
97 if test "$depmode" = msvc7msys; then 103 if test "$depmode" = msvc7msys; then
98 # This is just like msvc7 but w/o cygpath translation. 104 # This is just like msvc7 but w/o cygpath translation.
99 # Just convert the backslash-escaped backslashes to single forward 105 # Just convert the backslash-escaped backslashes to single forward
100 # slashes to satisfy depend.m4 106 # slashes to satisfy depend.m4
101 cygpath_u='sed s,\\\\,/,g' 107 cygpath_u='sed s,\\\\,/,g'
102 depmode=msvc7 108 depmode=msvc7
103 fi 109 fi
104 110
111 if test "$depmode" = xlc; then
112 # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
113 gccflag=-qmakedep=gcc,-MF
114 depmode=gcc
115 fi
116
105 case "$depmode" in 117 case "$depmode" in
106 gcc3) 118 gcc3)
107 ## gcc 3 implements dependency tracking that does exactly what 119 ## gcc 3 implements dependency tracking that does exactly what
108 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like 120 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
109 ## it if -MD -MP comes after the -MF stuff. Hmm. 121 ## it if -MD -MP comes after the -MF stuff. Hmm.
110 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon 122 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
111 ## the command line argument order; so add the flags where they 123 ## the command line argument order; so add the flags where they
112 ## appear in depend2.am. Note that the slowdown incurred here 124 ## appear in depend2.am. Note that the slowdown incurred here
113 ## affects only configure: in makefiles, %FASTDEP% shortcuts this. 125 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
114 for arg 126 for arg
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 else 161 else
150 rm -f "$tmpdepfile" 162 rm -f "$tmpdepfile"
151 exit $stat 163 exit $stat
152 fi 164 fi
153 rm -f "$depfile" 165 rm -f "$depfile"
154 echo "$object : \\" > "$depfile" 166 echo "$object : \\" > "$depfile"
155 alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 167 alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
156 ## The second -e expression handles DOS-style file names with drive letters. 168 ## The second -e expression handles DOS-style file names with drive letters.
157 sed -e 's/^[^:]*: / /' \ 169 sed -e 's/^[^:]*: / /' \
158 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" 170 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
159 ## This next piece of magic avoids the `deleted header file' problem. 171 ## 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 172 ## 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 173 ## is deleted, the dependency causes make to die (because there is
162 ## typically no way to rebuild the header). We avoid this by adding 174 ## 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 175 ## dummy dependencies for each header file. Too bad gcc doesn't do
164 ## this for us directly. 176 ## this for us directly.
165 tr ' ' ' 177 tr ' ' "$nl" < "$tmpdepfile" |
166 ' < "$tmpdepfile" | 178 ## Some versions of gcc put a space before the ':'. On the theory
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 179 ## that the space means something, we add a space to the output as
169 ## well. hp depmode also adds that space, but also prefixes the VPATH 180 ## 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. 181 ## to the object. Take care to not repeat it in the output.
171 ## Some versions of the HPUX 10.20 sed can't process this invocation 182 ## Some versions of the HPUX 10.20 sed can't process this invocation
172 ## correctly. Breaking it into two sed invocations is a workaround. 183 ## correctly. Breaking it into two sed invocations is a workaround.
173 sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ 184 sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
174 | sed -e 's/$/ :/' >> "$depfile" 185 | sed -e 's/$/ :/' >> "$depfile"
175 rm -f "$tmpdepfile" 186 rm -f "$tmpdepfile"
176 ;; 187 ;;
177 188
(...skipping 18 matching lines...) Expand all
196 fi 207 fi
197 rm -f "$depfile" 208 rm -f "$depfile"
198 209
199 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files 210 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
200 echo "$object : \\" > "$depfile" 211 echo "$object : \\" > "$depfile"
201 212
202 # Clip off the initial element (the dependent). Don't try to be 213 # 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 214 # 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 215 # 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; 216 # 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 217 # the IRIX cc adds comments like '#:fec' to the end of the
207 # dependency line. 218 # dependency line.
208 tr ' ' ' 219 tr ' ' "$nl" < "$tmpdepfile" \
209 ' < "$tmpdepfile" \
210 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ 220 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
211 tr ' 221 tr "$nl" ' ' >> "$depfile"
212 ' ' ' >> "$depfile"
213 echo >> "$depfile" 222 echo >> "$depfile"
214 223
215 # The second pass generates a dummy entry for each header file. 224 # The second pass generates a dummy entry for each header file.
216 tr ' ' ' 225 tr ' ' "$nl" < "$tmpdepfile" \
217 ' < "$tmpdepfile" \
218 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ 226 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
219 >> "$depfile" 227 >> "$depfile"
220 else 228 else
221 # The sourcefile does not contain any dependencies, so just 229 # The sourcefile does not contain any dependencies, so just
222 # store a dummy comment line, to avoid errors with the Makefile 230 # store a dummy comment line, to avoid errors with the Makefile
223 # "include basename.Plo" scheme. 231 # "include basename.Plo" scheme.
224 echo "#dummy" > "$depfile" 232 echo "#dummy" > "$depfile"
225 fi 233 fi
226 rm -f "$tmpdepfile" 234 rm -f "$tmpdepfile"
227 ;; 235 ;;
228 236
237 xlc)
238 # This case exists only to let depend.m4 do its work. It works by
239 # looking at the text of this script. This case will never be run,
240 # since it is checked for above.
241 exit 1
242 ;;
243
229 aix) 244 aix)
230 # The C for AIX Compiler uses -M and outputs the dependencies 245 # 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 246 # in a .u file. In older versions, this file always lives in the
232 # current directory. Also, the AIX compiler puts `$object:' at the 247 # current directory. Also, the AIX compiler puts '$object:' at the
233 # start of each line; $object doesn't have directory information. 248 # start of each line; $object doesn't have directory information.
234 # Version 6 uses the directory in both cases. 249 # Version 6 uses the directory in both cases.
235 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 250 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
236 test "x$dir" = "x$object" && dir= 251 test "x$dir" = "x$object" && dir=
237 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 252 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
238 if test "$libtool" = yes; then 253 if test "$libtool" = yes; then
239 tmpdepfile1=$dir$base.u 254 tmpdepfile1=$dir$base.u
240 tmpdepfile2=$base.u 255 tmpdepfile2=$base.u
241 tmpdepfile3=$dir.libs/$base.u 256 tmpdepfile3=$dir.libs/$base.u
242 "$@" -Wc,-M 257 "$@" -Wc,-M
243 else 258 else
244 tmpdepfile1=$dir$base.u 259 tmpdepfile1=$dir$base.u
245 tmpdepfile2=$dir$base.u 260 tmpdepfile2=$dir$base.u
246 tmpdepfile3=$dir$base.u 261 tmpdepfile3=$dir$base.u
247 "$@" -M 262 "$@" -M
248 fi 263 fi
249 stat=$? 264 stat=$?
250 265
251 if test $stat -eq 0; then : 266 if test $stat -eq 0; then :
252 else 267 else
253 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 268 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
254 exit $stat 269 exit $stat
255 fi 270 fi
256 271
257 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 272 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
258 do 273 do
259 test -f "$tmpdepfile" && break 274 test -f "$tmpdepfile" && break
260 done 275 done
261 if test -f "$tmpdepfile"; then 276 if test -f "$tmpdepfile"; then
262 # Each line is of the form `foo.o: dependent.h'. 277 # Each line is of the form 'foo.o: dependent.h'.
263 # Do two passes, one to just change these to 278 # Do two passes, one to just change these to
264 # `$object: dependent.h' and one to simply `dependent.h:'. 279 # '$object: dependent.h' and one to simply 'dependent.h:'.
265 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 280 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
266 # That's a tab and a space in the []. 281 sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfi le"
267 sed -e 's,^.*\.[a-z]*:[» ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
268 else 282 else
269 # The sourcefile does not contain any dependencies, so just 283 # The sourcefile does not contain any dependencies, so just
270 # store a dummy comment line, to avoid errors with the Makefile 284 # store a dummy comment line, to avoid errors with the Makefile
271 # "include basename.Plo" scheme. 285 # "include basename.Plo" scheme.
272 echo "#dummy" > "$depfile" 286 echo "#dummy" > "$depfile"
273 fi 287 fi
274 rm -f "$tmpdepfile" 288 rm -f "$tmpdepfile"
275 ;; 289 ;;
276 290
277 icc) 291 icc)
278 # Intel's C compiler understands `-MD -MF file'. However on 292 # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
279 # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c 293 # However on
294 # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
280 # ICC 7.0 will fill foo.d with something like 295 # ICC 7.0 will fill foo.d with something like
281 # foo.o: sub/foo.c 296 # foo.o: sub/foo.c
282 # foo.o: sub/foo.h 297 # foo.o: sub/foo.h
283 # which is wrong. We want: 298 # which is wrong. We want
284 # sub/foo.o: sub/foo.c 299 # sub/foo.o: sub/foo.c
285 # sub/foo.o: sub/foo.h 300 # sub/foo.o: sub/foo.h
286 # sub/foo.c: 301 # sub/foo.c:
287 # sub/foo.h: 302 # sub/foo.h:
288 # ICC 7.1 will output 303 # ICC 7.1 will output
289 # foo.o: sub/foo.c sub/foo.h 304 # foo.o: sub/foo.c sub/foo.h
290 # and will wrap long lines using \ : 305 # and will wrap long lines using '\':
291 # foo.o: sub/foo.c ... \ 306 # foo.o: sub/foo.c ... \
292 # sub/foo.h ... \ 307 # sub/foo.h ... \
293 # ... 308 # ...
294 309 # tcc 0.9.26 (FIXME still under development at the moment of writing)
310 # will emit a similar output, but also prepend the continuation lines
311 # with horizontal tabulation characters.
295 "$@" -MD -MF "$tmpdepfile" 312 "$@" -MD -MF "$tmpdepfile"
296 stat=$? 313 stat=$?
297 if test $stat -eq 0; then : 314 if test $stat -eq 0; then :
298 else 315 else
299 rm -f "$tmpdepfile" 316 rm -f "$tmpdepfile"
300 exit $stat 317 exit $stat
301 fi 318 fi
302 rm -f "$depfile" 319 rm -f "$depfile"
303 # Each line is of the form `foo.o: dependent.h', 320 # Each line is of the form 'foo.o: dependent.h',
304 # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. 321 # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
305 # Do two passes, one to just change these to 322 # Do two passes, one to just change these to
306 # `$object: dependent.h' and one to simply `dependent.h:'. 323 # '$object: dependent.h' and one to simply 'dependent.h:'.
307 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" 324 sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
308 # Some versions of the HPUX 10.20 sed can't process this invocation 325 < "$tmpdepfile" > "$depfile"
309 # correctly. Breaking it into two sed invocations is a workaround. 326 sed '
310 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | 327 s/[ '"$tab"'][ '"$tab"']*/ /g
311 sed -e 's/$/ :/' >> "$depfile" 328 s/^ *//
329 s/ *\\*$//
330 s/^[^:]*: *//
331 /^$/d
332 /:$/d
333 s/$/ :/
334 ' < "$tmpdepfile" >> "$depfile"
312 rm -f "$tmpdepfile" 335 rm -f "$tmpdepfile"
313 ;; 336 ;;
314 337
315 hp2) 338 hp2)
316 # The "hp" stanza above does not work with aCC (C++) and HP's ia64 339 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
317 # compilers, which have integrated preprocessors. The correct option 340 # compilers, which have integrated preprocessors. The correct option
318 # to use with these is +Maked; it writes dependencies to a file named 341 # 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 342 # 'foo.d', which lands next to the object file, wherever that
320 # happens to be. 343 # happens to be.
321 # Much of this is similar to the tru64 case; see comments there. 344 # Much of this is similar to the tru64 case; see comments there.
(...skipping 15 matching lines...) Expand all
337 rm -f "$tmpdepfile1" "$tmpdepfile2" 360 rm -f "$tmpdepfile1" "$tmpdepfile2"
338 exit $stat 361 exit $stat
339 fi 362 fi
340 363
341 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" 364 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
342 do 365 do
343 test -f "$tmpdepfile" && break 366 test -f "$tmpdepfile" && break
344 done 367 done
345 if test -f "$tmpdepfile"; then 368 if test -f "$tmpdepfile"; then
346 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" 369 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
347 # Add `dependent.h:' lines. 370 # Add 'dependent.h:' lines.
348 sed -ne '2,${ 371 sed -ne '2,${
349 s/^ *// 372 s/^ *//
350 s/ \\*$// 373 s/ \\*$//
351 s/$/:/ 374 s/$/:/
352 p 375 p
353 }' "$tmpdepfile" >> "$depfile" 376 }' "$tmpdepfile" >> "$depfile"
354 else 377 else
355 echo "#dummy" > "$depfile" 378 echo "#dummy" > "$depfile"
356 fi 379 fi
357 rm -f "$tmpdepfile" "$tmpdepfile2" 380 rm -f "$tmpdepfile" "$tmpdepfile2"
358 ;; 381 ;;
359 382
360 tru64) 383 tru64)
361 # The Tru64 compiler uses -MD to generate dependencies as a side 384 # 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'. 385 # 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 386 # 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. 387 # dependencies in 'foo.d' instead, so we check for that too.
365 # Subdirectories are respected. 388 # Subdirectories are respected.
366 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 389 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
367 test "x$dir" = "x$object" && dir= 390 test "x$dir" = "x$object" && dir=
368 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 391 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
369 392
370 if test "$libtool" = yes; then 393 if test "$libtool" = yes; then
371 # With Tru64 cc, shared objects can also be used to make a 394 # 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 395 # static library. This mechanism is used in libtool 1.4 series to
373 # handle both shared and static libraries in a single compilation. 396 # handle both shared and static libraries in a single compilation.
374 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 397 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
(...skipping 25 matching lines...) Expand all
400 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 423 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
401 exit $stat 424 exit $stat
402 fi 425 fi
403 426
404 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 427 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
405 do 428 do
406 test -f "$tmpdepfile" && break 429 test -f "$tmpdepfile" && break
407 done 430 done
408 if test -f "$tmpdepfile"; then 431 if test -f "$tmpdepfile"; then
409 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 432 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
410 # That's a tab and a space in the []. 433 sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$dep file"
411 sed -e 's,^.*\.[a-z]*:[» ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
412 else 434 else
413 echo "#dummy" > "$depfile" 435 echo "#dummy" > "$depfile"
414 fi 436 fi
415 rm -f "$tmpdepfile" 437 rm -f "$tmpdepfile"
416 ;; 438 ;;
417 439
418 msvc7) 440 msvc7)
419 if test "$libtool" = yes; then 441 if test "$libtool" = yes; then
420 showIncludes=-Wc,-showIncludes 442 showIncludes=-Wc,-showIncludes
421 else 443 else
(...skipping 14 matching lines...) Expand all
436 # name when reading, but also accumulates all include files in the 458 # 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 459 # hold buffer in order to output them again at the end. This only
438 # works with sed implementations that can handle large buffers. 460 # works with sed implementations that can handle large buffers.
439 sed < "$tmpdepfile" -n ' 461 sed < "$tmpdepfile" -n '
440 /^Note: including file: *\(.*\)/ { 462 /^Note: including file: *\(.*\)/ {
441 s//\1/ 463 s//\1/
442 s/\\/\\\\/g 464 s/\\/\\\\/g
443 p 465 p
444 }' | $cygpath_u | sort -u | sed -n ' 466 }' | $cygpath_u | sort -u | sed -n '
445 s/ /\\ /g 467 s/ /\\ /g
446 s/\(.*\)/» \1 \\/p 468 s/\(.*\)/'"$tab"'\1 \\/p
447 s/.\(.*\) \\/\1:/ 469 s/.\(.*\) \\/\1:/
448 H 470 H
449 $ { 471 $ {
450 s/.*/»/ 472 s/.*/'"$tab"'/
451 G 473 G
452 p 474 p
453 }' >> "$depfile" 475 }' >> "$depfile"
454 rm -f "$tmpdepfile" 476 rm -f "$tmpdepfile"
455 ;; 477 ;;
456 478
457 msvc7msys) 479 msvc7msys)
458 # This case exists only to let depend.m4 do its work. It works by 480 # 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, 481 # looking at the text of this script. This case will never be run,
460 # since it is checked for above. 482 # since it is checked for above.
(...skipping 10 matching lines...) Expand all
471 "$@" || exit $? 493 "$@" || exit $?
472 494
473 # Remove the call to Libtool. 495 # Remove the call to Libtool.
474 if test "$libtool" = yes; then 496 if test "$libtool" = yes; then
475 while test "X$1" != 'X--mode=compile'; do 497 while test "X$1" != 'X--mode=compile'; do
476 shift 498 shift
477 done 499 done
478 shift 500 shift
479 fi 501 fi
480 502
481 # Remove `-o $object'. 503 # Remove '-o $object'.
482 IFS=" " 504 IFS=" "
483 for arg 505 for arg
484 do 506 do
485 case $arg in 507 case $arg in
486 -o) 508 -o)
487 shift 509 shift
488 ;; 510 ;;
489 $object) 511 $object)
490 shift 512 shift
491 ;; 513 ;;
492 *) 514 *)
493 set fnord "$@" "$arg" 515 set fnord "$@" "$arg"
494 shift # fnord 516 shift # fnord
495 shift # $arg 517 shift # $arg
496 ;; 518 ;;
497 esac 519 esac
498 done 520 done
499 521
500 test -z "$dashmflag" && dashmflag=-M 522 test -z "$dashmflag" && dashmflag=-M
501 # Require at least two characters before searching for `:' 523 # Require at least two characters before searching for ':'
502 # in the target name. This is to cope with DOS-style filenames: 524 # 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. 525 # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
504 "$@" $dashmflag | 526 "$@" $dashmflag |
505 sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" 527 sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
506 rm -f "$depfile" 528 rm -f "$depfile"
507 cat < "$tmpdepfile" > "$depfile" 529 cat < "$tmpdepfile" > "$depfile"
508 tr ' ' ' 530 tr ' ' "$nl" < "$tmpdepfile" | \
509 ' < "$tmpdepfile" | \
510 ## Some versions of the HPUX 10.20 sed can't process this invocation 531 ## Some versions of the HPUX 10.20 sed can't process this invocation
511 ## correctly. Breaking it into two sed invocations is a workaround. 532 ## correctly. Breaking it into two sed invocations is a workaround.
512 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 533 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
513 rm -f "$tmpdepfile" 534 rm -f "$tmpdepfile"
514 ;; 535 ;;
515 536
516 dashXmstdout) 537 dashXmstdout)
517 # This case only exists to satisfy depend.m4. It is never actually 538 # This case only exists to satisfy depend.m4. It is never actually
518 # run, as this mode is specially recognized in the preamble. 539 # run, as this mode is specially recognized in the preamble.
519 exit 1 540 exit 1
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 set fnord "$@" "$arg"; shift ;; 576 set fnord "$@" "$arg"; shift ;;
556 esac 577 esac
557 done 578 done
558 obj_suffix=`echo "$object" | sed 's/^.*\././'` 579 obj_suffix=`echo "$object" | sed 's/^.*\././'`
559 touch "$tmpdepfile" 580 touch "$tmpdepfile"
560 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" 581 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
561 rm -f "$depfile" 582 rm -f "$depfile"
562 # makedepend may prepend the VPATH from the source file name to the object. 583 # 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. 584 # No need to regex-escape $object, excess matching of '.' is harmless.
564 sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" 585 sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
565 sed '1,2d' "$tmpdepfile" | tr ' ' ' 586 sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
566 ' | \
567 ## Some versions of the HPUX 10.20 sed can't process this invocation 587 ## Some versions of the HPUX 10.20 sed can't process this invocation
568 ## correctly. Breaking it into two sed invocations is a workaround. 588 ## correctly. Breaking it into two sed invocations is a workaround.
569 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 589 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
570 rm -f "$tmpdepfile" "$tmpdepfile".bak 590 rm -f "$tmpdepfile" "$tmpdepfile".bak
571 ;; 591 ;;
572 592
573 cpp) 593 cpp)
574 # Important note: in order to support this mode, a compiler *must* 594 # Important note: in order to support this mode, a compiler *must*
575 # always write the preprocessed file to stdout. 595 # always write the preprocessed file to stdout.
576 "$@" || exit $? 596 "$@" || exit $?
577 597
578 # Remove the call to Libtool. 598 # Remove the call to Libtool.
579 if test "$libtool" = yes; then 599 if test "$libtool" = yes; then
580 while test "X$1" != 'X--mode=compile'; do 600 while test "X$1" != 'X--mode=compile'; do
581 shift 601 shift
582 done 602 done
583 shift 603 shift
584 fi 604 fi
585 605
586 # Remove `-o $object'. 606 # Remove '-o $object'.
587 IFS=" " 607 IFS=" "
588 for arg 608 for arg
589 do 609 do
590 case $arg in 610 case $arg in
591 -o) 611 -o)
592 shift 612 shift
593 ;; 613 ;;
594 $object) 614 $object)
595 shift 615 shift
596 ;; 616 ;;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 set fnord "$@" "$arg" 665 set fnord "$@" "$arg"
646 shift 666 shift
647 shift 667 shift
648 ;; 668 ;;
649 esac 669 esac
650 done 670 done
651 "$@" -E 2>/dev/null | 671 "$@" -E 2>/dev/null |
652 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$t mpdepfile" 672 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$t mpdepfile"
653 rm -f "$depfile" 673 rm -f "$depfile"
654 echo "$object : \\" > "$depfile" 674 echo "$object : \\" > "$depfile"
655 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::» \1 \\:p' >> "$de pfile" 675 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$ depfile"
656 echo "» " >> "$depfile" 676 echo "$tab" >> "$depfile"
657 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" 677 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
658 rm -f "$tmpdepfile" 678 rm -f "$tmpdepfile"
659 ;; 679 ;;
660 680
661 msvcmsys) 681 msvcmsys)
662 # This case exists only to let depend.m4 do its work. It works by 682 # 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, 683 # looking at the text of this script. This case will never be run,
664 # since it is checked for above. 684 # since it is checked for above.
665 exit 1 685 exit 1
666 ;; 686 ;;
(...skipping 12 matching lines...) Expand all
679 699
680 # Local Variables: 700 # Local Variables:
681 # mode: shell-script 701 # mode: shell-script
682 # sh-indentation: 2 702 # sh-indentation: 2
683 # eval: (add-hook 'write-file-hooks 'time-stamp) 703 # eval: (add-hook 'write-file-hooks 'time-stamp)
684 # time-stamp-start: "scriptversion=" 704 # time-stamp-start: "scriptversion="
685 # time-stamp-format: "%:y-%02m-%02d.%02H" 705 # time-stamp-format: "%:y-%02m-%02d.%02H"
686 # time-stamp-time-zone: "UTC" 706 # time-stamp-time-zone: "UTC"
687 # time-stamp-end: "; # UTC" 707 # time-stamp-end: "; # UTC"
688 # End: 708 # End:
OLDNEW
« no previous file with comments | « configure.ac ('k') | doc/Doxyfile.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698