--- lib/scripts/run-smlnj.orig Mon Jun 21 18:25:58 2004 +++ lib/scripts/run-smlnj Sun Sep 2 20:02:25 2007 @@ -5,18 +5,16 @@ # # SML/NJ startup script (for 110 or later). -export -n INFILE OUTFILE COPYDB COMPRESS MLTEXT TERMINATE NOWRITE - ## diagnostics -function fail_out() +fail_out() { echo "Unable to create output heap file: \"$OUTFILE\"" >&2 exit 2 } -function check_mlhome_file() +check_mlhome_file() { if [ ! -f "$1" ]; then echo "Unable to locate $1" >&2 @@ -25,7 +23,7 @@ fi } -function check_heap_file() +check_heap_file() { if [ ! -f "$1" ]; then echo "Expected to find ML heap file $1" >&2 @@ -40,10 +38,8 @@ ## compiler binaries SML="$ML_HOME/sml" -ARCH_N_OPSYS="$ML_HOME/.arch-n-opsys" check_mlhome_file "$SML" -check_mlhome_file "$ARCH_N_OPSYS" @@ -76,6 +72,14 @@ FEEDER_OPTS="-q" fi +SAVE_OUTFILE="$OUTFILE" +SAVE_MLTEXT="$MLTEXT" +SAVE_NOWRITE="$NOWRITE" +unset INFILE OUTFILE COPYDB COMPRESS MLTEXT TERMINATE NOWRITE +OUTFILE="$SAVE_OUTFILE" +MLTEXT="$SAVE_MLTEXT" +NOWRITE="$SAVE_NOWRITE" + "$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" -t "$MLEXIT" $FEEDER_OPTS | \ { read FPID; "$SML" $ML_OPTIONS "$DB"; RC="$?"; kill -HUP "$FPID"; exit "$RC"; } RC="$?" @@ -84,8 +88,7 @@ ## fix heap file name and permissions if [ -n "$OUTFILE" ]; then - eval $("$ARCH_N_OPSYS") - [ -z "$HEAP_SUFFIX" ] && HEAP_SUFFIX="$ARCH-$OPSYS" + [ -z "$HEAP_SUFFIX" ] && HEAP_SUFFIX="$ML_PLATFORM" HEAP="$OUTFILE.$HEAP_SUFFIX" check_heap_file "$HEAP" && mv "$HEAP" "$OUTFILE" && \ [ -n "$NOWRITE" ] && chmod -w "$OUTFILE"