Files
kotlin-fork/backend.native/konan.properties
T
2017-11-21 12:28:53 +03:00

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