From 977ae063f87db327c58078525d2979c8c3e65efc Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Wed, 31 May 2017 17:20:28 +0300 Subject: [PATCH] A little more defensive shell programming. --- cmd/cinterop | 15 ++++++++------- cmd/konanc | 13 +++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/cmd/cinterop b/cmd/cinterop index aae0dd7fc18..b3f6e186adf 100644 --- a/cmd/cinterop +++ b/cmd/cinterop @@ -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" diff --git a/cmd/konanc b/cmd/konanc index 5f93a02b877..2f6e395a1e6 100755 --- a/cmd/konanc +++ b/cmd/konanc @@ -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[@]}"