Windows scripts commoned.

This commit is contained in:
Alexander Gorshenev
2017-06-07 15:08:40 +03:00
committed by alexander-gorshenev
parent bd0a1a9ce1
commit 83d96f7d97
5 changed files with 132 additions and 195 deletions
+14 -114
View File
@@ -1,117 +1,17 @@
@echo off
rem based on scalac.bat from the Scala distribution
rem ##########################################################################
rem # Copyright 2002-2011, LAMP/EPFL
rem # Copyright 2011-2017, JetBrains
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 ##########################################################################
setlocal enabledelayedexpansion
call :set_home
call :set_path
if not "%JAVA_HOME%"=="" (
if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
)
if "%_JAVACMD%"=="" set _JAVACMD=java
set OUTPUT_FILE_NAME=nativelib
set TARGET=host
set JAVA_ARGS=
set INTEROP_ARGS=
:again
set "ARG=%1"
if not "!ARG!" == "" (
if "!ARG:~0,2!" == "-D" (
set "JAVA_ARGS=%JAVA_ARGS% %ARG%"
goto next
)
if "!ARG:~0,2!" == "-J" (
set "JAVA_ARGS=%JAVA_ARGS% !ARG:~2!"
goto next
)
if "!ARG!" == "-o" (
set "OUTPUT_FILE_NAME=%2"
shift
goto next
)
if "!ARG!" == "-target" (
set "TARGET=%2"
shift
goto next
)
set "INTEROP_ARGS=%INTEROP_ARGS% %ARG%"
:next
shift
goto again
)
set "NATIVE_LIB=%_KONAN_HOME%\konan\nativelib"
set JAVA_OPTS=-ea ^
"-Djava.library.path=%NATIVE_LIB%" ^
"-Dkonan.home=%_KONAN_HOME%" ^
-Dfile.encoding=UTF-8
set "STUB_GENERATOR_JAR=%_KONAN_HOME%\konan\lib\StubGenerator.jar"
set "KOTLIN_JAR=%_KONAN_HOME%\konan\lib\kotlin-compiler.jar"
set "INTEROP_INDEXER_JAR=%_KONAN_HOME%\konan\lib\Indexer.jar"
set "INTEROP_RUNTIME_JAR=%_KONAN_HOME%\konan\lib\Runtime.jar"
set "HELPERS_JAR=%_KONAN_HOME%\konan\lib\helpers.jar"
set "INTEROP_CLASSPATH=%STUB_GENERATOR_JAR%;%KOTLIN_JAR%;%INTEROP_INDEXER_JAR%;%INTEROP_RUNTIME_JAR%;%HELPERS_JAR%"
set "INTEROP_TOOL=org.jetbrains.kotlin.native.interop.gen.jvm.MainKt"
set "FLAVOR_ARG=-flavor native"
set "GENERATED_DIR=%OUTPUT_FILE_NAME%-build/kotlin"
set "GENERATED_ARG=-generated "%GENERATED_DIR%""
set "NATIVES_DIR=%OUTPUT_FILE_NAME%-build/natives"
set "NATIVES_ARG=-natives "%NATIVES_DIR%""
set "CSTUBSNAME=cstubs"
set "CSTUBSNAME_ARG=-cstubsname %CSTUBSNAME%"
set LIBCLANG_DISABLE_CRASH_RECOVERY=1
"%_JAVACMD%" %JAVA_OPTS% %JAVA_ARGS% ^
-cp "%INTEROP_CLASSPATH%" ^
%INTEROP_TOOL% ^
%GENERATED_ARG% %NATIVES_ARG% %CSTUBSNAME_ARG% ^
%FLAVOR_ARG% -target "%TARGET%" %INTEROP_ARGS%
if ERRORLEVEL 1 exit /b %ERRORLEVEL%
rem Stubs may be rather big, so we may need more heap space.
set XMX_ARG=-J-Xmx3G
call "%_KONAN_HOME%\bin\konanc.bat" %XMX_ARG% "%GENERATED_DIR%" -produce library ^
-nativelibrary "%NATIVES_DIR%/%CSTUBSNAME%.bc" ^
-o "%OUTPUT_FILE_NAME%" -target "%TARGET%"
exit /b %ERRORLEVEL%
goto end
rem ##########################################################################
rem # subroutines
:set_home
set _BIN_DIR=
for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
set _KONAN_HOME=%_BIN_DIR%..
goto :eof
:set_path
rem libclang.dll is dynamically linked and thus requires correct PATH to be loaded.
rem TODO: remove this hack.
set "PATH=%_KONAN_HOME%\dependencies\msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64\bin;%PATH%"
goto :eof
:end
endlocal
rem Copyright 2010-2017 JetBrains s.r.o.
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
call %~dps0run_konan.bat cinterop %*
+14 -79
View File
@@ -1,82 +1,17 @@
@echo off
rem based on scalac.bat from the Scala distribution
rem ##########################################################################
rem # Copyright 2002-2011, LAMP/EPFL
rem # Copyright 2011-2017, JetBrains
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 ##########################################################################
setlocal enabledelayedexpansion
call :set_home
if "%_KONAN_COMPILER%"=="" set _KONAN_COMPILER=org.jetbrains.kotlin.cli.bc.K2NativeKt
if not "%JAVA_HOME%"=="" (
if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
)
if "%_JAVACMD%"=="" set _JAVACMD=java
set JAVA_ARGS=
set KONAN_ARGS=
:again
set "ARG=%1"
if not "!ARG!" == "" (
if "!ARG:~0,2!" == "-D" (
set "JAVA_ARGS=%JAVA_ARGS% %ARG%"
goto next
)
if "!ARG:~0,2!" == "-J" (
set "JAVA_ARGS=%JAVA_ARGS% !ARG:~2!"
goto next
)
if "!ARG:~0,2!" == "-X" (
echo "TODO: need to pass arguments to all the tools somehow."
goto next
)
if "!ARG!" == "--time" (
set "KONAN_ARGS=%KONAN_ARGS% --time"
set "JAVA_ARGS=%JAVA_ARGS% -agentlib:hprof=cpu=samples -Dkonan.profile=true"
goto next
)
set "KONAN_ARGS=%KONAN_ARGS% %ARG%"
:next
shift
goto again
)
set "KONAN_JAR=%_KONAN_HOME%\konan\lib\backend.native.jar"
set "KOTLIN_JAR=%_KONAN_HOME%\konan\lib\kotlin-compiler.jar"
set "INTEROP_JAR=%_KONAN_HOME%\konan\lib\Runtime.jar"
set "HELPERS_JAR=%_KONAN_HOME%\konan\lib\helpers.jar"
set "NATIVE_LIB=%_KONAN_HOME%\konan\nativelib"
set "KONAN_CLASSPATH=%KOTLIN_JAR%;%INTEROP_JAR%;%KONAN_JAR%;%HELPERS_JAR%"
set "JAVA_OPTS=-ea -Dfile.encoding=UTF-8"
set "JAVA_ARGS=%JAVA_ARGS% -noverify -Dkonan.home=%_KONAN_HOME% -Djava.library.path=%NATIVE_LIB%"
"%_JAVACMD%" %JAVA_OPTS% %JAVA_ARGS% -cp %KONAN_CLASSPATH% %_KONAN_COMPILER% %KONAN_ARGS%
exit /b %ERRORLEVEL%
goto end
rem ##########################################################################
rem # subroutines
:set_home
set _BIN_DIR=
for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
set _KONAN_HOME=%_BIN_DIR%..
goto :eof
:end
endlocal
rem Copyright 2010-2017 JetBrains s.r.o.
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
call %~dps0run_konan.bat konanc %*
+1 -1
View File
@@ -14,4 +14,4 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
call %~dps0konanc.bat %*
call %~dps0run_konan.bat konanc %*
+1 -1
View File
@@ -14,4 +14,4 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
call %~dps0konanc.bat %*
call %~dps0run_konan.bat konanc %*
+102
View File
@@ -0,0 +1,102 @@
@echo off
rem based on scalac.bat from the Scala distribution
rem ##########################################################################
rem # Copyright 2002-2011, LAMP/EPFL
rem # Copyright 2011-2017, JetBrains
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 ##########################################################################
setlocal enabledelayedexpansion
call :set_home
call :set_path
set "TOOL_NAME=%1"
shift
if "%_TOOL_CLASS%"=="" set _TOOL_CLASS=org.jetbrains.kotlin.cli.utilities.MainKt
if not "%JAVA_HOME%"=="" (
if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
)
if "%_JAVACMD%"=="" set _JAVACMD=java
set JAVA_ARGS=
set KONAN_ARGS=
:again
set "ARG=%1"
if not "!ARG!" == "" (
if "!ARG:~0,2!" == "-D" (
set "JAVA_ARGS=%JAVA_ARGS% %ARG%"
goto next
)
if "!ARG:~0,2!" == "-J" (
set "JAVA_ARGS=%JAVA_ARGS% !ARG:~2!"
goto next
)
if "!ARG:~0,2!" == "-X" (
echo "TODO: need to pass arguments to all the tools somehow."
goto next
)
if "!ARG!" == "--time" (
set "KONAN_ARGS=%KONAN_ARGS% --time"
set "JAVA_ARGS=%JAVA_ARGS% -agentlib:hprof=cpu=samples -Dkonan.profile=true"
goto next
)
set "KONAN_ARGS=%KONAN_ARGS% %ARG%"
:next
shift
goto again
)
set "NATIVE_LIB=%_KONAN_HOME%\konan\nativelib"
set "KONAN_LIB=%_KONAN_HOME%\konan\lib"
set "HELPERS_JAR=%KONAN_LIB%\helpers.jar"
set "INTEROP_INDEXER_JAR=%KONAN_LIB%\Indexer.jar"
set "INTEROP_RUNTIME_JAR=%KONAN_LIB%\Runtime.jar"
set "KLIB_JAR=%KONAN_LIB%\klib.jar"
set "KONAN_JAR=%KONAN_LIB%\backend.native.jar"
set "KOTLIN_JAR=%KONAN_LIB%\kotlin-compiler.jar"
set "STUB_GENERATOR_JAR=%KONAN_LIB%\StubGenerator.jar"
set "UTILITIES_JAR=%KONAN_LIB%\utilities.jar"
set "KONAN_CLASSPATH=%KOTLIN_JAR%;%INTEROP_RUNTIME_JAR%;%KONAN_JAR%;%STUB_GENERATOR_JAR%;%INTEROP_INDEXER_JAR%;%HELPERS_JAR%;%KLIB_JAR%;%UTILITIES_JAR%"
set JAVA_OPTS=-ea ^
-Xmx3G ^
"-Djava.library.path=%NATIVE_LIB%" ^
"-Dkonan.home=%_KONAN_HOME%" ^
-Dfile.encoding=UTF-8
set LIBCLANG_DISABLE_CRASH_RECOVERY=1
"%_JAVACMD%" %JAVA_OPTS% %JAVA_ARGS% -cp "%KONAN_CLASSPATH%" %_TOOL_CLASS% %TOOL_NAME% %KONAN_ARGS%
exit /b %ERRORLEVEL%
goto end
rem ##########################################################################
rem # subroutines
:set_home
set _BIN_DIR=
for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
set _KONAN_HOME=%_BIN_DIR%..
goto :eof
:set_path
rem libclang.dll is dynamically linked and thus requires correct PATH to be loaded.
rem TODO: remove this hack.
set "PATH=%_KONAN_HOME%\dependencies\msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64\bin;%PATH%"
goto :eof
:end
endlocal