set -e
-BASE=`dirname "$0"`
-BASE=`(readlink -f ${BASE} 2> /dev/null || echo ${BASE})`
+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
- (--core)
+for arg in "$@"; do
+ case "$arg" in
+ --core)
CORE_DEFINED=yes
;;
- (--help)
+ --help)
echo "usage: run-sbcl.sh sbcl-options*"
echo
echo "Runs SBCL from the build directory or binary tarball without need for"
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