summaryrefslogtreecommitdiff
path: root/bin/.scala_wrapper
blob: dada98420a5e3997d986f79e2a7b91d7b1a680a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/sh
##############################################################################
#     ____ ____  ____ ____  ______                                           #
#    / __// __ \/ __// __ \/ ____/    SOcos COmpiles Scala                   #
#  __\_ \/ /_/ / /__/ /_/ /\_ \       (c) 2002, LAMP/EPFL                    #
# /_____/\____/\___/\____/____/                                              #
#                                                                            #
##############################################################################

##############################################################################
# launch script for scala tools
#
# @author   Philippe Altherr
# @version  1.0
#
# $Id$

##############################################################################
# define prefix and script

SOURCE="$0";
while [ -h "$SOURCE" ]; do
    SCRIPT="`basename $SOURCE`";
    LOOKUP="`ls -ld "$SOURCE"`";
    TARGET="`expr "$LOOKUP" : '.*-> \(.*\)$'`";
    if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then
        SOURCE="${TARGET:-.}";
    else
        SOURCE="`dirname "$SOURCE"`/${TARGET:-.}";
    fi;
done;
PREFIX="`dirname "$SOURCE"`/..";
PREFIX="`cd "$PREFIX"; pwd`";

##############################################################################
# compute product & version

CVSTREE="false";
PRODUCT="$SCRIPT"

if [ -f "$PREFIX/VERSION" ]; then
    VERSION=`head -1 "$PREFIX/VERSION"`;
elif [ -d "$PREFIX/CVS" ]; then
    CVSTREE="true";
    VERSION="development version";
else
    VERSION="unknown version";
fi

##############################################################################
# check script name

if [ -z "$SCRIPT" ]; then
    exit 0;
fi;

case "$SCRIPT" in
    socos* | siris* | surus* )
        true;;
    *)
        echo "unknown script \`$SCRIPT'" 1>&2;
        exit 1;;
esac;

##############################################################################
# setup paths

if [ "$CVSTREE" = "true" ]; then
    BCEL_PATH="${BCEL_PATH:-/home/linuxsoft/apps/BCEL-5.0/bcel.jar}";
    MSIL_PATH="${MSIL_PATH:-/home/linuxsoft/apps/java2net/msil.jar}";
    SCALA_CLASSES="$PREFIX/classes";
    SCALA_SOURCES="$PREFIX/scala-sources";
else
    PROJECT_NAME="scala";
    LIBDIR="$PREFIX/lib";
    DATADIR="$PREFIX/share";
    BCEL_PATH="$LIBDIR/bcel.jar";
    MSIL_PATH="$LIBDIR/msil.jar";
    SCALA_CLASSES="$LIBDIR/$PROJECT_NAME.jar";
    SCALA_SOURCES="$DATADIR/$PROJECT_NAME/library";
fi;

JAVA_CLASSPATH="$SCALA_CLASSES";
JAVA_CLASSPATH="$JAVA_CLASSPATH:$BCEL_PATH";
JAVA_CLASSPATH="$JAVA_CLASSPATH:$MSIL_PATH";

SCALA_CLASSPATH="${CLASSPATH:-.}"

SCALA_BOOTCLASSPATH="$JAVA_CLASSPATH";
SCALA_BOOTCLASSPATH="$SCALA_BOOTCLASSPATH:$SCALA_SOURCES";

##############################################################################
# OS specific support

case `uname` in
    CYGWIN* )
        # For Cygwin, switch paths to Windows format before running java.
        # We assume that CLASSPATH is already in Windows format, so there
        # is nothing to do for SCALA_CLASSPATH.
        JAVA_CLASSPATH=`cygpath -w -p "$JAVA_CLASSPATH"`
        SCALA_BOOTCLASSPATH=`cygpath -w -p "$SCALA_BOOTCLASSPATH"`
        ;;
esac

##############################################################################
# select java arguments

JAVA_ARGS="-Dscala.boot.class.path='$SCALA_BOOTCLASSPATH'";
JAVA_ARGS="$JAVA_ARGS -Dscala.class.path='$SCALA_CLASSPATH'";
JAVA_ARGS="$JAVA_ARGS -Dscala.product='$PRODUCT'";
JAVA_ARGS="$JAVA_ARGS -Dscala.version='$VERSION'";
JAVA_ARGS="$JAVA_ARGS -classpath '$JAVA_CLASSPATH'";
JAVA_ARGS="$JAVA_ARGS -ms16m -enableassertions";

case "$SCRIPT" in
    *-debug* )
        JAVA_ARGS="$JAVA_ARGS -Djava.compiler=NONE";;
esac;

##############################################################################
# select main class & program arguments

# select script-specific program arguments
case "$SCRIPT" in
    socos* )
        JAVA_MAIN="scala.compiler.Main";
        ;;
    surus* )
        JAVA_MAIN="scala.interpreter.Main";
        ;;
    siris* )
        JAVA_MAIN="scala.interpreter.Main";
        MAIN_ARGS="$MAIN_ARGS -interactive";
        ;;
esac;

##############################################################################
# invoke java

eval ${SCALA_WRAPPER_EXEC:-exec} java $JAVA_ARGS $JAVA_MAIN $MAIN_ARGS '"$@"';

##############################################################################