Files
kotlin-fork/konan/konan.properties
T
Ilya Matveev cc631f1f99 Get rid of konan.home in the compiler
This patch uses a path to a jar containing compiler classes
to determine the distribution path instead of relying on
the konan.home system property. However this property
still may be used to specify the distribution path e.g. when
the distribution isn't fully built and the compiler is
executed from classes located in a build directory.
2020-05-20 19:52:35 +07:00

703 lines
29 KiB
Properties

#
# Copyright 2010-2018 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# TODO: Do we need a $variable substitution mechanism here?
dependenciesUrl = https://download.jetbrains.com/kotlin/native
# In order of preference:
dependencyProfiles = default alt
# Don't check dependencies on a server.
# If true, dependency downloader will throw an exception if a dependency isn't found in $KONAN_DATA_DIR/dependencies
airplaneMode = false
# if true, ignores Xcode version check.
ignoreXcodeVersionCheck = false
minimalXcodeVersion=11.0
downloadingAttempts = 10
downloadingAttemptIntervalMs = 3000
homeDependencyCache = .konan/cache
# Appendix that is used for smaller version of LLVM distributions.
reducedLlvmAppendix = compact
clangDebugFlags = -O0
llvmVersion.linux_x64 = 8.0.0
llvmVersion.mingw_x64 = 8.0.1
# We follow Apple versioning convention here.
llvmVersion.macos_x64 = 8.0.0
# Mac OS X.
llvmHome.macos_x64 = clang-llvm-apple-8.0.0-darwin-macos
targetToolchain.macos_x64 = target-toolchain-xcode_11_4-macos_x64
libffiDir.macos_x64 = libffi-3.2.1-3-darwin-macos
additionalToolsDir.macos_x64 = xcode-addon-xcode_11_4-macos_x64
arch.macos_x64 = x86_64
targetSysRoot.macos_x64 = target-sysroot-xcode_11_4-macos_x64
clangFlags.macos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.macos_x64 = -O1
clangOptFlags.macos_x64 = -O3
clangDebugFlags.macos_x64 = -O0
clangDynamicFlags.macos_x64 =
linkerKonanFlags.macos_x64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 10.15.4
linkerOptimizationFlags.macos_x64 = -dead_strip
linkerNoDebugFlags.macos_x64 = -S
linkerDynamicFlags.macos_x64 = -dylib
osVersionMinFlagLd.macos_x64 = -macosx_version_min
osVersionMinFlagClang.macos_x64 = -mmacosx-version-min
osVersionMin.macos_x64 = 10.11
dependencies.macos_x64 = \
libffi-3.2.1-3-darwin-macos \
lldb-2-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-macos_x64.default = \
remote:internal
target-toolchain-xcode_11_4-macos_x64.default = \
remote:internal
xcode-addon-xcode_11_4-macos_x64.default = \
remote:internal
# Apple's 32-bit iOS.
targetToolchain.macos_x64-ios_arm32 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-ios_arm32 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-ios_arm32.default = \
remote:internal
arch.ios_arm32 = armv7
# Shared with 64-bit version.
targetSysRoot.ios_arm32 = target-sysroot-xcode_11_4-ios_arm64
clangFlags.ios_arm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir
clangNooptFlags.ios_arm32 = -O1
clangOptFlags.ios_arm32 = -O3
clangDebugFlags.ios_arm32 = -O0
clangDynamicFlags.ios_arm32 =
linkerNoDebugFlags.ios_arm32 = -S
linkerDynamicFlags.ios_arm32 = -dylib
linkerKonanFlags.ios_arm32 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 13.4
linkerOptimizationFlags.ios_arm32 = -dead_strip
osVersionMinFlagLd.ios_arm32 = -iphoneos_version_min
osVersionMinFlagClang.ios_arm32 = -miphoneos-version-min
osVersionMin.ios_arm32 = 9.0
# Apple's 64-bit iOS.
targetToolchain.macos_x64-ios_arm64 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-ios_arm64 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-ios_arm64.default = \
remote:internal
arch.ios_arm64 = arm64
targetSysRoot.ios_arm64 = target-sysroot-xcode_11_4-ios_arm64
clangFlags.ios_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.ios_arm64 = -O1
clangOptFlags.ios_arm64 = -O3
# We force LLVM to use SelectionDAG because fast isel may miscompile sign extension.
# Related:
# https://github.com/JetBrains/kotlin-native/issues/3290
clangDebugFlags.ios_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false
clangDynamicFlags.ios_arm64 =
linkerNoDebugFlags.ios_arm64 = -S
linkerDynamicFlags.ios_arm64 = -dylib
linkerKonanFlags.ios_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 13.4
linkerOptimizationFlags.ios_arm64 = -dead_strip
osVersionMinFlagLd.ios_arm64 = -iphoneos_version_min
osVersionMinFlagClang.ios_arm64 = -miphoneos-version-min
osVersionMin.ios_arm64 = 9.0
# Apple's iOS simulator.
targetToolchain.macos_x64-ios_x64 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-ios_x64 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-ios_x64.default = \
remote:internal
arch.ios_x64 = x86_64
targetSysRoot.ios_x64 = target-sysroot-xcode_11_4-ios_x64
clangFlags.ios_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.ios_x64 = -O1
clangOptFlags.ios_x64 = -O3
clangDebugFlags.ios_x64 = -O0
clangDynamicFlags.ios_x64 =
linkerKonanFlags.ios_x64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 13.4
linkerOptimizationFlags.ios_x64 = -dead_strip
linkerNoDebugFlags.ios_x64 = -S
linkerDynamicFlags.ios_x64 = -dylib
osVersionMinFlagLd.ios_x64 = -ios_simulator_version_min
osVersionMinFlagClang.ios_x64 = -mios-simulator-version-min
osVersionMin.ios_x64 = 9.0
# Apple's tvOS simulator.
targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-tvos_x64 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-tvos_x64.default = \
remote:internal
arch.tvos_x64 = x86_64
targetSysRoot.tvos_x64 = target-sysroot-xcode_11_4-tvos_x64
clangFlags.tvos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.tvos_x64 = -O1
clangOptFlags.tvos_x64 = -O3
clangDebugFlags.tvos_x64 = -O0
clangDynamicFlags.tvos_x64 =
linkerKonanFlags.tvos_x64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 13.4
linkerOptimizationFlags.tvos_x64 = -dead_strip
linkerNoDebugFlags.tvos_x64 = -S
linkerDynamicFlags.tvos_x64 = -dylib
osVersionMinFlagLd.tvos_x64 = -tvos_simulator_version_min
osVersionMinFlagClang.tvos_x64 = -mtvos-simulator-version-min
osVersionMin.tvos_x64 = 9.0
# Apple's 64-bit tvOS.
targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-tvos_arm64 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-tvos_arm64.default = \
remote:internal
arch.tvos_arm64 = arm64
targetSysRoot.tvos_arm64 = target-sysroot-xcode_11_4-tvos_arm64
clangFlags.tvos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.tvos_arm64 = -O1
clangOptFlags.tvos_arm64 = -O3
clangDebugFlags.tvos_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false
clangDynamicFlags.tvos_arm64 =
linkerNoDebugFlags.tvos_arm64 = -S
linkerDynamicFlags.tvos_arm64 = -dylib
linkerKonanFlags.tvos_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 13.4
linkerOptimizationFlags.tvos_arm64 = -dead_strip
osVersionMinFlagLd.tvos_arm64 = -tvos_version_min
osVersionMinFlagClang.tvos_arm64 = -mtvos-version-min
osVersionMin.tvos_arm64 = 9.0
# watchOS armv7k
targetToolchain.macos_x64-watchos_arm32 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-watchos_arm32 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-watchos_arm32.default = \
remote:internal
arch.watchos_arm32 = armv7k
targetSysRoot.watchos_arm32 = target-sysroot-xcode_11_4-watchos_arm32
clangFlags.watchos_arm32 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.watchos_arm32 = -O1
clangOptFlags.watchos_arm32 = -O3
clangDebugFlags.watchos_arm32 = -O0
clangDynamicFlags.watchos_arm32 =
linkerKonanFlags.watchos_arm32 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 6.2
linkerOptimizationFlags.watchos_arm32 = -dead_strip
linkerNoDebugFlags.watchos_arm32 = -S
linkerDynamicFlags.watchos_arm32 = -dylib
osVersionMinFlagLd.watchos_arm32 = -watchos_version_min
osVersionMinFlagClang.watchos_arm32 = -mwatchos-version-min
osVersionMin.watchos_arm32 = 5.0
# watchOS arm64_32
targetToolchain.macos_x64-watchos_arm64 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-watchos_arm64 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-watchos_arm64.default = \
remote:internal
arch.watchos_arm64 = arm64_32
targetSysRoot.watchos_arm64 = target-sysroot-xcode_11_4-watchos_arm32
clangFlags.watchos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir -mllvm -aarch64-watch-bitcode-compatibility \
-mllvm -arm-bitcode-compatibility -mllvm -fast-isel=false -mllvm -global-isel=false
clangNooptFlags.watchos_arm64 = -O1
clangOptFlags.watchos_arm64 = -O3
clangDebugFlags.watchos_arm64 = -O0
clangDynamicFlags.watchos_arm64 =
linkerKonanFlags.watchos_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 6.2
linkerOptimizationFlags.watchos_arm64 = -dead_strip
linkerNoDebugFlags.watchos_arm64 = -S
linkerDynamicFlags.watchos_arm64 = -dylib
osVersionMinFlagLd.watchos_arm64 = -watchos_version_min
osVersionMinFlagClang.watchos_arm64 = -mwatchos-version-min
osVersionMin.watchos_arm64 = 5.0
# Apple's watchOS i386 simulator.
targetToolchain.macos_x64-watchos_x86 = target-toolchain-xcode_11_4-macos_x64
dependencies.macos_x64-watchos_x86 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos
target-sysroot-xcode_11_4-watchos_x86.default = \
remote:internal
arch.watchos_x86 = i386
targetSysRoot.watchos_x86 = target-sysroot-xcode_11_4-watchos_x86
# -target-cpu pentium4 makes sure that cogenerator knows which CPU flavour to emit code for.
# Can be seen on optimized build and FP tests, where value is passed on stack
# by Kotlin and taken from SSE registers by C code.
# TODO: once this information is available in function attributes, we can remove this flag.
clangFlags.watchos_x86 = -cc1 -emit-obj -disable-llvm-passes -x ir -target-cpu pentium4
clangNooptFlags.watchos_x86 = -O1
clangOptFlags.watchos_x86 = -O3
clangDebugFlags.watchos_x86 = -O0
clangDynamicFlags.watchos_x86 =
linkerKonanFlags.watchos_x86 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 6.2
linkerOptimizationFlags.watchos_x86 = -dead_strip
linkerNoDebugFlags.watchos_x86 = -S
linkerDynamicFlags.watchos_x86 = -dylib
osVersionMinFlagLd.watchos_x86 = -watchos_simulator_version_min
osVersionMinFlagClang.watchos_x86 = -mwatchos-simulator-version-min
osVersionMin.watchos_x86 = 5.0
# Linux x86-64.
llvmHome.linux_x64 = clang-llvm-8.0.0-linux-x86-64
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
gccToolchain.linux_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.linux_x64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
dependencies.linux_x64 = \
clang-llvm-8.0.0-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
libffi-3.2.1-2-linux-x86-64 \
lldb-2-linux
gccToolchain.mingw_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.mingw_x64-linux_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
dependencies.mingw_x64-linux_x64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
target-gcc-toolchain-3-linux-x86-64
gccToolchain.macos_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.macos_x64-linux_x64 = clang-llvm-apple-8.0.0-darwin-macos
dependencies.macos_x64-linux_x64 = \
clang-llvm-apple-8.0.0-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64
quadruple.linux_x64 = x86_64-unknown-linux-gnu
targetSysRoot.linux_x64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu/sysroot
# targetSysroot-relative.
libGcc.linux_x64 = ../../lib/gcc/x86_64-unknown-linux-gnu/4.8.5
clangFlags.linux_x64 = -cc1 -target-cpu x86-64 -emit-obj -disable-llvm-optzns -x ir
clangNooptFlags.linux_x64 = -O1
clangOptFlags.linux_x64 = -O3 -ffunction-sections
clangDebugFlags.linux_x64 = -O0
clangDynamicFlags.linux_x64 = -mrelocation-model pic
linkerKonanFlags.linux_x64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
linkerOptimizationFlags.linux_x64 = --gc-sections
linkerNoDebugFlags.linux_x64 = -S
linkerDynamicFlags.linux_x64 = -shared
dynamicLinker.linux_x64 = /lib64/ld-linux-x86-64.so.2
# targetSysRoot relative
abiSpecificLibraries.linux_x64 = ../lib64 lib64 usr/lib64
# Raspberry Pi
targetToolchain.linux_x64-linux_arm32_hfp = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
targetToolchain.mingw_x64-linux_arm32_hfp = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
targetToolchain.macos_x64-linux_arm32_hfp = clang-llvm-apple-8.0.0-darwin-macos
dependencies.linux_x64-linux_arm32_hfp = \
clang-llvm-8.0.0-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-2-raspberrypi \
libffi-3.2.1-2-linux-x86-64
dependencies.mingw_x64-linux_arm32_hfp = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-2-raspberrypi
dependencies.macos_x64-linux_arm32_hfp = \
clang-llvm-apple-8.0.0-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-2-raspberrypi
quadruple.linux_arm32_hfp = armv6-unknown-linux-gnueabihf
linkerNoDebugFlags.linux_arm32_hfp = -S
linkerDynamicFlags.linux_arm32_hfp = -shared
linkerOptimizationFlags.linux_arm32_hfp = --gc-sections
targetSysRoot.linux_arm32_hfp = target-sysroot-2-raspberrypi
# We could reuse host toolchain here.
linkerKonanFlags.linux_arm32_hfp = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
# targetSysroot-relative.
libGcc.linux_arm32_hfp = lib/gcc/arm-linux-gnueabihf/4.8.3
clangFlags.linux_arm32_hfp = -cc1 -target-cpu arm1136jf-s -mfloat-abi hard -emit-obj -disable-llvm-optzns -x ir
clangNooptFlags.linux_arm32_hfp = -O1
clangOptFlags.linux_arm32_hfp = -O3 -ffunction-sections
clangDebugFlags.linux_arm32_hfp = -O0
clangDynamicFlags.linux_arm32_hfp = -mrelocation-model pic
dynamicLinker.linux_arm32_hfp = /lib/ld-linux-armhf.so.3
# targetSysRoot relative
abiSpecificLibraries.linux_arm32_hfp = \
../lib/arm-linux-gnueabihf \
lib/arm-linux-gnueabihf \
usr/lib/arm-linux-gnueabihf
# Linux arm64
targetToolchain.linux_x64-linux_arm64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
targetToolchain.mingw_x64-linux_arm64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
targetToolchain.macos_x64-linux_arm64 = clang-llvm-apple-8.0.0-darwin-macos
dependencies.linux_x64-linux_arm64 = \
clang-llvm-8.0.0-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-linux-glibc-arm64 \
libffi-3.2.1-2-linux-x86-64
dependencies.mingw_x64-linux_arm64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-linux-glibc-arm64
dependencies.macos_x64-linux_arm64 = \
clang-llvm-apple-8.0.0-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-linux-glibc-arm64
quadruple.linux_arm64 = aarch64-unknown-linux-gnu
linkerNoDebugFlags.linux_arm64 = -S
linkerDynamicFlags.linux_arm64 = -shared
linkerOptimizationFlags.linux_arm64 = --gc-sections
# From https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/.
targetSysRoot.linux_arm64 = target-sysroot-1-linux-glibc-arm64
# We could reuse host toolchain here.
linkerKonanFlags.linux_arm64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
# targetSysroot-relative.
libGcc.linux_arm64 = usr/lib
clangFlags.linux_arm64 = -cc1 -target-cpu cortex-a57 -emit-obj -disable-llvm-optzns -x ir
clangNooptFlags.linux_arm64 = -O1
clangOptFlags.linux_arm64 = -O3 -ffunction-sections
clangDebugFlags.linux_arm64 = -O0
clangDynamicFlags.linux_arm64 = -mrelocation-model pic
dynamicLinker.linux_arm64 = /lib/ld-linux-aarch64.so.1
# targetSysRoot relative
abiSpecificLibraries.linux_arm64 = \
lib \
usr/lib
# MIPS
targetToolchain.linux_x64-linux_mips32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
dependencies.linux_x64-linux_mips32 = \
clang-llvm-8.0.0-linux-x86-64 \
target-gcc-toolchain-2-linux-mips \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-2-mips \
libffi-3.2.1-2-linux-x86-64
quadruple.linux_mips32 = mips-unknown-linux-gnu
linkerOptimizationFlags.linux_mips32 = --gc-sections
linkerDynamicFlags.linux_mips32 = -shared
targetSysRoot.linux_mips32 = target-sysroot-2-mips
# We could reuse host toolchain here.
linkerKonanFlags.linux_mips32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle -z notext
# targetSysroot-relative.
libGcc.linux_mips32 = lib/gcc/mips-unknown-linux-gnu/4.9.4
clangFlags.linux_mips32 = -cc1 -emit-obj -disable-llvm-optzns -x ir -target-cpu mips32r2
clangNooptFlags.linux_mips32 = -O1
clangOptFlags.linux_mips32 = -O3 -ffunction-sections
clangDebugFlags.linux_mips32 = -O0
clangDynamicFlags.linux_mips32 = -mrelocation-model pic
dynamicLinker.linux_mips32 = /lib/ld.so.1
# targetSysRoot relative
abiSpecificLibraries.linux_mips32 =
# MIPSel
targetToolchain.linux_x64-linux_mipsel32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
dependencies.linux_x64-linux_mipsel32 = \
clang-llvm-8.0.0-linux-x86-64 \
target-gcc-toolchain-2-linux-mips \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-2-mipsel \
libffi-3.2.1-2-linux-x86-64
quadruple.linux_mipsel32 = mipsel-unknown-linux-gnu
linkerOptimizationFlags.linux_mipsel32 = --gc-sections
linkerDynamicFlags.linux_mipsel32 = -shared
targetSysRoot.linux_mipsel32 = target-sysroot-2-mipsel
# We could reuse host toolchain here.
linkerKonanFlags.linux_mipsel32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle -z notext
# targetSysroot-relative.
libGcc.linux_mipsel32 = lib/gcc/mipsel-unknown-linux-gnu/4.9.4
clangFlags.linux_mipsel32 = -cc1 -emit-obj -disable-llvm-optzns -x ir -target-cpu mips32r2
clangNooptFlags.linux_mipsel32 = -O1
clangOptFlags.linux_mipsel32 = -O3 -ffunction-sections
clangDebugFlags.linux_mipsel32 = -O0
clangDynamicFlags.linux_mipsel32 = -mrelocation-model pic
dynamicLinker.linux_mipsel32 = /lib/ld.so.1
# targetSysRoot relative
abiSpecificLibraries.linux_mipsel32 =
# Android ARM32, based on NDK for android-21.
targetToolchain.macos_x64-android_arm32 = target-toolchain-2-osx-android_ndk
dependencies.macos_x64-android_arm32 = \
clang-llvm-apple-8.0.0-darwin-macos \
target-sysroot-1-android_ndk \
target-toolchain-2-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_arm32 = target-toolchain-2-linux-android_ndk
dependencies.linux_x64-android_arm32 = \
clang-llvm-8.0.0-linux-x86-64 \
target-sysroot-1-android_ndk \
target-toolchain-2-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_arm32 = target-toolchain-2-windows-android_ndk
dependencies.mingw_x64-android_arm32 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
target-sysroot-1-android_ndk \
target-toolchain-2-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_arm32 = arm-linux-androideabi
clangFlags.android_arm32 = -cc1 -target-cpu arm7tdmi -emit-obj -disable-llvm-optzns -x ir -femulated-tls -mrelocation-model pic
clangOptFlags.android_arm32 = -O3 -ffunction-sections
linkerNoDebugFlags.android_arm32 = -Wl,-S
clangNooptFlags.android_arm32 = -O1
targetSysRoot.android_arm32 = target-sysroot-1-android_ndk
linkerKonanFlags.android_arm32 = -lm -lc++_static -lc++abi -landroid -llog -latomic
# Android ARM64, based on NDK.
targetToolchain.macos_x64-android_arm64 = target-toolchain-2-osx-android_ndk
dependencies.macos_x64-android_arm64 = \
clang-llvm-apple-8.0.0-darwin-macos \
target-sysroot-1-android_ndk \
target-toolchain-2-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_arm64 = target-toolchain-2-linux-android_ndk
dependencies.linux_x64-android_arm64 = \
clang-llvm-8.0.0-linux-x86-64 \
target-sysroot-1-android_ndk \
target-toolchain-2-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_arm64 = target-toolchain-2-windows-android_ndk
dependencies.mingw_x64-android_arm64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
target-sysroot-1-android_ndk \
target-toolchain-2-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_arm64 = aarch64-linux-android
clangFlags.android_arm64 = -cc1 -target-cpu cortex-a57 -emit-obj -disable-llvm-passes -x ir -femulated-tls -mrelocation-model pic
clangOptFlags.android_arm64 = -O3 -ffunction-sections
clangNooptFlags.android_arm64 = -O1
targetSysRoot.android_arm64 = target-sysroot-1-android_ndk
linkerKonanFlags.android_arm64 = -lm -lc++_static -lc++abi -landroid -llog -latomic
linkerNoDebugFlags.android_arm64 = -Wl,-S
# Android X86, based on NDK.
targetToolchain.macos_x64-android_x86 = target-toolchain-2-osx-android_ndk
dependencies.macos_x64-android_x86 = \
clang-llvm-apple-8.0.0-darwin-macos \
target-sysroot-1-android_ndk \
target-toolchain-2-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_x86 = target-toolchain-2-linux-android_ndk
dependencies.linux_x64-android_x86 = \
clang-llvm-8.0.0-linux-x86-64 \
target-sysroot-1-android_ndk \
target-toolchain-2-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_x86 = target-toolchain-2-windows-android_ndk
dependencies.mingw_x64-android_x86 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
target-sysroot-1-android_ndk \
target-toolchain-2-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_x86 = i686-linux-android
# -target-cpu pentium4 makes sure that cogenerator knows which CPU flavour to emit code for.
# Can be seen on optimized build and FP tests, where value is passed on stack
# by Kotlin and taken from SSE registers by C code.
# TODO: once this information is available in function attributes, we can set target CPU to i686.
clangFlags.android_x86 = -cc1 -target-cpu pentium4 -emit-obj -disable-llvm-passes -x ir -femulated-tls -mrelocation-model pic
clangOptFlags.android_x86 = -O3 -ffunction-sections
clangNooptFlags.android_x86 = -O1
targetSysRoot.android_x86 = target-sysroot-1-android_ndk
linkerKonanFlags.android_x86 = -lm -lc++_static -lc++abi -landroid -llog -latomic
linkerNoDebugFlags.android_x86 = -Wl,-S
# Android X64, based on NDK.
targetToolchain.macos_x64-android_x64 = target-toolchain-2-osx-android_ndk
dependencies.macos_x64-android_x64 = \
clang-llvm-apple-8.0.0-darwin-macos \
target-sysroot-1-android_ndk \
target-toolchain-2-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_x64 = target-toolchain-2-linux-android_ndk
dependencies.linux_x64-android_x64 = \
clang-llvm-8.0.0-linux-x86-64 \
target-sysroot-1-android_ndk \
target-toolchain-2-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_x64 = target-toolchain-2-windows-android_ndk
dependencies.mingw_x64-android_x64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
target-sysroot-1-android_ndk \
target-toolchain-2-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_x64 = x86_64-linux-android
clangFlags.android_x64 = -cc1 -target-cpu x86-64 -emit-obj -disable-llvm-passes -x ir -femulated-tls -mrelocation-model pic
clangOptFlags.android_x64 = -O3 -ffunction-sections
clangNooptFlags.android_x64 = -O1
targetSysRoot.android_x64 = target-sysroot-1-android_ndk
linkerKonanFlags.android_x64 = -lm -lc++_static -lc++abi -landroid -llog -latomic
linkerNoDebugFlags.android_x64 = -Wl,-S
# Windows x86-64, based on mingw-w64.
llvmHome.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
targetToolchain.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
libffiDir.mingw_x64 = libffi-3.2.1-mingw-w64-x86-64
targetToolchain.linux_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
targetToolchain.macos_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
dependencies.mingw_x64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
lldb-2-windows
dependencies.linux_x64-mingw_x64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
clang-llvm-8.0.0-linux-x86-64 \
libffi-3.2.1-2-linux-x86-64
dependencies.macos_x64-mingw_x64 = \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
clang-llvm-apple-8.0.0-darwin-macos \
libffi-3.2.1-3-darwin-macos
quadruple.mingw_x64 = x86_64-w64-mingw32
targetSysRoot.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
# For using with Universal Windows Platform (UWP) we need to use this slower option.
# See https://youtrack.jetbrains.com/issue/KT-27654.
# TODO: remove, once fixed in mingw, check with the bug testcase.
clangFlags.mingw_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir -femulated-tls -target-cpu x86-64
clangOptFlags.mingw_x64 = -O3 -ffunction-sections
clangNooptFlags.mingw_x64 = -O1
linkerNoDebugFlags.mingw_x64 = -Wl,-S
linkerDynamicFlags.mingw_x64 = -shared
linkerKonanFlags.mingw_x64 =-static-libgcc -static-libstdc++ \
-Xclang -flto-visibility-public-std -Wl,--dynamicbase \
-Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic \
-Wl,--defsym,__cxa_demangle=Konan_cxa_demangle
linkerOptimizationFlags.mingw_x64 = -Wl,--gc-sections
# Windows i686, based on mingw-w64.
targetToolchain.mingw_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
dependencies.mingw_x64-mingw_x86 = \
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
libffi-3.2.1-mingw-w64-x86-64
targetToolchain.linux_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
targetToolchain.macos_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
dependencies.linux_x64-mingw_x86 = \
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
clang-llvm-8.0.0-linux-x86-64 \
libffi-3.2.1-2-linux-x86-64
dependencies.macos_x64-mingw_x86 = \
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
clang-llvm-apple-8.0.0-darwin-macos \
libffi-3.2.1-3-darwin-macos
quadruple.mingw_x86 = i686-w64-mingw32
targetSysRoot.mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
# For using with Universal Windows Platform (UWP) we need to use slower -emulated-tls option.
# See https://youtrack.jetbrains.com/issue/KT-27654.
# TODO: remove, once fixed in mingw, check with the bug testcase.
# -target-cpu pentium4 makes sure that cogenerator knows which CPU flavour to emit code for.
# Can be seen on optimized build and FP tests, where value is passed in coprocessor registers
# by Kotlin and taken from SSE registers by C code.
# TODO: once this information is available in function attributes, we can remove this flag.
clangFlags.mingw_x86 = -cc1 -emit-obj -disable-llvm-passes -x ir -femulated-tls -target-cpu pentium4
clangOptFlags.mingw_x86 = -O3 -ffunction-sections
clangNooptFlags.mingw_x86 = -O1
linkerNoDebugFlags.mingw_x86 = -Wl,-S
linkerDynamicFlags.mingw_x86 = -shared
linkerKonanFlags.mingw_x86 = -static-libgcc -static-libstdc++ \
-Xclang -flto-visibility-public-std -Wl,--dynamicbase \
-Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic \
-Wl,--defsym,___cxa_demangle=_Konan_cxa_demangle
linkerOptimizationFlags.mingw_x86 = -Wl,--gc-sections
# WebAssembly 32-bit.
targetToolchain.macos_x64-wasm32 = target-toolchain-3-macos-wasm
dependencies.macos_x64-wasm32 = \
libffi-3.2.1-3-darwin-macos \
clang-llvm-apple-8.0.0-darwin-macos \
target-sysroot-4-embedded \
target-toolchain-3-macos-wasm
targetToolchain.linux_x64-wasm32 = target-toolchain-2-linux-wasm
dependencies.linux_x64-wasm32 = \
libffi-3.2.1-2-linux-x86-64 \
clang-llvm-8.0.0-linux-x86-64 \
target-sysroot-4-embedded \
target-toolchain-2-linux-wasm
targetToolchain.mingw_x64-wasm32 = target-toolchain-2-mingw-wasm
dependencies.mingw_x64-wasm32 = \
libffi-3.2.1-mingw-w64-x86-64 \
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
target-sysroot-4-embedded \
target-toolchain-2-mingw-wasm
quadruple.wasm32 = wasm32-unknown-unknown
targetSysRoot.wasm32 = target-sysroot-4-embedded
clangFlags.wasm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir
clangNooptFlags.wasm32 = -O1
clangOptFlags.wasm32 = -O3
clangDebugFlags.wasm32 = -O0
# TODO: make explicit list of external symbols
lld.wasm32 = --allow-undefined --no-entry --global-base=0 --no-threads --export-dynamic
# The version of Kotlin/Native compiler
compilerVersion=@compilerVersion@