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

Side by Side Diff: third_party/tcmalloc/vendor/depcomp

Issue 9316021: Update the tcmalloc vendor branch to r144 (gperftools 2.0). (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Reuploading Created 8 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
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=2005-07-09.11 4 scriptversion=2007-03-29.01
5 5
6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
7 # Foundation, Inc.
7 8
8 # 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
9 # 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
10 # the Free Software Foundation; either version 2, or (at your option) 11 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version. 12 # any later version.
12 13
13 # 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,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details. 17 # GNU General Public License for more details.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 # This is just like dashmstdout with a different argument. 85 # This is just like dashmstdout with a different argument.
85 dashmflag=-xM 86 dashmflag=-xM
86 depmode=dashmstdout 87 depmode=dashmstdout
87 fi 88 fi
88 89
89 case "$depmode" in 90 case "$depmode" in
90 gcc3) 91 gcc3)
91 ## gcc 3 implements dependency tracking that does exactly what 92 ## gcc 3 implements dependency tracking that does exactly what
92 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like 93 ## 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 ## it if -MD -MP comes after the -MF stuff. Hmm.
94 "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" 95 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
96 ## the command line argument order; so add the flags where they
97 ## appear in depend2.am. Note that the slowdown incurred here
98 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
99 for arg
100 do
101 case $arg in
102 -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
103 *) set fnord "$@" "$arg" ;;
104 esac
105 shift # fnord
106 shift # $arg
107 done
108 "$@"
95 stat=$? 109 stat=$?
96 if test $stat -eq 0; then : 110 if test $stat -eq 0; then :
97 else 111 else
98 rm -f "$tmpdepfile" 112 rm -f "$tmpdepfile"
99 exit $stat 113 exit $stat
100 fi 114 fi
101 mv "$tmpdepfile" "$depfile" 115 mv "$tmpdepfile" "$depfile"
102 ;; 116 ;;
103 117
104 gcc) 118 gcc)
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 fi 208 fi
195 rm -f "$tmpdepfile" 209 rm -f "$tmpdepfile"
196 ;; 210 ;;
197 211
198 aix) 212 aix)
199 # The C for AIX Compiler uses -M and outputs the dependencies 213 # 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 214 # in a .u file. In older versions, this file always lives in the
201 # current directory. Also, the AIX compiler puts `$object:' at the 215 # current directory. Also, the AIX compiler puts `$object:' at the
202 # start of each line; $object doesn't have directory information. 216 # start of each line; $object doesn't have directory information.
203 # Version 6 uses the directory in both cases. 217 # Version 6 uses the directory in both cases.
204 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` 218 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
205 tmpdepfile="$stripped.u" 219 test "x$dir" = "x$object" && dir=
220 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
206 if test "$libtool" = yes; then 221 if test "$libtool" = yes; then
222 tmpdepfile1=$dir$base.u
223 tmpdepfile2=$base.u
224 tmpdepfile3=$dir.libs/$base.u
207 "$@" -Wc,-M 225 "$@" -Wc,-M
208 else 226 else
227 tmpdepfile1=$dir$base.u
228 tmpdepfile2=$dir$base.u
229 tmpdepfile3=$dir$base.u
209 "$@" -M 230 "$@" -M
210 fi 231 fi
211 stat=$? 232 stat=$?
212 233
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 : 234 if test $stat -eq 0; then :
220 else 235 else
221 rm -f "$tmpdepfile" 236 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
222 exit $stat 237 exit $stat
223 fi 238 fi
224 239
240 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
241 do
242 test -f "$tmpdepfile" && break
243 done
225 if test -f "$tmpdepfile"; then 244 if test -f "$tmpdepfile"; then
226 outname="$stripped.o"
227 # Each line is of the form `foo.o: dependent.h'. 245 # Each line is of the form `foo.o: dependent.h'.
228 # Do two passes, one to just change these to 246 # Do two passes, one to just change these to
229 # `$object: dependent.h' and one to simply `dependent.h:'. 247 # `$object: dependent.h' and one to simply `dependent.h:'.
230 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" 248 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
231 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" 249 # That's a tab and a space in the [].
250 sed -e 's,^.*\.[a-z]*:[» ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
232 else 251 else
233 # The sourcefile does not contain any dependencies, so just 252 # The sourcefile does not contain any dependencies, so just
234 # store a dummy comment line, to avoid errors with the Makefile 253 # store a dummy comment line, to avoid errors with the Makefile
235 # "include basename.Plo" scheme. 254 # "include basename.Plo" scheme.
236 echo "#dummy" > "$depfile" 255 echo "#dummy" > "$depfile"
237 fi 256 fi
238 rm -f "$tmpdepfile" 257 rm -f "$tmpdepfile"
239 ;; 258 ;;
240 259
241 icc) 260 icc)
(...skipping 27 matching lines...) Expand all
269 # Do two passes, one to just change these to 288 # Do two passes, one to just change these to
270 # `$object: dependent.h' and one to simply `dependent.h:'. 289 # `$object: dependent.h' and one to simply `dependent.h:'.
271 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" 290 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
272 # Some versions of the HPUX 10.20 sed can't process this invocation 291 # Some versions of the HPUX 10.20 sed can't process this invocation
273 # correctly. Breaking it into two sed invocations is a workaround. 292 # correctly. Breaking it into two sed invocations is a workaround.
274 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | 293 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
275 sed -e 's/$/ :/' >> "$depfile" 294 sed -e 's/$/ :/' >> "$depfile"
276 rm -f "$tmpdepfile" 295 rm -f "$tmpdepfile"
277 ;; 296 ;;
278 297
298 hp2)
299 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
300 # compilers, which have integrated preprocessors. The correct option
301 # to use with these is +Maked; it writes dependencies to a file named
302 # 'foo.d', which lands next to the object file, wherever that
303 # happens to be.
304 # Much of this is similar to the tru64 case; see comments there.
305 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
306 test "x$dir" = "x$object" && dir=
307 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
308 if test "$libtool" = yes; then
309 tmpdepfile1=$dir$base.d
310 tmpdepfile2=$dir.libs/$base.d
311 "$@" -Wc,+Maked
312 else
313 tmpdepfile1=$dir$base.d
314 tmpdepfile2=$dir$base.d
315 "$@" +Maked
316 fi
317 stat=$?
318 if test $stat -eq 0; then :
319 else
320 rm -f "$tmpdepfile1" "$tmpdepfile2"
321 exit $stat
322 fi
323
324 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
325 do
326 test -f "$tmpdepfile" && break
327 done
328 if test -f "$tmpdepfile"; then
329 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
330 # Add `dependent.h:' lines.
331 sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
332 else
333 echo "#dummy" > "$depfile"
334 fi
335 rm -f "$tmpdepfile" "$tmpdepfile2"
336 ;;
337
279 tru64) 338 tru64)
280 # The Tru64 compiler uses -MD to generate dependencies as a side 339 # 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'. 340 # 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 341 # 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. 342 # dependencies in `foo.d' instead, so we check for that too.
284 # Subdirectories are respected. 343 # Subdirectories are respected.
285 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 344 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
286 test "x$dir" = "x$object" && dir= 345 test "x$dir" = "x$object" && dir=
287 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 346 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
288 347
289 if test "$libtool" = yes; then 348 if test "$libtool" = yes; then
290 # With Tru64 cc, shared objects can also be used to make a 349 # 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 350 # static library. This mechanism is used in libtool 1.4 series to
292 # handle both shared and static libraries in a single compilation. 351 # handle both shared and static libraries in a single compilation.
293 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 352 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
294 # 353 #
295 # With libtool 1.5 this exception was removed, and libtool now 354 # With libtool 1.5 this exception was removed, and libtool now
296 # generates 2 separate objects for the 2 libraries. These two 355 # generates 2 separate objects for the 2 libraries. These two
297 # compilations output dependencies in in $dir.libs/$base.o.d and 356 # compilations output dependencies in $dir.libs/$base.o.d and
298 # in $dir$base.o.d. We have to check for both files, because 357 # in $dir$base.o.d. We have to check for both files, because
299 # one of the two compilations can be disabled. We should prefer 358 # one of the two compilations can be disabled. We should prefer
300 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 359 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
301 # automatically cleaned when .libs/ is deleted, while ignoring 360 # automatically cleaned when .libs/ is deleted, while ignoring
302 # the former would cause a distcleancheck panic. 361 # the former would cause a distcleancheck panic.
303 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 362 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
304 tmpdepfile2=$dir$base.o.d # libtool 1.5 363 tmpdepfile2=$dir$base.o.d # libtool 1.5
305 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 364 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
306 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 365 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
307 "$@" -Wc,-MD 366 "$@" -Wc,-MD
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 exit 0 580 exit 0
522 581
523 # Local Variables: 582 # Local Variables:
524 # mode: shell-script 583 # mode: shell-script
525 # sh-indentation: 2 584 # sh-indentation: 2
526 # eval: (add-hook 'write-file-hooks 'time-stamp) 585 # eval: (add-hook 'write-file-hooks 'time-stamp)
527 # time-stamp-start: "scriptversion=" 586 # time-stamp-start: "scriptversion="
528 # time-stamp-format: "%:y-%02m-%02d.%02H" 587 # time-stamp-format: "%:y-%02m-%02d.%02H"
529 # time-stamp-end: "$" 588 # time-stamp-end: "$"
530 # End: 589 # End:
OLDNEW
« no previous file with comments | « third_party/tcmalloc/vendor/configure.ac ('k') | third_party/tcmalloc/vendor/doc/cpuprofile.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698