X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=run-sbcl.sh;h=da5775be178a2b8769563610f35c400f03647a26;hb=HEAD;hp=8f0cd00b1d9101556a698fbe5489c1cea188a585;hpb=0d67e11363ce91e7f3d4d196d447add7acb67289;p=sbcl.git diff --git a/run-sbcl.sh b/run-sbcl.sh old mode 100644 new mode 100755 index 8f0cd00..da5775b --- a/run-sbcl.sh +++ b/run-sbcl.sh @@ -13,23 +13,25 @@ set -e -BASE=`dirname "$0"` -if (readlink -f "${BASE}") >/dev/null 2>&1; then - BASE=`readlink -f ${BASE}` -else - opwd=`pwd` - cd "${BASE}" - BASE=`pwd` - cd "${opwd}" -fi -if [ "$OSTYPE" = "cygwin" ] -then - BASE=`cygpath -w "$BASE"` -fi +this="$0" + +# OSX 10.8 readlink doesn't have -f +while [ -h "$this" ]; do + # [ -h should guarantee that readlink output will be non-null + link=`readlink -n "$this"` + # if absolute path + if expr "$link" : '^/.*' > /dev/null; then + this="$link" + else + this=`dirname "$this"`/"$link" + fi +done +BASE=`dirname "$this"` + CORE_DEFINED=no -for arg in $*; do - case $arg in +for arg in "$@"; do + case "$arg" in --core) CORE_DEFINED=yes ;; @@ -52,8 +54,8 @@ if [ "$CORE_DEFINED" = "no" ]; then fi if [ -x "$BASE"/src/runtime/sbcl -a -f "$BASE"/output/sbcl.core ]; then - echo "(running SBCL from: $BASE)" - SBCL_HOME="$BASE"/contrib "$BASE"/src/runtime/sbcl $ARGUMENTS "$@" + echo "(running SBCL from: $BASE)" 1>&2 + SBCL_HOME="$BASE/obj/sbcl-home" exec "$BASE"/src/runtime/sbcl $ARGUMENTS "$@" else echo "No built SBCL here ($BASE): run 'sh make.sh' first!" exit 1