summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/ant/templates/generic-unix.tmpl
blob: e2c899682e556b8dc81e0ba608b8de619eee5dac (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
#!/bin/sh

##############################################################################
# Scala runtime @version@
##############################################################################
# @copyright@
# This is free software; see the distribution for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
##############################################################################

cygwin=false;
darwin=false;
case "`uname`" in
    CYGWIN*) cygwin=true ;;
    Darwin*) darwin=true ;;
esac

SOURCE=$0;
SCRIPT=`basename "$SOURCE"`;
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;
SCALA_HOME=`dirname "$SOURCE"`/..;
SCALA_HOME=`cd "$SCALA_HOME"; pwd`;

EXTENSION_CLASSPATH="@extclasspath@"
USER_CLASSPATH="."
USER_ARGS=""

if [ "$EXTENSION_CLASSPATH" == "" ] ; then
    for jar in `ls $SCALA_HOME/lib/*.jar` ; do
        EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$jar"
    done
    EXTENSION_CLASSPATH=${EXTENSION_CLASSPATH:1}
fi

if [ "$CLASSPATH" != "" ] ; then
      USER_CLASSPATH="$CLASSPATH"
fi

QQ_CP_ARGUMENT=0
for i in $@@ ; do
    if [ "$QQ_CP_ARGUMENT" -eq 1 ] ; then
        USER_CLASSPATH=$i
        QQ_CP_ARGUMENT=0
    else
        if [[ $i = "-cp" || $i = "-classpath" ]] ; then
            QQ_CP_ARGUMENT=1
        else
            USER_ARGS="$USER_ARGS $i"
            QQ_CP_ARGUMENT=0
        fi
    fi
done

MYCLASSPATH=""
if [ "$EXTENSION_CLASSPATH" == "" ] ; then
    MYCLASSPATH="$USER_CLASSPATH"
else
    if [ "$USER_CLASSPATH" == "" ] ; then
        MYCLASSPATH="$EXTENSION_CLASSPATH"
    else
        MYCLASSPATH="$USER_CLASSPATH:$EXTENSION_CLASSPATH"
    fi
fi

for flag in "$@@" ; do
    if [ "$flag" == '-version' ] ; then
        echo "Scala runtime version @version@ -- @copyright@"
        ${JAVACMD:=java} -version
        exit 0
    fi
done

BOOT_CLASSPATH=""
if [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then
    BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar"
fi

if $cygwin; then
    if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
        format=mixed
    else
        format=windows
    fi
    SCALA_HOME=`cygpath --$format "$SCALA_HOME"`
    USER_CLASSPATH=`cygpath --path --$format "$USER_CLASSPATH"`
    BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"`
    EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"`
    MYCLASSPATH=`cygpath --path --$format "$MYCLASSPATH"`
fi

QQ_BOOT_ARG=""
if [ "$BOOT_CLASSPATH" != "" ] ; then
    QQ_BOOT_ARG="-Xbootclasspath/a:$BOOT_CLASSPATH"
fi

${JAVACMD:=java} $QQ_BOOT_ARG @javaflags@ -cp "$MYCLASSPATH" -Dscala.home="$SCALA_HOME" -Dscala.class.path="$USER_CLASSPATH" -Dscala.boot.class.path="$BOOT_CLASSPATH" -Dscala.ext.path="$EXTENSION_CLASSPATH" @properties@ $USER_ARGS