summaryrefslogtreecommitdiff
path: root/src/mono/bin/scala.net.bat
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2007-06-18 08:26:33 +0000
committermichelou <michelou@epfl.ch>2007-06-18 08:26:33 +0000
commita6ffdf699226a145b06ef542ca44575ed3b5245d (patch)
tree90b5133beac667e6a64b939576d1481c887262a5 /src/mono/bin/scala.net.bat
parent41d984037ab6eff6f5931bdadff833df569c17f5 (diff)
downloadscala-a6ffdf699226a145b06ef542ca44575ed3b5245d.tar.gz
scala-a6ffdf699226a145b06ef542ca44575ed3b5245d.tar.bz2
scala-a6ffdf699226a145b06ef542ca44575ed3b5245d.zip
removed .NET specifics from Scala commands
Diffstat (limited to 'src/mono/bin/scala.net.bat')
-rwxr-xr-xsrc/mono/bin/scala.net.bat81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/mono/bin/scala.net.bat b/src/mono/bin/scala.net.bat
new file mode 100755
index 0000000000..89c097a09f
--- /dev/null
+++ b/src/mono/bin/scala.net.bat
@@ -0,0 +1,81 @@
+@echo off
+
+rem ##########################################################################
+rem # @NAME@ @VERSION@
+rem ##########################################################################
+rem # @COPYRIGHT@
+rem #
+rem # This is free software; see the distribution for copying conditions.
+rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+rem # PARTICULAR PURPOSE.
+rem ##########################################################################
+
+rem We adopt the following conventions:
+rem - System/user environment variables start with a letter
+rem - Local batch variables start with an underscore ('_')
+
+if "%OS%"=="Windows_NT" (
+ @setlocal
+ call :set_home
+ set _ARGS=%*
+) else (
+ set _SCALA_HOME=%SCALA_HOME%
+ rem The following line tests SCALA_HOME instead of _SCALA_HOME, because
+ rem the above change to _SCALA_HOME is not visible within this block.
+ if "%SCALA_HOME%"=="" goto error1
+ call :set_args
+)
+
+rem We use the value of the MONO environment variable if defined
+set _MONO=%MONO%
+if "%_MONO%"=="" (
+ if exist "%MONO_HOME%"\nul (
+ set _MONO=%MONO_HOME%\bin\mono.exe
+ ) else (
+ call :find_mono mono.exe
+ )
+)
+
+set _MSIL_LIBPATH=%_SCALA_HOME%\lib
+if not "%MONO_PATH%"=="" (
+ set _MSIL_LIBPATH=%_MSIL_LIBPATH%;%MONO_PATH%
+)
+
+set MONO_PATH=%_MSIL_LIBPATH%
+%_MONO% %_ARGS%
+goto end
+
+rem ##########################################################################
+rem # subroutines
+
+rem Variable "%~dps0" works on WinXP SP2 or newer
+rem (see http://support.microsoft.com/?kbid=833431)
+rem set _SCALA_HOME=%~dps0..
+:set_home
+ set _BIN_DIR=
+ for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
+ set _SCALA_HOME=%_BIN_DIR%..
+goto :eof
+
+:find_mono
+ set _MONO=%~$PATH:1
+goto :eof
+
+:set_args
+ set _ARGS=
+ :loop
+ rem Argument %1 may contain quotes so we use parentheses here
+ if (%1)==() goto :eof
+ set _ARGS=%_ARGS% %1
+ shift
+ goto loop
+
+rem ##########################################################################
+rem # errors
+
+:error1
+echo ERROR: environment variable SCALA_HOME is undefined. It should point to your installation directory.
+goto end
+
+:end
+if "%OS%"=="Windows_NT" @endlocal