cc631f1f99
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.
703 lines
29 KiB
Properties
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@
|