diff options
Diffstat (limited to 'src/mono/bin/scalac.net')
-rwxr-xr-x | src/mono/bin/scalac.net | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/mono/bin/scalac.net b/src/mono/bin/scalac.net new file mode 100755 index 0000000000..e3442b3606 --- /dev/null +++ b/src/mono/bin/scalac.net @@ -0,0 +1,86 @@ +#!/bin/sh + +############################################################################## +# @NAME@ @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 + +# Finding the root folder for this Scala distribution +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`; +if $cygwin; then + SCALA_HOME=`cygpath --windows --short-name "$SCALA_HOME"` + SCALA_HOME=`cygpath --unix "$SCALA_HOME"` +fi + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi + +# Setting the boot class-path to be the standard library (either as a JAR or a folder) +BOOT_CLASSPATH="" +if [ -z "$BOOT_CLASSPATH" ] ; then + if [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then + BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar" + elif [ -d "$SCALA_HOME/lib/library" ] ; then + BOOT_CLASSPATH="$SCALA_HOME/lib/library" + fi +fi + +if [ ! -x "$ILASM" ] ; then + if [ -d "$MONO_HOME" ] ; then + ILASM="$MONO_HOME/bin/ilasm" + else + ILASM="ilasm" + fi +fi + +MSIL_LIBPATH="$SCALA_HOME/lib/predef.dll:$SCALA_HOME/lib/scalaruntime.dll:$SCALA_HOME/lib/mscorlib.dll" +[ -z "$MONO_PATH" ] || MSIL_LIBPATH="$MSIL_LIBPATH:$MONO_PATH" + +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"` + EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"` + BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"` + MSIL_LIBPATH=`cygpath --path --$format "$MSIL_LIBPATH"` + ILASM=`cygpath --$format "$COMSPEC"`" /C "`cygpath --windows "$ILASM"` +fi + +${JAVACMD:=java} ${JAVA_OPTS:=-Xmx256M -Xms16M} -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Dmsil.libpath="$MSIL_LIBPATH" -Dmsil.ilasm="$ILASM" scala.tools.nsc.Main -target:msil "$@" |