- Timestamp:
- Aug 3, 2009, 6:58:46 PM (16 years ago)
- Children:
- f4a346
- Parents:
- 4e4940 (diff), e8de2e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- util
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
util/depcomp
r4e4940 r0e2190 2 2 # depcomp - compile a program generating dependencies as side-effects 3 3 4 scriptversion=200 7-03-29.015 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 , 2007Free Software4 scriptversion=2006-10-15.18 5 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software 7 7 # Foundation, Inc. 8 8 … … 216 216 # start of each line; $object doesn't have directory information. 217 217 # Version 6 uses the directory in both cases. 218 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 219 test "x$dir" = "x$object" && dir= 220 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 218 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` 219 tmpdepfile="$stripped.u" 221 220 if test "$libtool" = yes; then 222 tmpdepfile1=$dir$base.u223 tmpdepfile2=$base.u224 tmpdepfile3=$dir.libs/$base.u225 221 "$@" -Wc,-M 226 222 else 227 tmpdepfile1=$dir$base.u228 tmpdepfile2=$dir$base.u229 tmpdepfile3=$dir$base.u230 223 "$@" -M 231 224 fi 232 225 stat=$? 233 226 227 if test -f "$tmpdepfile"; then : 228 else 229 stripped=`echo "$stripped" | sed 's,^.*/,,'` 230 tmpdepfile="$stripped.u" 231 fi 232 234 233 if test $stat -eq 0; then : 235 234 else 236 rm -f "$tmpdepfile 1" "$tmpdepfile2" "$tmpdepfile3"235 rm -f "$tmpdepfile" 237 236 exit $stat 238 237 fi 239 238 240 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"241 do242 test -f "$tmpdepfile" && break243 done244 239 if test -f "$tmpdepfile"; then 240 outname="$stripped.o" 245 241 # Each line is of the form `foo.o: dependent.h'. 246 242 # Do two passes, one to just change these to 247 243 # `$object: dependent.h' and one to simply `dependent.h:'. 248 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 249 # That's a tab and a space in the []. 250 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 244 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" 245 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" 251 246 else 252 247 # The sourcefile does not contain any dependencies, so just -
util/install-sh
r4e4940 r0e2190 2 2 # install - install a program, script, or datafile 3 3 4 scriptversion=2006-1 2-25.004 scriptversion=2006-10-14.15 5 5 6 6 # This originates from X11R5 (mit/util/scripts/install.sh), which was … … 49 49 50 50 # Don't use :- since 4.3BSD and earlier shells don't like it. 51 doit= ${DOITPROG-}51 doit="${DOITPROG-}" 52 52 if test -z "$doit"; then 53 53 doit_exec=exec … … 59 59 # or use environment vars. 60 60 61 chgrpprog=${CHGRPPROG-chgrp} 62 chmodprog=${CHMODPROG-chmod} 63 chownprog=${CHOWNPROG-chown} 64 cmpprog=${CMPPROG-cmp} 65 cpprog=${CPPROG-cp} 66 mkdirprog=${MKDIRPROG-mkdir} 67 mvprog=${MVPROG-mv} 68 rmprog=${RMPROG-rm} 69 stripprog=${STRIPPROG-strip} 70 71 posix_glob='?' 72 initialize_posix_glob=' 73 test "$posix_glob" != "?" || { 74 if (set -f) 2>/dev/null; then 75 posix_glob= 76 else 77 posix_glob=: 78 fi 79 } 80 ' 81 61 mvprog="${MVPROG-mv}" 62 cpprog="${CPPROG-cp}" 63 chmodprog="${CHMODPROG-chmod}" 64 chownprog="${CHOWNPROG-chown}" 65 chgrpprog="${CHGRPPROG-chgrp}" 66 stripprog="${STRIPPROG-strip}" 67 rmprog="${RMPROG-rm}" 68 mkdirprog="${MKDIRPROG-mkdir}" 69 70 posix_glob= 82 71 posix_mkdir= 83 72 … … 85 74 mode=0755 86 75 87 chgrpcmd=88 76 chmodcmd=$chmodprog 89 77 chowncmd= 90 mvcmd=$mvprog 78 chgrpcmd= 79 stripcmd= 91 80 rmcmd="$rmprog -f" 92 stripcmd= 93 81 mvcmd="$mvprog" 94 82 src= 95 83 dst= 96 84 dir_arg= 97 dst_arg= 98 99 copy_on_change=false 85 dstarg= 100 86 no_target_directory= 101 87 102 usage="\ 103 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE 88 usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE 104 89 or: $0 [OPTION]... SRCFILES... DIRECTORY 105 90 or: $0 [OPTION]... -t DIRECTORY SRCFILES... … … 111 96 112 97 Options: 113 --help display this help and exit. 114 --version display version info and exit. 115 116 -c (ignored) 117 -C install only if different (preserve the last data modification time) 118 -d create directories instead of installing files. 119 -g GROUP $chgrpprog installed files to GROUP. 120 -m MODE $chmodprog installed files to MODE. 121 -o USER $chownprog installed files to USER. 122 -s $stripprog installed files. 123 -t DIRECTORY install into DIRECTORY. 124 -T report an error if DSTFILE is a directory. 98 -c (ignored) 99 -d create directories instead of installing files. 100 -g GROUP $chgrpprog installed files to GROUP. 101 -m MODE $chmodprog installed files to MODE. 102 -o USER $chownprog installed files to USER. 103 -s $stripprog installed files. 104 -t DIRECTORY install into DIRECTORY. 105 -T report an error if DSTFILE is a directory. 106 --help display this help and exit. 107 --version display version info and exit. 125 108 126 109 Environment variables override the default commands: 127 CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG 128 RMPROG STRIPPROG 110 CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG 129 111 " 130 112 131 113 while test $# -ne 0; do 132 114 case $1 in 133 -c) ;; 134 135 -C) copy_on_change=true;; 136 137 -d) dir_arg=true;; 115 -c) shift 116 continue;; 117 118 -d) dir_arg=true 119 shift 120 continue;; 138 121 139 122 -g) chgrpcmd="$chgrpprog $2" 140 shift;; 123 shift 124 shift 125 continue;; 141 126 142 127 --help) echo "$usage"; exit $?;; 143 128 144 129 -m) mode=$2 130 shift 131 shift 145 132 case $mode in 146 133 *' '* | *' '* | *' … … 149 136 exit 1;; 150 137 esac 151 shift;;138 continue;; 152 139 153 140 -o) chowncmd="$chownprog $2" 154 shift;; 155 156 -s) stripcmd=$stripprog;; 157 158 -t) dst_arg=$2 159 shift;; 160 161 -T) no_target_directory=true;; 141 shift 142 shift 143 continue;; 144 145 -s) stripcmd=$stripprog 146 shift 147 continue;; 148 149 -t) dstarg=$2 150 shift 151 shift 152 continue;; 153 154 -T) no_target_directory=true 155 shift 156 continue;; 162 157 163 158 --version) echo "$0 $scriptversion"; exit $?;; … … 171 166 *) break;; 172 167 esac 173 shift174 168 done 175 169 176 if test $# -ne 0 && test -z "$dir_arg$dst _arg"; then170 if test $# -ne 0 && test -z "$dir_arg$dstarg"; then 177 171 # When -d is used, all remaining arguments are directories to create. 178 172 # When -t is used, the destination is already specified. … … 180 174 for arg 181 175 do 182 if test -n "$dst _arg"; then176 if test -n "$dstarg"; then 183 177 # $@ is not empty: it contains at least $arg. 184 set fnord "$@" "$dst _arg"178 set fnord "$@" "$dstarg" 185 179 shift # fnord 186 180 fi 187 181 shift # arg 188 dst _arg=$arg182 dstarg=$arg 189 183 done 190 184 fi … … 231 225 # Protect names starting with `-'. 232 226 case $src in 233 -*) src=./$src ;;227 -*) src=./$src ;; 234 228 esac 235 229 … … 249 243 fi 250 244 251 if test -z "$dst _arg"; then245 if test -z "$dstarg"; then 252 246 echo "$0: no destination specified." >&2 253 247 exit 1 254 248 fi 255 249 256 dst=$dst _arg250 dst=$dstarg 257 251 # Protect names starting with `-'. 258 252 case $dst in 259 -*) dst=./$dst ;;253 -*) dst=./$dst ;; 260 254 esac 261 255 … … 264 258 if test -d "$dst"; then 265 259 if test -n "$no_target_directory"; then 266 echo "$0: $dst _arg: Is a directory" >&2260 echo "$0: $dstarg: Is a directory" >&2 267 261 exit 1 268 262 fi … … 385 379 386 380 case $dstdir in 387 /*) prefix= '/';;388 -*) prefix= './';;389 *) prefix= '';;381 /*) prefix=/ ;; 382 -*) prefix=./ ;; 383 *) prefix= ;; 390 384 esac 391 385 392 eval "$initialize_posix_glob" 386 case $posix_glob in 387 '') 388 if (set -f) 2>/dev/null; then 389 posix_glob=true 390 else 391 posix_glob=false 392 fi ;; 393 esac 393 394 394 395 oIFS=$IFS 395 396 IFS=/ 396 $posix_glob set -f397 $posix_glob && set -f 397 398 set fnord $dstdir 398 399 shift 399 $posix_glob set +f400 $posix_glob && set +f 400 401 IFS=$oIFS 401 402 … … 459 460 # errors from the above "$doit $cpprog $src $dsttmp" command. 460 461 # 461 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && 462 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && 463 { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && 464 { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && 465 466 # If -C, don't bother to copy if it wouldn't change the file. 467 if $copy_on_change && 468 old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && 469 new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && 470 471 eval "$initialize_posix_glob" && 472 $posix_glob set -f && 473 set X $old && old=:$2:$4:$5:$6 && 474 set X $new && new=:$2:$4:$5:$6 && 475 $posix_glob set +f && 476 477 test "$old" = "$new" && 478 $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 479 then 480 rm -f "$dsttmp" 481 else 482 # Rename the file to the real destination. 483 $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || 484 485 # The rename failed, perhaps because mv can't rename something else 486 # to itself, or perhaps because mv is so ancient that it does not 487 # support -f. 488 { 489 # Now remove or move aside any old file at destination location. 490 # We try this two ways since rm can't unlink itself on some 491 # systems and the destination file might be busy for other 492 # reasons. In this case, the final cleanup might fail but the new 493 # file should still install successfully. 494 { 495 test ! -f "$dst" || 496 $doit $rmcmd -f "$dst" 2>/dev/null || 497 { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && 498 { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } 499 } || 500 { echo "$0: cannot unlink or rename $dst" >&2 501 (exit 1); exit 1 502 } 503 } && 504 505 # Now rename the file to the real destination. 506 $doit $mvcmd "$dsttmp" "$dst" 507 } 508 fi || exit 1 462 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ 463 && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ 464 && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ 465 && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && 466 467 # Now rename the file to the real destination. 468 { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ 469 || { 470 # The rename failed, perhaps because mv can't rename something else 471 # to itself, or perhaps because mv is so ancient that it does not 472 # support -f. 473 474 # Now remove or move aside any old file at destination location. 475 # We try this two ways since rm can't unlink itself on some 476 # systems and the destination file might be busy for other 477 # reasons. In this case, the final cleanup might fail but the new 478 # file should still install successfully. 479 { 480 if test -f "$dst"; then 481 $doit $rmcmd -f "$dst" 2>/dev/null \ 482 || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ 483 && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ 484 || { 485 echo "$0: cannot unlink or rename $dst" >&2 486 (exit 1); exit 1 487 } 488 else 489 : 490 fi 491 } && 492 493 # Now rename the file to the real destination. 494 $doit $mvcmd "$dsttmp" "$dst" 495 } 496 } || exit 1 509 497 510 498 trap '' 0
Note:
See TracChangeset
for help on using the changeset viewer.