283 lines
11 KiB
Properties
283 lines
11 KiB
Properties
#
|
|
# Copyright 2010-2017 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
|
|
|
|
# Don't check dependencies on a server.
|
|
# If true, dependency downloader will throw an exception if a dependency isn't found in konan.home.
|
|
airplaneMode = false
|
|
|
|
downloadingAttempts = 10
|
|
downloadingAttemptIntervalMs = 3000
|
|
homeDependencyCache = .konan/cache
|
|
|
|
llvmDebugOptFlags = -O0
|
|
|
|
# Mac OS X.
|
|
llvmVersion.osx = 3.9.0
|
|
llvmHome.osx = clang-llvm-3.9.0-darwin-macos
|
|
targetToolchain.osx = clang-llvm-3.9.0-darwin-macos
|
|
|
|
arch.osx = x86_64
|
|
targetSysRoot.osx = target-sysroot-1-darwin-macos
|
|
libffiDir.osx = libffi-3.2.1-2-darwin-macos
|
|
llvmLtoFlags.osx =
|
|
llvmLtoOptFlags.osx = -O3 -function-sections
|
|
llvmLtoNooptFlags.osx = -O1
|
|
llvmLtoDynamicFlags.osx = -relocation-model=pic
|
|
linkerKonanFlags.osx = -lc++ -lobjc
|
|
linkerOptimizationFlags.osx = -dead_strip
|
|
linkerDebugFlags.osx = -S
|
|
linkerDynamicFlags.osx = -S -dylib
|
|
osVersionMinFlagLd.osx = -macosx_version_min
|
|
osVersionMinFlagClang.osx = -mmacosx-version-min
|
|
osVersionMin.osx = 10.11
|
|
entrySelector.osx = -alias _Konan_main _main
|
|
dependencies.osx = target-sysroot-1-darwin-macos \
|
|
libffi-3.2.1-2-darwin-macos \
|
|
clang-llvm-3.9.0-darwin-macos
|
|
|
|
# Apple iOS.
|
|
targetToolchain.osx-ios = clang-llvm-3.9.0-darwin-macos
|
|
dependencies.osx-ios = target-sysroot-1-darwin-macos \
|
|
libffi-3.2.1-2-darwin-ios \
|
|
clang-llvm-3.9.0-darwin-macos \
|
|
target-sysroot-2-darwin-ios
|
|
|
|
arch.ios = arm64
|
|
entrySelector.ios = -alias _Konan_main _main
|
|
targetSysRoot.ios = target-sysroot-2-darwin-ios
|
|
libffiDir.ios = libffi-3.2.1-2-darwin-ios
|
|
llvmLtoFlags.ios =
|
|
llvmLtoOptFlags.ios = -O3 -function-sections
|
|
linkerDebugFlags.ios = -S
|
|
llvmLtoNooptFlags.ios = -O1
|
|
linkerKonanFlags.ios = -lc++ -lobjc -sdk_version 10.2
|
|
linkerOptimizationFlags.ios = -dead_strip
|
|
osVersionMinFlagLd.ios = -iphoneos_version_min
|
|
osVersionMinFlagClang.ios = -miphoneos-version-min
|
|
osVersionMin.ios = 8.0
|
|
|
|
# Apple iOS simulator.
|
|
targetToolchain.osx-ios_sim = clang-llvm-3.9.0-darwin-macos
|
|
dependencies.osx-ios_sim = target-sysroot-1-darwin-macos \
|
|
libffi-3.2.1-2-darwin-ios_sim \
|
|
clang-llvm-3.9.0-darwin-macos \
|
|
target-sysroot-1-darwin-ios_sim
|
|
|
|
arch.ios_sim = x86_64
|
|
entrySelector.ios_sim = -alias _Konan_main _main
|
|
targetSysRoot.ios_sim = target-sysroot-1-darwin-ios-sim
|
|
libffiDir.ios_sim = libffi-3.2.1-2-darwin-ios-sim
|
|
llvmLtoFlags.ios_sim =
|
|
llvmLtoOptFlags.ios_sim = -O3 -function-sections
|
|
llvmLtoNooptFlags.ios_sim = -O1
|
|
linkerKonanFlags.ios_sim = -lc++ -lobjc -sdk_version 10.2
|
|
linkerOptimizationFlags.ios_sim = -dead_strip
|
|
linkerDebugFlags.ios_sim = -S
|
|
osVersionMinFlagLd.ios_sim = -ios_simulator_version_min
|
|
osVersionMinFlagClang.ios_sim = -mios-simulator-version-min
|
|
osVersionMin.ios_sim = 8.0
|
|
|
|
# Linux x86-64.
|
|
llvmVersion.linux = 3.9.0
|
|
llvmHome.linux = clang-llvm-3.9.0-linux-x86-64
|
|
gccToolchain.linux = target-gcc-toolchain-3-linux-x86-64
|
|
targetToolchain.linux = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
|
|
|
quadruple.linux = x86_64-unknown-linux-gnu
|
|
targetSysRoot.linux = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu/sysroot
|
|
libffiDir.linux = libffi-3.2.1-2-linux-x86-64
|
|
# targetSysroot-relative.
|
|
libGcc.linux = ../../lib/gcc/x86_64-unknown-linux-gnu/4.8.5
|
|
llvmLtoFlags.linux =
|
|
llvmLtoOptFlags.linux = -O3 -function-sections
|
|
llvmLtoNooptFlags.linux = -O1
|
|
llvmLtoDynamicFlags.linux = -relocation-model=pic
|
|
llvmLlcFlags.linux = -march=x86-64
|
|
linkerKonanFlags.linux = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread
|
|
linkerOptimizationFlags.linux = --gc-sections
|
|
linkerDebugFlags.linux = -S
|
|
linkerDynamicFlags.linux = -shared
|
|
pluginOptimizationFlags.linux = -plugin-opt=mcpu=x86-64 -plugin-opt=O3
|
|
dynamicLinker.linux = /lib64/ld-linux-x86-64.so.2
|
|
entrySelector.linux = --defsym main=Konan_main
|
|
# targetSysRoot relative
|
|
abiSpecificLibraries.linux = ../lib64 lib64 usr/lib64
|
|
dependencies.linux = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-gcc-toolchain-3-linux-x86-64 \
|
|
libffi-3.2.1-2-linux-x86-64
|
|
|
|
# Raspberry Pi
|
|
targetToolchain.linux-raspberrypi = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
|
dependencies.linux-raspberrypi = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-gcc-toolchain-3-linux-x86-64 \
|
|
target-sysroot-1-raspberrypi \
|
|
libffi-3.2.1-2-linux-x86-64 \
|
|
libffi-3.2.1-2-raspberrypi
|
|
|
|
quadruple.raspberrypi = armv6-unknown-linux-gnueabihf
|
|
entrySelector.raspberrypi = --defsym main=Konan_main
|
|
linkerDebugFlags.raspberrypi = -S
|
|
linkerOptimizationFlags.raspberrypi = --gc-sections
|
|
targetSysRoot.raspberrypi = target-sysroot-1-raspberrypi
|
|
# We could reuse host toolchain here.
|
|
libffiDir.raspberrypi = libffi-3.2.1-2-raspberrypi
|
|
linkerKonanFlags.raspberrypi = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread
|
|
# targetSysroot-relative.
|
|
libGcc.raspberrypi = lib/gcc/arm-linux-gnueabihf/4.8.3
|
|
llvmLtoFlags.raspberrypi = -float-abi=hard -mcpu=arm1136jf-s
|
|
llvmLtoOptFlags.raspberrypi = -O3 -function-sections
|
|
llvmLtoNooptFlags.raspberrypi = -O1
|
|
dynamicLinker.raspberrypi = /lib/ld-linux-armhf.so.3
|
|
# targetSysRoot relative
|
|
abiSpecificLibraries.raspberrypi = \
|
|
../lib/arm-linux-gnueabihf \
|
|
lib/arm-linux-gnueabihf \
|
|
usr/lib/arm-linux-gnueabihf
|
|
|
|
# MIPS
|
|
targetToolchain.linux-linux_mips32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
|
dependencies.linux-linux_mips32 = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-gcc-toolchain-2-linux-mips \
|
|
target-sysroot-2-mips \
|
|
libffi-3.2.1-2-linux-x86-64 \
|
|
libffi-3.2.1-2-linux-mips
|
|
quadruple.linux_mips32 = mips-unknown-linux-gnu
|
|
entrySelector.linux_mips32 = --defsym main=Konan_main
|
|
linkerOptimizationFlags.linux_mips32 = --gc-sections
|
|
targetSysRoot.linux_mips32 = target-sysroot-2-mips
|
|
# We could reuse host toolchain here.
|
|
libffiDir.linux_mips32 = libffi-3.2.1-2-linux-mips
|
|
linkerKonanFlags.linux_mips32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread
|
|
# targetSysroot-relative.
|
|
libGcc.linux_mips32 = lib/gcc/mips-unknown-linux-gnu/4.9.4
|
|
llvmLtoFlags.linux_mips32 =
|
|
llvmLtoOptFlags.linux_mips32 = -O3 -function-sections
|
|
llvmLtoNooptFlags.linux_mips32 = -O1
|
|
dynamicLinker.linux_mips32 = /lib/ld.so.1
|
|
# targetSysRoot relative
|
|
abiSpecificLibraries.linux_mips32 =
|
|
|
|
# MIPSel
|
|
targetToolchain.linux-linux_mipsel32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
|
dependencies.linux-linux_mipsel32 = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-gcc-toolchain-2-linux-mips \
|
|
target-sysroot-2-mipsel \
|
|
libffi-3.2.1-2-linux-x86-64 \
|
|
libffi-3.2.1-2-linux-mipsel
|
|
quadruple.linux_mipsel32 = mipsel-unknown-linux-gnu
|
|
entrySelector.linux_mipsel32 = --defsym main=Konan_main
|
|
linkerOptimizationFlags.linux_mipsel32 = --gc-sections
|
|
targetSysRoot.linux_mipsel32 = target-sysroot-2-mipsel
|
|
# We could reuse host toolchain here.
|
|
libffiDir.linux_mipsel32 = libffi-3.2.1-2-linux-mipsel
|
|
linkerKonanFlags.linux_mipsel32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread
|
|
# targetSysroot-relative.
|
|
libGcc.linux_mipsel32 = lib/gcc/mipsel-unknown-linux-gnu/4.9.4
|
|
llvmLtoFlags.linux_mipsel32 =
|
|
llvmLtoOptFlags.linux_mipsel32 = -O3 -function-sections
|
|
llvmLtoNooptFlags.linux_mipsel32 = -O1
|
|
dynamicLinker.linux_mipsel32 = /lib/ld.so.1
|
|
# targetSysRoot relative
|
|
abiSpecificLibraries.linux_mipsel32 =
|
|
|
|
# Android ARM32, based on NDK for android-21.
|
|
targetToolchain.osx-android_arm32 = target-toolchain-21-osx-android_arm32
|
|
# TODO: split dependencies to host-dependent and host-independent parts.
|
|
dependencies.osx-android_arm32 = \
|
|
clang-llvm-3.9.0-darwin-macos \
|
|
target-sysroot-21-android_arm32 \
|
|
target-toolchain-21-osx-android_arm32 \
|
|
libffi-3.2.1-2-android_arm32
|
|
targetToolchain.linux-android_arm32 = target-toolchain-21-linux-android_arm32
|
|
dependencies.linux-android_arm32 = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-sysroot-21-android_arm32 \
|
|
target-toolchain-21-linux-android_arm32 \
|
|
libffi-3.2.1-2-android_arm32
|
|
|
|
quadruple.android_arm32 = arm-linux-androideabi
|
|
entrySelector.android_arm32 = -Wl,--defsym -Wl,main=Konan_main
|
|
llvmLtoFlags.android_arm32 = -emulated-tls -relocation-model=pic
|
|
llvmLtoOptFlags.android_arm32 = -O3 -function-sections
|
|
linkerDebugFlags.android_arm32 = -Wl,-S
|
|
llvmLtoNooptFlags.android_arm32 = -O1
|
|
targetSysRoot.android_arm32 = target-sysroot-21-android_arm32
|
|
libffiDir.android_arm32 = libffi-3.2.1-2-android_arm32
|
|
linkerKonanFlags.android_arm32 = -lm -latomic -lstdc++ -landroid
|
|
|
|
# Android ARM64, based on NDK for android-21.
|
|
targetToolchain.osx-android_arm64 = target-toolchain-21-osx-android_arm64
|
|
# TODO: split dependencies to host-dependent and host-independent parts.
|
|
dependencies.osx-android_arm64 = \
|
|
clang-llvm-3.9.0-darwin-macos \
|
|
target-sysroot-21-android_arm64 \
|
|
target-toolchain-21-osx-android_arm64 \
|
|
libffi-3.2.1-2-android_arm64
|
|
targetToolchain.linux-android_arm64 = target-toolchain-21-linux-android_arm64
|
|
dependencies.linux-android_arm64 = \
|
|
clang-llvm-3.9.0-linux-x86-64 \
|
|
target-sysroot-21-android_arm64 \
|
|
target-toolchain-21-linux-android_arm64 \
|
|
libffi-3.2.1-2-android_arm64
|
|
|
|
quadruple.android_arm64 = aarch64-linux-android
|
|
entrySelector.android_arm64 = -Wl,--defsym -Wl,main=Konan_main
|
|
llvmLtoFlags.android_arm64 = -emulated-tls -relocation-model=pic
|
|
targetSysRoot.android_arm64 = target-sysroot-21-android_arm64
|
|
libffiDir.android_arm64 = libffi-3.2.1-2-android_arm64
|
|
linkerKonanFlags.android_arm64 = -lm -latomic -lstdc++ -landroid
|
|
linkerDebugFlags.android_arm64 = -Wl,-S
|
|
|
|
# Windows x86-64, based on mingw-w64.
|
|
llvmVersion.mingw = 3.9.1
|
|
llvmHome.mingw = msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64
|
|
targetToolchain.mingw = msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64
|
|
|
|
quadruple.mingw = x86_64-w64-mingw32
|
|
targetSysRoot.mingw = msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64
|
|
libffiDir.mingw = libffi-3.2.1-mingw-w64-x86-64
|
|
llvmLtoFlags.mingw =
|
|
llvmLtoOptFlags.mingw = -O3 -function-sections
|
|
llvmLtoNooptFlags.mingw = -O1
|
|
linkerDebugFlags.mingw = -Wl,-S
|
|
linkerKonanFlags.mingw = -static-libgcc -static-libstdc++ \
|
|
-Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic
|
|
linkerOptimizationFlags.mingw = -Wl,--gc-sections
|
|
entrySelector.mingw = -Wl,--defsym,main=Konan_main
|
|
dependencies.mingw = \
|
|
msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64 \
|
|
libffi-3.2.1-mingw-w64-x86-64
|
|
|
|
# WebAssembly 32-bit.
|
|
targetToolchain.osx-wasm32 = target-toolchain-1-osx-wasm
|
|
dependencies.osx-wasm32 = \
|
|
clang-llvm-3.9.0-darwin-macos \
|
|
target-sysroot-1-wasm \
|
|
target-toolchain-1-osx-wasm
|
|
|
|
quadruple.wasm32 = wasm32
|
|
llvmLtoFlags.wasm32 =
|
|
targetSysRoot.wasm32 = target-sysroot-1-wasm
|
|
# The stack size is in bytes.
|
|
s2wasmFlags.wasm32 = --allocate-stack 1048576 --import-memory
|