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

Side by Side Diff: third_party/libxml/depcomp

Issue 2951008: Update libxml to 2.7.7. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 5 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
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=2006-10-15.18 4 scriptversion=2009-04-28.21; # UTC
5 5
6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7 # Foundation, Inc. 7 # 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, write to the Free Software 20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 # 02110-1301, USA.
23 21
24 # 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
25 # distribute this file as part of a program that contains a 23 # distribute this file as part of a program that contains a
26 # configuration script generated by Autoconf, you may include it under 24 # configuration script generated by Autoconf, you may include it under
27 # 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.
28 26
29 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. 27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
30 28
31 case $1 in 29 case $1 in
32 '') 30 '')
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 gccflag=-M 78 gccflag=-M
81 depmode=gcc 79 depmode=gcc
82 fi 80 fi
83 81
84 if test "$depmode" = dashXmstdout; then 82 if test "$depmode" = dashXmstdout; then
85 # This is just like dashmstdout with a different argument. 83 # This is just like dashmstdout with a different argument.
86 dashmflag=-xM 84 dashmflag=-xM
87 depmode=dashmstdout 85 depmode=dashmstdout
88 fi 86 fi
89 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
90 case "$depmode" in 97 case "$depmode" in
91 gcc3) 98 gcc3)
92 ## gcc 3 implements dependency tracking that does exactly what 99 ## gcc 3 implements dependency tracking that does exactly what
93 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like 100 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
94 ## it if -MD -MP comes after the -MF stuff. Hmm. 101 ## it if -MD -MP comes after the -MF stuff. Hmm.
95 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon 102 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
96 ## the command line argument order; so add the flags where they 103 ## the command line argument order; so add the flags where they
97 ## appear in depend2.am. Note that the slowdown incurred here 104 ## appear in depend2.am. Note that the slowdown incurred here
98 ## affects only configure: in makefiles, %FASTDEP% shortcuts this. 105 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
99 for arg 106 for arg
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 # Clip off the initial element (the dependent). Don't try to be 192 # Clip off the initial element (the dependent). Don't try to be
186 # clever and replace this with sed code, as IRIX sed won't handle 193 # clever and replace this with sed code, as IRIX sed won't handle
187 # lines with more than a fixed number of characters (4096 in 194 # lines with more than a fixed number of characters (4096 in
188 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; 195 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
189 # the IRIX cc adds comments like `#:fec' to the end of the 196 # the IRIX cc adds comments like `#:fec' to the end of the
190 # dependency line. 197 # dependency line.
191 tr ' ' ' 198 tr ' ' '
192 ' < "$tmpdepfile" \ 199 ' < "$tmpdepfile" \
193 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ 200 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
194 tr ' 201 tr '
195 ' ' ' >> $depfile 202 ' ' ' >> "$depfile"
196 echo >> $depfile 203 echo >> "$depfile"
197 204
198 # The second pass generates a dummy entry for each header file. 205 # The second pass generates a dummy entry for each header file.
199 tr ' ' ' 206 tr ' ' '
200 ' < "$tmpdepfile" \ 207 ' < "$tmpdepfile" \
201 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ 208 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
202 >> $depfile 209 >> "$depfile"
203 else 210 else
204 # The sourcefile does not contain any dependencies, so just 211 # The sourcefile does not contain any dependencies, so just
205 # store a dummy comment line, to avoid errors with the Makefile 212 # store a dummy comment line, to avoid errors with the Makefile
206 # "include basename.Plo" scheme. 213 # "include basename.Plo" scheme.
207 echo "#dummy" > "$depfile" 214 echo "#dummy" > "$depfile"
208 fi 215 fi
209 rm -f "$tmpdepfile" 216 rm -f "$tmpdepfile"
210 ;; 217 ;;
211 218
212 aix) 219 aix)
213 # The C for AIX Compiler uses -M and outputs the dependencies 220 # The C for AIX Compiler uses -M and outputs the dependencies
214 # in a .u file. In older versions, this file always lives in the 221 # in a .u file. In older versions, this file always lives in the
215 # current directory. Also, the AIX compiler puts `$object:' at the 222 # current directory. Also, the AIX compiler puts `$object:' at the
216 # start of each line; $object doesn't have directory information. 223 # start of each line; $object doesn't have directory information.
217 # Version 6 uses the directory in both cases. 224 # Version 6 uses the directory in both cases.
218 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` 225 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
219 tmpdepfile="$stripped.u" 226 test "x$dir" = "x$object" && dir=
227 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
220 if test "$libtool" = yes; then 228 if test "$libtool" = yes; then
229 tmpdepfile1=$dir$base.u
230 tmpdepfile2=$base.u
231 tmpdepfile3=$dir.libs/$base.u
221 "$@" -Wc,-M 232 "$@" -Wc,-M
222 else 233 else
234 tmpdepfile1=$dir$base.u
235 tmpdepfile2=$dir$base.u
236 tmpdepfile3=$dir$base.u
223 "$@" -M 237 "$@" -M
224 fi 238 fi
225 stat=$? 239 stat=$?
226 240
227 if test -f "$tmpdepfile"; then :
228 else
229 stripped=`echo "$stripped" | sed 's,^.*/,,'`
230 tmpdepfile="$stripped.u"
231 fi
232
233 if test $stat -eq 0; then : 241 if test $stat -eq 0; then :
234 else 242 else
235 rm -f "$tmpdepfile" 243 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
236 exit $stat 244 exit $stat
237 fi 245 fi
238 246
247 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248 do
249 test -f "$tmpdepfile" && break
250 done
239 if test -f "$tmpdepfile"; then 251 if test -f "$tmpdepfile"; then
240 outname="$stripped.o"
241 # Each line is of the form `foo.o: dependent.h'. 252 # Each line is of the form `foo.o: dependent.h'.
242 # Do two passes, one to just change these to 253 # Do two passes, one to just change these to
243 # `$object: dependent.h' and one to simply `dependent.h:'. 254 # `$object: dependent.h' and one to simply `dependent.h:'.
244 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" 255 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
245 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" 256 # That's a tab and a space in the [].
257 sed -e 's,^.*\.[a-z]*:[» ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
246 else 258 else
247 # The sourcefile does not contain any dependencies, so just 259 # The sourcefile does not contain any dependencies, so just
248 # store a dummy comment line, to avoid errors with the Makefile 260 # store a dummy comment line, to avoid errors with the Makefile
249 # "include basename.Plo" scheme. 261 # "include basename.Plo" scheme.
250 echo "#dummy" > "$depfile" 262 echo "#dummy" > "$depfile"
251 fi 263 fi
252 rm -f "$tmpdepfile" 264 rm -f "$tmpdepfile"
253 ;; 265 ;;
254 266
255 icc) 267 icc)
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 exit $stat 328 exit $stat
317 fi 329 fi
318 330
319 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" 331 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
320 do 332 do
321 test -f "$tmpdepfile" && break 333 test -f "$tmpdepfile" && break
322 done 334 done
323 if test -f "$tmpdepfile"; then 335 if test -f "$tmpdepfile"; then
324 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" 336 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
325 # Add `dependent.h:' lines. 337 # Add `dependent.h:' lines.
326 sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" 338 sed -ne '2,${
339 » s/^ *//
340 » s/ \\*$//
341 » s/$/:/
342 » p
343 » }' "$tmpdepfile" >> "$depfile"
327 else 344 else
328 echo "#dummy" > "$depfile" 345 echo "#dummy" > "$depfile"
329 fi 346 fi
330 rm -f "$tmpdepfile" "$tmpdepfile2" 347 rm -f "$tmpdepfile" "$tmpdepfile2"
331 ;; 348 ;;
332 349
333 tru64) 350 tru64)
334 # The Tru64 compiler uses -MD to generate dependencies as a side 351 # The Tru64 compiler uses -MD to generate dependencies as a side
335 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. 352 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
336 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 353 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 # This comment above is used by automake to tell side-effect 409 # This comment above is used by automake to tell side-effect
393 # dependency tracking mechanisms from slower ones. 410 # dependency tracking mechanisms from slower ones.
394 411
395 dashmstdout) 412 dashmstdout)
396 # Important note: in order to support this mode, a compiler *must* 413 # Important note: in order to support this mode, a compiler *must*
397 # always write the preprocessed file to stdout, regardless of -o. 414 # always write the preprocessed file to stdout, regardless of -o.
398 "$@" || exit $? 415 "$@" || exit $?
399 416
400 # Remove the call to Libtool. 417 # Remove the call to Libtool.
401 if test "$libtool" = yes; then 418 if test "$libtool" = yes; then
402 while test $1 != '--mode=compile'; do 419 while test "X$1" != 'X--mode=compile'; do
403 shift 420 shift
404 done 421 done
405 shift 422 shift
406 fi 423 fi
407 424
408 # Remove `-o $object'. 425 # Remove `-o $object'.
409 IFS=" " 426 IFS=" "
410 for arg 427 for arg
411 do 428 do
412 case $arg in 429 case $arg in
(...skipping 30 matching lines...) Expand all
443 dashXmstdout) 460 dashXmstdout)
444 # This case only exists to satisfy depend.m4. It is never actually 461 # This case only exists to satisfy depend.m4. It is never actually
445 # run, as this mode is specially recognized in the preamble. 462 # run, as this mode is specially recognized in the preamble.
446 exit 1 463 exit 1
447 ;; 464 ;;
448 465
449 makedepend) 466 makedepend)
450 "$@" || exit $? 467 "$@" || exit $?
451 # Remove any Libtool call 468 # Remove any Libtool call
452 if test "$libtool" = yes; then 469 if test "$libtool" = yes; then
453 while test $1 != '--mode=compile'; do 470 while test "X$1" != 'X--mode=compile'; do
454 shift 471 shift
455 done 472 done
456 shift 473 shift
457 fi 474 fi
458 # X makedepend 475 # X makedepend
459 shift 476 shift
460 cleared=no 477 cleared=no eat=no
461 for arg in "$@"; do 478 for arg
479 do
462 case $cleared in 480 case $cleared in
463 no) 481 no)
464 set ""; shift 482 set ""; shift
465 cleared=yes ;; 483 cleared=yes ;;
466 esac 484 esac
485 if test $eat = yes; then
486 eat=no
487 continue
488 fi
467 case "$arg" in 489 case "$arg" in
468 -D*|-I*) 490 -D*|-I*)
469 set fnord "$@" "$arg"; shift ;; 491 set fnord "$@" "$arg"; shift ;;
470 # Strip any option that makedepend may not understand. Remove 492 # Strip any option that makedepend may not understand. Remove
471 # the object too, otherwise makedepend will parse it as a source file. 493 # the object too, otherwise makedepend will parse it as a source file.
494 -arch)
495 eat=yes ;;
472 -*|$object) 496 -*|$object)
473 ;; 497 ;;
474 *) 498 *)
475 set fnord "$@" "$arg"; shift ;; 499 set fnord "$@" "$arg"; shift ;;
476 esac 500 esac
477 done 501 done
478 obj_suffix="`echo $object | sed 's/^.*\././'`" 502 obj_suffix=`echo "$object" | sed 's/^.*\././'`
479 touch "$tmpdepfile" 503 touch "$tmpdepfile"
480 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" 504 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
481 rm -f "$depfile" 505 rm -f "$depfile"
482 cat < "$tmpdepfile" > "$depfile" 506 cat < "$tmpdepfile" > "$depfile"
483 sed '1,2d' "$tmpdepfile" | tr ' ' ' 507 sed '1,2d' "$tmpdepfile" | tr ' ' '
484 ' | \ 508 ' | \
485 ## Some versions of the HPUX 10.20 sed can't process this invocation 509 ## Some versions of the HPUX 10.20 sed can't process this invocation
486 ## correctly. Breaking it into two sed invocations is a workaround. 510 ## correctly. Breaking it into two sed invocations is a workaround.
487 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 511 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
488 rm -f "$tmpdepfile" "$tmpdepfile".bak 512 rm -f "$tmpdepfile" "$tmpdepfile".bak
489 ;; 513 ;;
490 514
491 cpp) 515 cpp)
492 # Important note: in order to support this mode, a compiler *must* 516 # Important note: in order to support this mode, a compiler *must*
493 # always write the preprocessed file to stdout. 517 # always write the preprocessed file to stdout.
494 "$@" || exit $? 518 "$@" || exit $?
495 519
496 # Remove the call to Libtool. 520 # Remove the call to Libtool.
497 if test "$libtool" = yes; then 521 if test "$libtool" = yes; then
498 while test $1 != '--mode=compile'; do 522 while test "X$1" != 'X--mode=compile'; do
499 shift 523 shift
500 done 524 done
501 shift 525 shift
502 fi 526 fi
503 527
504 # Remove `-o $object'. 528 # Remove `-o $object'.
505 IFS=" " 529 IFS=" "
506 for arg 530 for arg
507 do 531 do
508 case $arg in 532 case $arg in
(...skipping 17 matching lines...) Expand all
526 sed '$ s: \\$::' > "$tmpdepfile" 550 sed '$ s: \\$::' > "$tmpdepfile"
527 rm -f "$depfile" 551 rm -f "$depfile"
528 echo "$object : \\" > "$depfile" 552 echo "$object : \\" > "$depfile"
529 cat < "$tmpdepfile" >> "$depfile" 553 cat < "$tmpdepfile" >> "$depfile"
530 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" 554 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
531 rm -f "$tmpdepfile" 555 rm -f "$tmpdepfile"
532 ;; 556 ;;
533 557
534 msvisualcpp) 558 msvisualcpp)
535 # Important note: in order to support this mode, a compiler *must* 559 # Important note: in order to support this mode, a compiler *must*
536 # always write the preprocessed file to stdout, regardless of -o, 560 # always write the preprocessed file to stdout.
537 # because we must use -o when running libtool.
538 "$@" || exit $? 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
539 IFS=" " 571 IFS=" "
540 for arg 572 for arg
541 do 573 do
542 case "$arg" in 574 case "$arg" in
575 -o)
576 shift
577 ;;
578 $object)
579 shift
580 ;;
543 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") 581 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
544 set fnord "$@" 582 set fnord "$@"
545 shift 583 shift
546 shift 584 shift
547 ;; 585 ;;
548 *) 586 *)
549 set fnord "$@" "$arg" 587 set fnord "$@" "$arg"
550 shift 588 shift
551 shift 589 shift
552 ;; 590 ;;
553 esac 591 esac
554 done 592 done
555 "$@" -E | 593 "$@" -E 2>/dev/null |
556 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" 594 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$t mpdepfile"
557 rm -f "$depfile" 595 rm -f "$depfile"
558 echo "$object : \\" > "$depfile" 596 echo "$object : \\" > "$depfile"
559 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::» \1 \\:p' >> "$de pfile" 597 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::» \1 \\:p' >> "$de pfile"
560 echo " " >> "$depfile" 598 echo " " >> "$depfile"
561 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile " 599 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
562 rm -f "$tmpdepfile" 600 rm -f "$tmpdepfile"
563 ;; 601 ;;
564 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
565 none) 610 none)
566 exec "$@" 611 exec "$@"
567 ;; 612 ;;
568 613
569 *) 614 *)
570 echo "Unknown depmode $depmode" 1>&2 615 echo "Unknown depmode $depmode" 1>&2
571 exit 1 616 exit 1
572 ;; 617 ;;
573 esac 618 esac
574 619
575 exit 0 620 exit 0
576 621
577 # Local Variables: 622 # Local Variables:
578 # mode: shell-script 623 # mode: shell-script
579 # sh-indentation: 2 624 # sh-indentation: 2
580 # eval: (add-hook 'write-file-hooks 'time-stamp) 625 # eval: (add-hook 'write-file-hooks 'time-stamp)
581 # time-stamp-start: "scriptversion=" 626 # time-stamp-start: "scriptversion="
582 # time-stamp-format: "%:y-%02m-%02d.%02H" 627 # time-stamp-format: "%:y-%02m-%02d.%02H"
583 # time-stamp-end: "$" 628 # time-stamp-time-zone: "UTC"
629 # time-stamp-end: "; # UTC"
584 # End: 630 # End:
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698