smalltalk
branchjv
changeset 1435 9a1f18933e40
parent 1432 1e235b190ee3
child 1445 88a4f36a6912
--- 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+"$@"}