d3f201dd45
It was never documented and was never supposed to be used. In the rare case when someone must profile preloader, he can temporarily change "notime" to "time" in the kotlinc-jvm bash/batch script
86 lines
2.4 KiB
Bash
Executable File
86 lines
2.4 KiB
Bash
Executable File
#!/bin/bash --posix
|
|
#
|
|
##############################################################################
|
|
# Copyright 2002-2011, LAMP/EPFL
|
|
# Copyright 2011-2014, JetBrains
|
|
#
|
|
# This is free software; see the distribution for copying conditions.
|
|
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
##############################################################################
|
|
|
|
cygwin=false;
|
|
case "`uname`" in
|
|
CYGWIN*) cygwin=true ;;
|
|
esac
|
|
|
|
# Finding the root folder for this Kotlin distribution
|
|
SOURCE=$0;
|
|
SCRIPT=`basename "$SOURCE"`;
|
|
while [ -h "$SOURCE" ]; do
|
|
SCRIPT=`basename "$SOURCE"`;
|
|
LOOKUP=`ls -ld "$SOURCE"`;
|
|
TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`;
|
|
if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then
|
|
SOURCE=${TARGET:-.};
|
|
else
|
|
SOURCE=`dirname "$SOURCE"`/${TARGET:-.};
|
|
fi;
|
|
done;
|
|
|
|
# see #2092
|
|
KOTLIN_HOME=`dirname "$SOURCE"`
|
|
KOTLIN_HOME=`cd "$KOTLIN_HOME"; pwd -P`
|
|
KOTLIN_HOME=`cd "$KOTLIN_HOME"/..; pwd`
|
|
|
|
# Remove spaces from KOTLIN_HOME on windows
|
|
if $cygwin; then
|
|
KOTLIN_HOME=`cygpath --windows --short-name "$KOTLIN_HOME"`
|
|
fi
|
|
|
|
[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M -noverify"
|
|
|
|
# break out -D and -J options and add them to JAVA_OPTS as well
|
|
# so they reach the underlying JVM in time to do some good. The
|
|
# -D options will be available as system properties.
|
|
declare -a java_args
|
|
declare -a kotlin_args
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
-D*)
|
|
# pass to kotlin as well: otherwise we lose it sometimes when we
|
|
# need it, e.g. communicating with a server compiler.
|
|
java_args=("${java_args[@]}" "$1")
|
|
kotlin_args=("${kotlin_args[@]}" "$1")
|
|
shift
|
|
;;
|
|
-J*)
|
|
# as with -D, pass to kotlin even though it will almost
|
|
# never be used.
|
|
java_args=("${java_args[@]}" "${1:2}")
|
|
kotlin_args=("${kotlin_args[@]}" "$1")
|
|
shift
|
|
;;
|
|
*)
|
|
kotlin_args=("${kotlin_args[@]}" "$1")
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# reset "$@" to the remaining args
|
|
set -- "${kotlin_args[@]}"
|
|
|
|
if [ -z "$JAVACMD" -a -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
|
|
JAVACMD="$JAVA_HOME/bin/java"
|
|
fi
|
|
|
|
CPSELECT="-cp "
|
|
|
|
"${JAVACMD:=java}" \
|
|
$JAVA_OPTS \
|
|
"${java_args[@]}" \
|
|
${CPSELECT}"${KOTLIN_HOME}/lib/kotlin-preloader.jar" \
|
|
org.jetbrains.jet.preloading.Preloader "${KOTLIN_HOME}/lib/kotlin-compiler.jar:${KOTLIN_HOME}/lib/kotlin-runtime.jar" org.jetbrains.jet.cli.jvm.K2JVMCompiler 4096 notime "$@"
|