Fix cd error when running bjam from non-top

This commit is contained in:
Kenneth Heafield 2013-03-19 11:17:17 +00:00
parent 42526b5b6e
commit 7dc4faa97e

4
bjam
View File

@ -1,17 +1,17 @@
#!/bin/bash #!/bin/bash
set -e set -e
top="$(dirname "$0")"
if if
bjam="$(which bjam 2>/dev/null)" && #exists bjam="$(which bjam 2>/dev/null)" && #exists
[ ${#bjam} != 0 ] && #paranoia about which printing nothing then returning true [ ${#bjam} != 0 ] && #paranoia about which printing nothing then returning true
! grep UFIHGUFIHBDJKNCFZXAEVA "${bjam}" </dev/null >/dev/null && #bjam in path isn't this script ! grep UFIHGUFIHBDJKNCFZXAEVA "${bjam}" </dev/null >/dev/null && #bjam in path isn't this script
"${bjam}" --sanity-test 2>/dev/null |grep Sane >/dev/null && #The test in jam-files/sanity.jam passes "${bjam}" --sanity-test 2>/dev/null |grep Sane >/dev/null && #The test in jam-files/sanity.jam passes
(cd jam-files/fail && ! "${bjam}") >/dev/null #Returns non-zero on failure (cd "${top}/jam-files/fail" && ! "${bjam}") >/dev/null #Returns non-zero on failure
then then
#Delegate to system bjam #Delegate to system bjam
exec "${bjam}" "$@" exec "${bjam}" "$@"
fi fi
top="$(dirname "$0")"
if [ ! -x "$top"/jam-files/bjam ] || "$top"/jam-files/bjam -v |grep 2011.4 >/dev/null; then if [ ! -x "$top"/jam-files/bjam ] || "$top"/jam-files/bjam -v |grep 2011.4 >/dev/null; then
pushd "$top/jam-files/engine" pushd "$top/jam-files/engine"
./build.sh ./build.sh