# # 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 # 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.home. airplaneMode = false downloadingAttempts = 10 downloadingAttemptIntervalMs = 3000 homeDependencyCache = .konan/cache llvmDebugOptFlags = -O0 llvmVersion = 5.0.0 # Mac OS X. llvmHome.osx = clang-llvm-5.0.0-darwin-macos targetToolchain.osx = target-toolchain-1-osx arch.osx = x86_64 targetSysRoot.osx = target-sysroot-2-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 -framework Foundation linkerOptimizationFlags.osx = -dead_strip linkerNoDebugFlags.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-2-darwin-macos \ libffi-3.2.1-2-darwin-macos \ clang-llvm-5.0.0-darwin-macos \ target-toolchain-1-osx target-sysroot-2-darwin-macos.default = \ remote:internal \ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk target-sysroot-2-darwin-macos.alt = \ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk target-toolchain-1-osx.default = \ remote:internal \ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain # Apple iOS. targetToolchain.osx-ios = target-toolchain-1-osx dependencies.osx-ios = target-toolchain-1-osx \ libffi-3.2.1-2-darwin-ios \ clang-llvm-5.0.0-darwin-macos \ target-sysroot-3-darwin-ios target-sysroot-3-darwin-ios.default = \ remote:internal \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk target-sysroot-3-darwin-ios.alt = \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk arch.ios = arm64 entrySelector.ios = -alias _Konan_main _main targetSysRoot.ios = target-sysroot-3-darwin-ios libffiDir.ios = libffi-3.2.1-2-darwin-ios llvmLtoFlags.ios = llvmLtoOptFlags.ios = -O3 -function-sections linkerNoDebugFlags.ios = -S linkerDynamicFlags.ios = -S -dylib llvmLtoNooptFlags.ios = -O1 llvmLtoDynamicFlags.ios = -relocation-model=pic linkerKonanFlags.ios = -lc++ -lobjc -framework Foundation -sdk_version 11.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 = target-toolchain-1-osx dependencies.osx-ios_sim = target-toolchain-1-osx \ libffi-3.2.1-1-darwin-ios_sim \ clang-llvm-5.0.0-darwin-macos \ target-sysroot-2-darwin-ios_sim target-sysroot-2-darwin-ios_sim.default = \ remote:internal \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk target-sysroot-2-darwin-ios_sim.alt = \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk arch.ios_sim = x86_64 entrySelector.ios_sim = -alias _Konan_main _main targetSysRoot.ios_sim = target-sysroot-2-darwin-ios_sim libffiDir.ios_sim = libffi-3.2.1-1-darwin-ios_sim llvmLtoFlags.ios_sim = llvmLtoOptFlags.ios_sim = -O3 -function-sections llvmLtoNooptFlags.ios_sim = -O1 llvmLtoDynamicFlags.ios_sim = -relocation-model=pic linkerKonanFlags.ios_sim = -lc++ -lobjc -framework Foundation -sdk_version 11.2 linkerOptimizationFlags.ios_sim = -dead_strip linkerNoDebugFlags.ios_sim = -S linkerDynamicFlags.ios_sim = -S -dylib osVersionMinFlagLd.ios_sim = -ios_simulator_version_min osVersionMinFlagClang.ios_sim = -mios-simulator-version-min osVersionMin.ios_sim = 8.0 # Linux x86-64. llvmHome.linux = clang-llvm-5.0.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 linkerNoDebugFlags.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-5.0.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-5.0.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 linkerNoDebugFlags.raspberrypi = -S linkerDynamicFlags.raspberrypi = -shared 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 llvmLtoDynamicFlags.raspberrypi = -relocation-model=pic 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-5.0.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 linkerDynamicFlags.linux_mips32 = -shared 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 llvmLtoDynamicFlags.linux_mips32 = -relocation-model=pic 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-5.0.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 linkerDynamicFlags.linux_mipsel32 = -shared 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 llvmLtoDynamicFlags.linux_mipsel32 = -relocation-model=pic 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-5.0.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-5.0.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 linkerNoDebugFlags.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-5.0.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-5.0.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 linkerNoDebugFlags.android_arm64 = -Wl,-S # Windows x86-64, based on mingw-w64. llvmHome.mingw = msys2-mingw-w64-x86_64-gcc-7.2.0-clang-llvm-5.0.0-windows-x86-64 targetToolchain.mingw = msys2-mingw-w64-x86_64-gcc-7.2.0-clang-llvm-5.0.0-windows-x86-64 quadruple.mingw = x86_64-w64-mingw32 targetSysRoot.mingw = msys2-mingw-w64-x86_64-gcc-7.2.0-clang-llvm-5.0.0-windows-x86-64 libffiDir.mingw = libffi-3.2.1-mingw-w64-x86-64 llvmLtoFlags.mingw = llvmLtoOptFlags.mingw = -O3 -function-sections llvmLtoNooptFlags.mingw = -O1 linkerNoDebugFlags.mingw = -Wl,-S linkerDynamicFlags.mingw = -shared linkerKonanFlags.mingw =-static-libgcc -static-libstdc++ -Xclang -flto-visibility-public-std -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-7.2.0-clang-llvm-5.0.0-windows-x86-64 \ libffi-3.2.1-mingw-w64-x86-64 # WebAssembly 32-bit. targetToolchain.osx-wasm32 = target-toolchain-2-osx-wasm dependencies.osx-wasm32 = \ clang-llvm-5.0.0-darwin-macos \ target-sysroot-2-wasm \ target-toolchain-2-osx-wasm targetToolchain.linux-wasm32 = target-toolchain-1-linux-wasm dependencies.linux-wasm32 = \ clang-llvm-5.0.0-linux-x86-64 \ target-sysroot-2-wasm \ target-toolchain-1-linux-wasm targetToolchain.mingw-wasm32 = target-toolchain-1-mingw-wasm dependencies.mingw-wasm32 = \ msys2-mingw-w64-x86_64-gcc-7.2.0-clang-llvm-5.0.0-windows-x86-64 \ target-sysroot-2-wasm \ target-toolchain-1-mingw-wasm quadruple.wasm32 = wasm32 llvmLtoFlags.wasm32 = targetSysRoot.wasm32 = target-sysroot-2-wasm # The stack size is in bytes. s2wasmFlags.wasm32 = --allocate-stack 1048576 --import-memory