A little more defensive shell programming.

This commit is contained in:
Alexander Gorshenev
2017-05-31 17:20:28 +03:00
committed by alexander-gorshenev
parent f9d0d6d563
commit 977ae063f8
2 changed files with 15 additions and 13 deletions
+8 -7
View File
@@ -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
View File
@@ -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[@]}"