--- a/smalltalk Tue May 10 16:36:08 2016 +0200
+++ b/smalltalk Fri May 27 09:11:55 2016 +0100
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# $Header$
#
@@ -27,22 +27,25 @@
# all other args go to stx & the user classes
#
-STX=stx
-STX_BINDIR=.
+STX_EXE=stx
+STX_BIN_DIR=$(dirname $0)
DEBUGGER=
-
-if test -x `dirname $0`/stx; then
- STX_BINDIR=`dirname $0`
- STX=$STX_BINDIR/stx
-# cd $STX_BINDIR
+if ! test -f "$STX_BIN_DIR/Make.proto"; then
+ # Running in Smalltalk/X jv-branch deployment mode
+ VERSION=6.2.5
+ STX_HOME="$STX_BIN_DIR/.."
+ STX_TOPDIR="$STX_HOME/lib/smalltalkx/$VERSION"
+ STX_LIBDIR="$STX_TOPDIR/lib"
+ STX_PACKAGEDIR="$STX_TOPDIR%/packages"
+ STX_EXE="$STX_TOPDIR/bin/stx-bin"
fi
if [ "$STX_LIBDIR" != "" ]
then
if [ ! -f $STX_LIBDIR/smalltalk.rc ]
then
- echo "smalltalk [warning]: ignore wrong STX_LIBDIR setting"
+ echo "smalltalk [warning]: ignore wrong STX_LIBDIR setting ($STX_LIBDIR)"
STX_LIBDIR=""
fi
fi
@@ -90,9 +93,9 @@
then
STX_PACKAGEDIR=`cd $STX_LIBDIR/../packages ; pwd`
else
- if [ -f $STX_BINDIR/smalltalk.rc ]
+ if [ -f $STX_BIN_DIR/smalltalk.rc ]
then
- STX_PACKAGEDIR=`cd $STX_BINDIR/../../.. ; pwd`
+ STX_PACKAGEDIR=`cd $STX_BIN_DIR/../../.. ; pwd`
fi
fi
fi
@@ -110,9 +113,9 @@
then
STX_TOPDIR=`cd $STX_LIBDIR/.. ; pwd`
else
- if [ -f $STX_BINDIR/smalltalk.rc ]
+ if [ -f $STX_BIN_DIR/smalltalk.rc ]
then
- STX_TOPDIR=`cd $STX_BINDIR/../.. ; pwd`
+ STX_TOPDIR=`cd $STX_BIN_DIR/../.. ; pwd`
fi
fi
fi
@@ -124,13 +127,13 @@
export STX_LIBDIR STX_PACKAGEDIR STX_TOPDIR
-# echo STX is $STX
+# echo STX is $STX_EXE
if [ "$1" = "--help" ]
then
echo "
-usage: smalltalk [-x prog] [-X dir] [--ldd] [--gdb]
+usage: $(basename $0) [-x prog] [-X dir] [--ldd] [--gdb]
args to startup script:
-x prog ................ use prog instead of stx as executable
@@ -145,21 +148,19 @@
--stap SCRIPT .......... run given systemtap script, passing stx command as
stap -c 'stx ...' Systemtap may not be compiled in.
"
- exec $STX --help
- exit 0
fi
if [ "$1" = "-x" ]
then
shift
- STX=$1
+ STX_EXE=$1
shift
fi
if [ "$1" = "-X" ]
then
shift
- STX=$1/stx
+ STX_EXE=$1/stx
shift
fi
@@ -258,19 +259,19 @@
SHLIB_PATH=$STX_LIBDIR:$STX_LIBDIR/lib:$SHLIB_PATH
fi
else
- STX_LIBDIR=$STX_BINDIR
+ STX_LIBDIR=$STX_BIN_DIR
fi
#
-# and in STX_BINDIR
+# and in STX_BIN_DIR
#
-if [ "$STX_BINDIR" != "" ]
+if [ "$STX_BIN_DIR" != "" ]
then
- if [ "$STX_BINDIR" != "/usr/local/bin" ]
+ if [ "$STX_BIN_DIR" != "/usr/local/bin" ]
then
- LD_LIBRARY_PATH=$STX_BINDIR:$LD_LIBRARY_PATH
- SHLIB_PATH=$STX_BINDIR:$SHLIB_PATH
+ LD_LIBRARY_PATH=$STX_BIN_DIR:$LD_LIBRARY_PATH
+ SHLIB_PATH=$STX_BIN_DIR:$SHLIB_PATH
fi
fi
@@ -294,7 +295,7 @@
# debugging which stx & shared libs are used ...
#
whichOne=`/bin/sh -c "type $STX"`
-if [ "$STX" = "stx" ]
+if [ "$STX_EXE" = "stx" ]
then
if [ -f stx ]
then
@@ -340,7 +341,7 @@
# echo "Please be patient - hp systems are very slow."
# fi
-PATH=$PATH:$STX_BINDIR
+PATH=$PATH:$STX_BIN_DIR
export PATH
# echo PATH is $PATH
# echo DISPLAY is $DISPLAY
@@ -349,11 +350,11 @@
if [ ! -z "$STAPSCRIPT" ]; then
echo "$STX_TOPDIR/stx/hacking/tapset"
- CMD="$STX $@"
+ CMD="$STX_EXE $@"
echo "$CMD"
exec stap --unprivileged $STAPSCRIPT -I "$STX_TOPDIR/hacking/tapset" -c "$CMD"
fi
-exec $DEBUGGER $STX ${1+"$@"}
+exec $DEBUGGER $STX_EXE ${1+"$@"}