From 240a87d0ac6be58fa69e707fcf148ed03b28c3d3 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Mon, 12 Dec 2016 16:38:19 +0300 Subject: [PATCH] Remve unreachable code for -opt, minor bugfix. (#135) --- cmd/konanc | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/cmd/konanc b/cmd/konanc index e49acf59b08..965c8e48dcb 100755 --- a/cmd/konanc +++ b/cmd/konanc @@ -1,14 +1,15 @@ -#!/usr/bin/env bash +#!/usr/bin/env bash if [ -z "$JAVACMD" -a -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then JAVACMD="$JAVA_HOME/bin/java" -else +else JAVACMD=java fi declare -a java_args declare -a konan_args declare -a clang_args +declare -a clang_opt_args while [ $# -gt 0 ]; do case "$1" in @@ -21,7 +22,7 @@ while [ $# -gt 0 ]; do shift ;; -library) - clang_args=("${libraries[@]}" "$2") + clang_args=("${clang_args[@]}" "${libraries[@]}" "$2") konan_args=("${konan_args[@]}" "$1" "$2") shift shift @@ -54,6 +55,8 @@ while [ $# -gt 0 ]; do esac done +# TODO: support -opt on Linux hosts as well. +clang_opt_args=("-O3" "-flto" "-Wl,-dead_strip") [ -n "$KONAN_COMPILER" ] || KONAN_COMPILER=org.jetbrains.kotlin.cli.bc.K2NativeKt [ -n "$JAVACMD" ] || JAVACMD=java @@ -63,9 +66,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) } @@ -98,16 +101,16 @@ konan_args=("-runtime" $RUNTIME "${konan_args[@]}") if [ -z $OUTPUT_NAME ] ; then if [ -z $NOLINK ] ; then - OUTPUT_NAME="program.kexe" - KTBC_NAME="program.kt.bc" + OUTPUT_NAME="program.kexe" + KTBC_NAME="program.kt.bc" else - KTBC_NAME="program.kt.bc" + KTBC_NAME="program.kt.bc" fi else if [ -z $NOLINK ] ; then - KTBC_NAME="${OUTPUT_NAME}.kt.bc" - else - KTBC_NAME="${OUTPUT_NAME}" + KTBC_NAME="${OUTPUT_NAME}.kt.bc" + else + KTBC_NAME="${OUTPUT_NAME}" fi fi @@ -136,10 +139,9 @@ CLANG="$CLANG_BIN_PATH/clang" # TODO: Compilation without stdlib.kt.bc doesn't work because 'start' requires stdlib, for example. # Probably, we need a .klib compilation mode. # [ -z $NOSTDLIB ] && clang_args=($STDLIB "${clang_args[@]}") -[ "$OPTIMIZE" == "YES" ] && clang_args=("-flto -O3 ${clang_args[@]}") +[ "$OPTIMIZE" == "YES" ] && clang_args=("${clang_opt_args[@]} ${clang_args[@]}") clang_args=($STDLIB "${clang_args[@]}") clang_args=($LAUNCHER $START $RUNTIME "${clang_args[@]}") clang_args=("${clang_args[@]} $CLANG_PLATFORM_ARGS") -$CLANG $KTBC_NAME -o $OUTPUT_NAME ${clang_args[@]} - +$CLANG $KTBC_NAME -o $OUTPUT_NAME ${clang_args[@]}