A little more defensive shell programming.
This commit is contained in:
committed by
alexander-gorshenev
parent
f9d0d6d563
commit
977ae063f8
+8
-7
@@ -22,6 +22,7 @@ fi
|
||||
[ -n "$JAVACMD" ] || JAVACMD=java
|
||||
|
||||
declare -a java_args
|
||||
declare -a java_opts
|
||||
declare -a interop_args
|
||||
|
||||
OUTPUT_FILE_NAME=nativelib
|
||||
@@ -64,10 +65,10 @@ findHome() {
|
||||
KONAN_HOME="$(findHome)"
|
||||
|
||||
NATIVE_LIB="${KONAN_HOME}/konan/nativelib"
|
||||
JAVA_OPTS="-ea \
|
||||
-Djava.library.path=${NATIVE_LIB} \
|
||||
-Dkonan.home=${KONAN_HOME} \
|
||||
-Dfile.encoding=UTF-8"
|
||||
java_opts=(-ea \
|
||||
"-Djava.library.path=${NATIVE_LIB}" \
|
||||
"-Dkonan.home=${KONAN_HOME}" \
|
||||
-Dfile.encoding=UTF-8)
|
||||
|
||||
STUB_GENERATOR_JAR="${KONAN_HOME}/konan/lib/StubGenerator.jar"
|
||||
KOTLIN_JAR="${KONAN_HOME}/konan/lib/kotlin-compiler.jar"
|
||||
@@ -87,8 +88,8 @@ CSTUBSNAME=cstubs
|
||||
CSTUBSNAME_ARG="-cstubsname $CSTUBSNAME"
|
||||
|
||||
LIBCLANG_DISABLE_CRASH_RECOVERY=1 \
|
||||
$JAVACMD $JAVA_OPTS ${java_args[@]} \
|
||||
-cp $INTEROP_CLASSPATH \
|
||||
$JAVACMD "${java_opts[@]}" "${java_args[@]}" \
|
||||
-cp "$INTEROP_CLASSPATH" \
|
||||
$INTEROP_TOOL \
|
||||
$GENERATED_ARG $NATIVES_ARG $CSTUBSNAME_ARG \
|
||||
$FLAVOR_ARG -target $TARGET "${interop_args[@]}" \
|
||||
@@ -97,5 +98,5 @@ $JAVACMD $JAVA_OPTS ${java_args[@]} \
|
||||
# Stubs may be rather big, so we may need more heap space.
|
||||
XMX_ARG=-J-Xmx3G
|
||||
|
||||
$KONAN_HOME/bin/konanc $XMX_ARG "$GENERATED_DIR" -produce library -nativelibrary "$NATIVES_DIR/$CSTUBSNAME.bc" \
|
||||
"${KONAN_HOME}/bin/konanc" $XMX_ARG "$GENERATED_DIR" -produce library -nativelibrary "$NATIVES_DIR/$CSTUBSNAME.bc" \
|
||||
-o "$OUTPUT_FILE_NAME" -target "$TARGET"
|
||||
|
||||
+7
-6
@@ -22,6 +22,7 @@ fi
|
||||
[ -n "$JAVACMD" ] || JAVACMD=java
|
||||
|
||||
declare -a java_args
|
||||
declare -a java_opts
|
||||
declare -a konan_args
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
@@ -54,9 +55,9 @@ done
|
||||
findHome() {
|
||||
local source="${BASH_SOURCE[0]}"
|
||||
while [ -h "$source" ] ; do
|
||||
local linked="$(readlink "$source")"
|
||||
local dir="$(cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd)"
|
||||
source="$dir/$(basename "$linked")"
|
||||
local linked="$(readlink "$source")"
|
||||
local dir="$(cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd)"
|
||||
source="$dir/$(basename "$linked")"
|
||||
done
|
||||
(cd -P "$(dirname "$source")/.." && pwd)
|
||||
}
|
||||
@@ -70,13 +71,13 @@ HELPERS_JAR="${KONAN_HOME}/konan/lib/helpers.jar"
|
||||
NATIVE_LIB="${KONAN_HOME}/konan/nativelib"
|
||||
KONAN_CLASSPATH="$KOTLIN_JAR:$INTEROP_JAR:$KONAN_JAR:$HELPERS_JAR"
|
||||
KONAN_COMPILER=org.jetbrains.kotlin.cli.bc.K2NativeKt
|
||||
JAVA_OPTS="-ea -Dfile.encoding=UTF-8"
|
||||
java_opts=(-ea -Dfile.encoding=UTF-8)
|
||||
|
||||
#
|
||||
# KONAN BACKEND INVOCATION
|
||||
#
|
||||
|
||||
java_args=("${java_args[@]} -noverify -Dkonan.home=${KONAN_HOME} -Djava.library.path=${NATIVE_LIB}")
|
||||
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[@]}"
|
||||
"$JAVACMD" "${java_opts[@]}" "${java_args[@]}" -cp "$KONAN_CLASSPATH" "$KONAN_COMPILER" "${konan_args[@]}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user