Changeset 18384 for trunk/FACT++/.aux_dir/depcomp
- Timestamp:
- 12/10/15 10:45:35 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/.aux_dir/depcomp
r10183 r18384 2 2 # depcomp - compile a program generating dependencies as side-effects 3 3 4 scriptversion=2009-04-28.21; # UTC 5 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free 7 # Software Foundation, Inc. 4 scriptversion=2013-05-30.07; # UTC 5 6 # Copyright (C) 1999-2013 Free Software Foundation, Inc. 8 7 9 8 # This program is free software; you can redistribute it and/or modify … … 29 28 case $1 in 30 29 '') 31 echo "$0: No command. Try \`$0 --help' for more information." 1>&232 33 30 echo "$0: No command. Try '$0 --help' for more information." 1>&2 31 exit 1; 32 ;; 34 33 -h | --h*) 35 34 cat <<\EOF … … 41 40 Environment variables: 42 41 depmode Dependency tracking mode. 43 source Source file read by `PROGRAMS ARGS'.44 object Object file output by `PROGRAMS ARGS'.42 source Source file read by 'PROGRAMS ARGS'. 43 object Object file output by 'PROGRAMS ARGS'. 45 44 DEPDIR directory where to store dependencies. 46 45 depfile Dependency file to output. 47 tmpdepfile Temporary file to use when output ing dependencies.46 tmpdepfile Temporary file to use when outputting dependencies. 48 47 libtool Whether libtool is used (yes/no). 49 48 … … 58 57 esac 59 58 59 # Get the directory component of the given path, and save it in the 60 # global variables '$dir'. Note that this directory component will 61 # be either empty or ending with a '/' character. This is deliberate. 62 set_dir_from () 63 { 64 case $1 in 65 */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; 66 *) dir=;; 67 esac 68 } 69 70 # Get the suffix-stripped basename of the given path, and save it the 71 # global variable '$base'. 72 set_base_from () 73 { 74 base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` 75 } 76 77 # If no dependency file was actually created by the compiler invocation, 78 # we still have to create a dummy depfile, to avoid errors with the 79 # Makefile "include basename.Plo" scheme. 80 make_dummy_depfile () 81 { 82 echo "#dummy" > "$depfile" 83 } 84 85 # Factor out some common post-processing of the generated depfile. 86 # Requires the auxiliary global variable '$tmpdepfile' to be set. 87 aix_post_process_depfile () 88 { 89 # If the compiler actually managed to produce a dependency file, 90 # post-process it. 91 if test -f "$tmpdepfile"; then 92 # Each line is of the form 'foo.o: dependency.h'. 93 # Do two passes, one to just change these to 94 # $object: dependency.h 95 # and one to simply output 96 # dependency.h: 97 # which is needed to avoid the deleted-header problem. 98 { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" 99 sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" 100 } > "$depfile" 101 rm -f "$tmpdepfile" 102 else 103 make_dummy_depfile 104 fi 105 } 106 107 # A tabulation character. 108 tab=' ' 109 # A newline character. 110 nl=' 111 ' 112 # Character ranges might be problematic outside the C locale. 113 # These definitions help. 114 upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ 115 lower=abcdefghijklmnopqrstuvwxyz 116 digits=0123456789 117 alpha=${upper}${lower} 118 60 119 if test -z "$depmode" || test -z "$source" || test -z "$object"; then 61 120 echo "depcomp: Variables source, object and depmode must be set" 1>&2 … … 69 128 70 129 rm -f "$tmpdepfile" 130 131 # Avoid interferences from the environment. 132 gccflag= dashmflag= 71 133 72 134 # Some modes work just like other modes, but use different flags. We … … 81 143 82 144 if test "$depmode" = dashXmstdout; then 83 84 85 145 # This is just like dashmstdout with a different argument. 146 dashmflag=-xM 147 depmode=dashmstdout 86 148 fi 87 149 88 150 cygpath_u="cygpath -u -f -" 89 151 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 152 # This is just like msvisualcpp but w/o cygpath translation. 153 # Just convert the backslash-escaped backslashes to single forward 154 # slashes to satisfy depend.m4 155 cygpath_u='sed s,\\\\,/,g' 156 depmode=msvisualcpp 157 fi 158 159 if test "$depmode" = msvc7msys; then 160 # This is just like msvc7 but w/o cygpath translation. 161 # Just convert the backslash-escaped backslashes to single forward 162 # slashes to satisfy depend.m4 163 cygpath_u='sed s,\\\\,/,g' 164 depmode=msvc7 165 fi 166 167 if test "$depmode" = xlc; then 168 # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. 169 gccflag=-qmakedep=gcc,-MF 170 depmode=gcc 95 171 fi 96 172 … … 115 191 "$@" 116 192 stat=$? 117 if test $stat -eq 0; then : 118 else 193 if test $stat -ne 0; then 119 194 rm -f "$tmpdepfile" 120 195 exit $stat … … 124 199 125 200 gcc) 201 ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. 202 ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. 203 ## (see the conditional assignment to $gccflag above). 126 204 ## There are various ways to get dependency output from gcc. Here's 127 205 ## why we pick this rather obscure method: … … 130 208 ## (We might end up doing this anyway to support other compilers.) 131 209 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like 132 ## -MM, not -M (despite what the docs say). 210 ## -MM, not -M (despite what the docs say). Also, it might not be 211 ## supported by the other compilers which use the 'gcc' depmode. 133 212 ## - Using -M directly means running the compiler twice (even worse 134 213 ## than renaming). … … 138 217 "$@" -Wp,"$gccflag$tmpdepfile" 139 218 stat=$? 140 if test $stat -eq 0; then : 141 else 219 if test $stat -ne 0; then 142 220 rm -f "$tmpdepfile" 143 221 exit $stat … … 145 223 rm -f "$depfile" 146 224 echo "$object : \\" > "$depfile" 147 alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz148 ## The second -e expression handles DOS-style file names with driveletters.225 # The second -e expression handles DOS-style file names with drive 226 # letters. 149 227 sed -e 's/^[^:]*: / /' \ 150 228 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" 151 ## This next piece of magic avoids the `deleted header file'problem.229 ## This next piece of magic avoids the "deleted header file" problem. 152 230 ## The problem is that when a header file which appears in a .P file 153 231 ## is deleted, the dependency causes make to die (because there is … … 155 233 ## dummy dependencies for each header file. Too bad gcc doesn't do 156 234 ## this for us directly. 157 tr ' ' ' 158 ' < "$tmpdepfile" | 159 ## Some versions of gcc put a space before the `:'. On the theory 235 ## Some versions of gcc put a space before the ':'. On the theory 160 236 ## that the space means something, we add a space to the output as 161 ## well. 237 ## well. hp depmode also adds that space, but also prefixes the VPATH 238 ## to the object. Take care to not repeat it in the output. 162 239 ## Some versions of the HPUX 10.20 sed can't process this invocation 163 240 ## correctly. Breaking it into two sed invocations is a workaround. 164 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 241 tr ' ' "$nl" < "$tmpdepfile" \ 242 | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ 243 | sed -e 's/$/ :/' >> "$depfile" 165 244 rm -f "$tmpdepfile" 166 245 ;; … … 180 259 fi 181 260 stat=$? 182 if test $stat -eq 0; then : 183 else 261 if test $stat -ne 0; then 184 262 rm -f "$tmpdepfile" 185 263 exit $stat … … 189 267 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files 190 268 echo "$object : \\" > "$depfile" 191 192 269 # Clip off the initial element (the dependent). Don't try to be 193 270 # clever and replace this with sed code, as IRIX sed won't handle 194 271 # lines with more than a fixed number of characters (4096 in 195 272 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; 196 # the IRIX cc adds comments like `#:fec' to the end of the273 # the IRIX cc adds comments like '#:fec' to the end of the 197 274 # dependency line. 198 tr ' ' ' 199 ' < "$tmpdepfile" \ 200 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ 201 tr ' 202 ' ' ' >> "$depfile" 275 tr ' ' "$nl" < "$tmpdepfile" \ 276 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ 277 | tr "$nl" ' ' >> "$depfile" 203 278 echo >> "$depfile" 204 205 279 # The second pass generates a dummy entry for each header file. 206 tr ' ' ' 207 ' < "$tmpdepfile" \ 208 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ 209 >> "$depfile" 280 tr ' ' "$nl" < "$tmpdepfile" \ 281 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ 282 >> "$depfile" 210 283 else 211 # The sourcefile does not contain any dependencies, so just 212 # store a dummy comment line, to avoid errors with the Makefile 213 # "include basename.Plo" scheme. 214 echo "#dummy" > "$depfile" 284 make_dummy_depfile 215 285 fi 216 286 rm -f "$tmpdepfile" 287 ;; 288 289 xlc) 290 # This case exists only to let depend.m4 do its work. It works by 291 # looking at the text of this script. This case will never be run, 292 # since it is checked for above. 293 exit 1 217 294 ;; 218 295 … … 220 297 # The C for AIX Compiler uses -M and outputs the dependencies 221 298 # in a .u file. In older versions, this file always lives in the 222 # current directory. Also, the AIX compiler puts `$object:' at the299 # current directory. Also, the AIX compiler puts '$object:' at the 223 300 # start of each line; $object doesn't have directory information. 224 301 # Version 6 uses the directory in both cases. 225 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 226 test "x$dir" = "x$object" && dir= 227 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 302 set_dir_from "$object" 303 set_base_from "$object" 228 304 if test "$libtool" = yes; then 229 305 tmpdepfile1=$dir$base.u … … 238 314 fi 239 315 stat=$? 240 241 if test $stat -eq 0; then : 242 else 316 if test $stat -ne 0; then 243 317 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 244 318 exit $stat … … 249 323 test -f "$tmpdepfile" && break 250 324 done 251 if test -f "$tmpdepfile"; then 252 # Each line is of the form `foo.o: dependent.h'. 253 # Do two passes, one to just change these to 254 # `$object: dependent.h' and one to simply `dependent.h:'. 255 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 256 # That's a tab and a space in the []. 257 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 258 else 259 # The sourcefile does not contain any dependencies, so just 260 # store a dummy comment line, to avoid errors with the Makefile 261 # "include basename.Plo" scheme. 262 echo "#dummy" > "$depfile" 263 fi 325 aix_post_process_depfile 326 ;; 327 328 tcc) 329 # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 330 # FIXME: That version still under development at the moment of writing. 331 # Make that this statement remains true also for stable, released 332 # versions. 333 # It will wrap lines (doesn't matter whether long or short) with a 334 # trailing '\', as in: 335 # 336 # foo.o : \ 337 # foo.c \ 338 # foo.h \ 339 # 340 # It will put a trailing '\' even on the last line, and will use leading 341 # spaces rather than leading tabs (at least since its commit 0394caf7 342 # "Emit spaces for -MD"). 343 "$@" -MD -MF "$tmpdepfile" 344 stat=$? 345 if test $stat -ne 0; then 346 rm -f "$tmpdepfile" 347 exit $stat 348 fi 349 rm -f "$depfile" 350 # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. 351 # We have to change lines of the first kind to '$object: \'. 352 sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" 353 # And for each line of the second kind, we have to emit a 'dep.h:' 354 # dummy dependency, to avoid the deleted-header problem. 355 sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" 264 356 rm -f "$tmpdepfile" 265 357 ;; 266 358 267 icc) 268 # Intel's C compiler understands `-MD -MF file'. However on 269 # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c 270 # ICC 7.0 will fill foo.d with something like 271 # foo.o: sub/foo.c 272 # foo.o: sub/foo.h 273 # which is wrong. We want: 274 # sub/foo.o: sub/foo.c 275 # sub/foo.o: sub/foo.h 276 # sub/foo.c: 277 # sub/foo.h: 278 # ICC 7.1 will output 359 ## The order of this option in the case statement is important, since the 360 ## shell code in configure will try each of these formats in the order 361 ## listed in this file. A plain '-MD' option would be understood by many 362 ## compilers, so we must ensure this comes after the gcc and icc options. 363 pgcc) 364 # Portland's C compiler understands '-MD'. 365 # Will always output deps to 'file.d' where file is the root name of the 366 # source file under compilation, even if file resides in a subdirectory. 367 # The object file name does not affect the name of the '.d' file. 368 # pgcc 10.2 will output 279 369 # foo.o: sub/foo.c sub/foo.h 280 # and will wrap long lines using \:370 # and will wrap long lines using '\' : 281 371 # foo.o: sub/foo.c ... \ 282 372 # sub/foo.h ... \ 283 373 # ... 284 285 "$@" -MD -MF "$tmpdepfile" 286 stat=$? 287 if test $stat -eq 0; then : 288 else 374 set_dir_from "$object" 375 # Use the source, not the object, to determine the base name, since 376 # that's sadly what pgcc will do too. 377 set_base_from "$source" 378 tmpdepfile=$base.d 379 380 # For projects that build the same source file twice into different object 381 # files, the pgcc approach of using the *source* file root name can cause 382 # problems in parallel builds. Use a locking strategy to avoid stomping on 383 # the same $tmpdepfile. 384 lockdir=$base.d-lock 385 trap " 386 echo '$0: caught signal, cleaning up...' >&2 387 rmdir '$lockdir' 388 exit 1 389 " 1 2 13 15 390 numtries=100 391 i=$numtries 392 while test $i -gt 0; do 393 # mkdir is a portable test-and-set. 394 if mkdir "$lockdir" 2>/dev/null; then 395 # This process acquired the lock. 396 "$@" -MD 397 stat=$? 398 # Release the lock. 399 rmdir "$lockdir" 400 break 401 else 402 # If the lock is being held by a different process, wait 403 # until the winning process is done or we timeout. 404 while test -d "$lockdir" && test $i -gt 0; do 405 sleep 1 406 i=`expr $i - 1` 407 done 408 fi 409 i=`expr $i - 1` 410 done 411 trap - 1 2 13 15 412 if test $i -le 0; then 413 echo "$0: failed to acquire lock after $numtries attempts" >&2 414 echo "$0: check lockdir '$lockdir'" >&2 415 exit 1 416 fi 417 418 if test $stat -ne 0; then 289 419 rm -f "$tmpdepfile" 290 420 exit $stat … … 298 428 # Some versions of the HPUX 10.20 sed can't process this invocation 299 429 # correctly. Breaking it into two sed invocations is a workaround. 300 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |301 sed -e 's/$/ :/' >> "$depfile"430 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ 431 | sed -e 's/$/ :/' >> "$depfile" 302 432 rm -f "$tmpdepfile" 303 433 ;; … … 310 440 # happens to be. 311 441 # Much of this is similar to the tru64 case; see comments there. 312 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 313 test "x$dir" = "x$object" && dir= 314 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 442 set_dir_from "$object" 443 set_base_from "$object" 315 444 if test "$libtool" = yes; then 316 445 tmpdepfile1=$dir$base.d … … 323 452 fi 324 453 stat=$? 325 if test $stat -eq 0; then : 326 else 454 if test $stat -ne 0; then 327 455 rm -f "$tmpdepfile1" "$tmpdepfile2" 328 456 exit $stat … … 334 462 done 335 463 if test -f "$tmpdepfile"; then 336 sed -e "s,^.*\.[ a-z]*:,$object:," "$tmpdepfile" > "$depfile"337 # Add `dependent.h:' lines.464 sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" 465 # Add 'dependent.h:' lines. 338 466 sed -ne '2,${ 339 340 341 342 343 467 s/^ *// 468 s/ \\*$// 469 s/$/:/ 470 p 471 }' "$tmpdepfile" >> "$depfile" 344 472 else 345 echo "#dummy" > "$depfile"473 make_dummy_depfile 346 474 fi 347 475 rm -f "$tmpdepfile" "$tmpdepfile2" … … 349 477 350 478 tru64) 351 # The Tru64 compiler uses -MD to generate dependencies as a side 352 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. 353 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 354 # dependencies in `foo.d' instead, so we check for that too. 355 # Subdirectories are respected. 356 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 357 test "x$dir" = "x$object" && dir= 358 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 359 360 if test "$libtool" = yes; then 361 # With Tru64 cc, shared objects can also be used to make a 362 # static library. This mechanism is used in libtool 1.4 series to 363 # handle both shared and static libraries in a single compilation. 364 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 365 # 366 # With libtool 1.5 this exception was removed, and libtool now 367 # generates 2 separate objects for the 2 libraries. These two 368 # compilations output dependencies in $dir.libs/$base.o.d and 369 # in $dir$base.o.d. We have to check for both files, because 370 # one of the two compilations can be disabled. We should prefer 371 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 372 # automatically cleaned when .libs/ is deleted, while ignoring 373 # the former would cause a distcleancheck panic. 374 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 375 tmpdepfile2=$dir$base.o.d # libtool 1.5 376 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 377 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 378 "$@" -Wc,-MD 379 else 380 tmpdepfile1=$dir$base.o.d 381 tmpdepfile2=$dir$base.d 382 tmpdepfile3=$dir$base.d 383 tmpdepfile4=$dir$base.d 384 "$@" -MD 385 fi 386 387 stat=$? 388 if test $stat -eq 0; then : 389 else 390 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 391 exit $stat 392 fi 393 394 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 395 do 396 test -f "$tmpdepfile" && break 397 done 398 if test -f "$tmpdepfile"; then 399 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 400 # That's a tab and a space in the []. 401 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 402 else 403 echo "#dummy" > "$depfile" 404 fi 405 rm -f "$tmpdepfile" 406 ;; 479 # The Tru64 compiler uses -MD to generate dependencies as a side 480 # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. 481 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 482 # dependencies in 'foo.d' instead, so we check for that too. 483 # Subdirectories are respected. 484 set_dir_from "$object" 485 set_base_from "$object" 486 487 if test "$libtool" = yes; then 488 # Libtool generates 2 separate objects for the 2 libraries. These 489 # two compilations output dependencies in $dir.libs/$base.o.d and 490 # in $dir$base.o.d. We have to check for both files, because 491 # one of the two compilations can be disabled. We should prefer 492 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 493 # automatically cleaned when .libs/ is deleted, while ignoring 494 # the former would cause a distcleancheck panic. 495 tmpdepfile1=$dir$base.o.d # libtool 1.5 496 tmpdepfile2=$dir.libs/$base.o.d # Likewise. 497 tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 498 "$@" -Wc,-MD 499 else 500 tmpdepfile1=$dir$base.d 501 tmpdepfile2=$dir$base.d 502 tmpdepfile3=$dir$base.d 503 "$@" -MD 504 fi 505 506 stat=$? 507 if test $stat -ne 0; then 508 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 509 exit $stat 510 fi 511 512 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 513 do 514 test -f "$tmpdepfile" && break 515 done 516 # Same post-processing that is required for AIX mode. 517 aix_post_process_depfile 518 ;; 519 520 msvc7) 521 if test "$libtool" = yes; then 522 showIncludes=-Wc,-showIncludes 523 else 524 showIncludes=-showIncludes 525 fi 526 "$@" $showIncludes > "$tmpdepfile" 527 stat=$? 528 grep -v '^Note: including file: ' "$tmpdepfile" 529 if test $stat -ne 0; then 530 rm -f "$tmpdepfile" 531 exit $stat 532 fi 533 rm -f "$depfile" 534 echo "$object : \\" > "$depfile" 535 # The first sed program below extracts the file names and escapes 536 # backslashes for cygpath. The second sed program outputs the file 537 # name when reading, but also accumulates all include files in the 538 # hold buffer in order to output them again at the end. This only 539 # works with sed implementations that can handle large buffers. 540 sed < "$tmpdepfile" -n ' 541 /^Note: including file: *\(.*\)/ { 542 s//\1/ 543 s/\\/\\\\/g 544 p 545 }' | $cygpath_u | sort -u | sed -n ' 546 s/ /\\ /g 547 s/\(.*\)/'"$tab"'\1 \\/p 548 s/.\(.*\) \\/\1:/ 549 H 550 $ { 551 s/.*/'"$tab"'/ 552 G 553 p 554 }' >> "$depfile" 555 echo >> "$depfile" # make sure the fragment doesn't end with a backslash 556 rm -f "$tmpdepfile" 557 ;; 558 559 msvc7msys) 560 # This case exists only to let depend.m4 do its work. It works by 561 # looking at the text of this script. This case will never be run, 562 # since it is checked for above. 563 exit 1 564 ;; 407 565 408 566 #nosideeffect) … … 423 581 fi 424 582 425 # Remove `-o $object'.583 # Remove '-o $object'. 426 584 IFS=" " 427 585 for arg … … 443 601 444 602 test -z "$dashmflag" && dashmflag=-M 445 # Require at least two characters before searching for `:'603 # Require at least two characters before searching for ':' 446 604 # in the target name. This is to cope with DOS-style filenames: 447 # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.605 # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. 448 606 "$@" $dashmflag | 449 sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :'> "$tmpdepfile"607 sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" 450 608 rm -f "$depfile" 451 609 cat < "$tmpdepfile" > "$depfile" 452 tr ' ' '453 ' < "$tmpdepfile" | \ 454 ## Some versions of the HPUX 10.20 sed can't process this invocation 455 ## correctly. Breaking it into two sed invocations is a workaround. 456 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d'| sed -e 's/$/ :/' >> "$depfile"610 # Some versions of the HPUX 10.20 sed can't process this sed invocation 611 # correctly. Breaking it into two sed invocations is a workaround. 612 tr ' ' "$nl" < "$tmpdepfile" \ 613 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ 614 | sed -e 's/$/ :/' >> "$depfile" 457 615 rm -f "$tmpdepfile" 458 616 ;; … … 504 662 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" 505 663 rm -f "$depfile" 506 cat < "$tmpdepfile" > "$depfile" 507 sed '1,2d' "$tmpdepfile" | tr ' ' ' 508 ' | \ 509 ## Some versions of the HPUX 10.20 sed can't process this invocation 510 ## correctly. Breaking it into two sed invocations is a workaround. 511 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 664 # makedepend may prepend the VPATH from the source file name to the object. 665 # No need to regex-escape $object, excess matching of '.' is harmless. 666 sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" 667 # Some versions of the HPUX 10.20 sed can't process the last invocation 668 # correctly. Breaking it into two sed invocations is a workaround. 669 sed '1,2d' "$tmpdepfile" \ 670 | tr ' ' "$nl" \ 671 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ 672 | sed -e 's/$/ :/' >> "$depfile" 512 673 rm -f "$tmpdepfile" "$tmpdepfile".bak 513 674 ;; … … 526 687 fi 527 688 528 # Remove `-o $object'.689 # Remove '-o $object'. 529 690 IFS=" " 530 691 for arg … … 545 706 done 546 707 547 "$@" -E |548 sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \549 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |550 sed '$ s: \\$::' > "$tmpdepfile"708 "$@" -E \ 709 | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 710 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 711 | sed '$ s: \\$::' > "$tmpdepfile" 551 712 rm -f "$depfile" 552 713 echo "$object : \\" > "$depfile" … … 580 741 ;; 581 742 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") 582 583 584 585 743 set fnord "$@" 744 shift 745 shift 746 ;; 586 747 *) 587 588 589 590 748 set fnord "$@" "$arg" 749 shift 750 shift 751 ;; 591 752 esac 592 753 done … … 595 756 rm -f "$depfile" 596 757 echo "$object : \\" > "$depfile" 597 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: 598 echo " 758 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" 759 echo "$tab" >> "$depfile" 599 760 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" 600 761 rm -f "$tmpdepfile"
Note:
See TracChangeset
for help on using the changeset viewer.