Make interop tool generate one self-contained .kt.bc

This commit is contained in:
Svyatoslav Scherbina
2017-03-30 10:13:01 +03:00
committed by SvyatoslavScherbina
parent f564bd7707
commit ebced0aa2d
8 changed files with 44 additions and 18 deletions
+19
View File
@@ -10,6 +10,8 @@ fi
declare -a java_args
declare -a interop_args
OUTPUT_FILE_NAME=nativelib.kt.bc
while [ $# -gt 0 ]; do
case "$1" in
-D*)
@@ -20,6 +22,10 @@ while [ $# -gt 0 ]; do
java_args=("${java_args[@]}" "${1:2}")
shift
;;
-o:*)
OUTPUT_FILE_NAME="${1:3}"
shift
;;
*)
interop_args=("${interop_args[@]}" "$1")
shift
@@ -54,11 +60,24 @@ INTEROP_TOOL=org.jetbrains.kotlin.native.interop.gen.jvm.MainKt
FLAVOR_ARG=-flavor:native
GENERATED_DIR="$OUTPUT_FILE_NAME-build/kotlin"
GENERATED_ARG="-generated:$GENERATED_DIR"
NATIVES_DIR="$OUTPUT_FILE_NAME-build/natives"
NATIVES_ARG="-natives:$NATIVES_DIR"
CSTUBSNAME=cstubs
CSTUBSNAME_ARG="-cstubsname:$CSTUBSNAME"
LIBCLANG_DISABLE_CRASH_RECOVERY=1 \
LD_LIBRARY_PATH=${NATIVE_LIB} \
$JAVACMD $JAVA_OPTS ${java_args[@]} \
-cp $INTEROP_CLASSPATH \
$INTEROP_TOOL \
"$GENERATED_ARG" "$NATIVES_ARG" "$CSTUBSNAME_ARG" \
$FLAVOR_ARG "${interop_args[@]}" \
|| exit 1
# Stubs may be rather big, so we may need more heap space.
XMX_ARG=-J-Xmx3G
$KONAN_HOME/bin/konanc $XMX_ARG "$GENERATED_DIR" -nolink -nativelibrary "$NATIVES_DIR/$CSTUBSNAME.bc" \
-o "$OUTPUT_FILE_NAME"