blob: 8018f1cb1e12ae4265ca9816c18c09b4276a976e (
plain) (
tree)
|
|
@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%" (
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
|