# # 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 = http://download.jetbrains.com/kotlin/native # 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 = -exported-symbol=_Konan_main llvmLtoOptFlags.osx = -O3 -function-sections llvmLtoNooptFlags.osx = -O1 linkerKonanFlags.osx = -lc++ linkerOptimizationFlags.osx = -dead_strip linkerDebugFlags.osx = -S 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 = -exported-symbol=_Konan_main llvmLtoOptFlags.ios = -O3 -function-sections linkerDebugFlags.ios = -S llvmLtoNooptFlags.ios = -O1 linkerKonanFlags.ios = -lc++ 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 = -exported-symbol=_Konan_main llvmLtoOptFlags.ios_sim = -O3 -function-sections llvmLtoNooptFlags.ios_sim = -O1 linkerKonanFlags.ios_sim = -lc++ 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 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 = -exported-symbol=Konan_main llvmLtoOptFlags.linux = -O3 -function-sections llvmLtoNooptFlags.linux = -O1 llvmLlcFlags.linux = -march=x86-64 linkerKonanFlags.linux = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread linkerOptimizationFlags.linux = --gc-sections linkerDebugFlags.linux = -S 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 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 = -exported-symbol=Konan_main 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 # 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 = -exported-symbol=Konan_main -emulated-tls -relocation-model=pic llvmLtoOptFlags.android_arm32 = -O3 -function-sections linkerDebugFlags.android_arm32 = -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 = -exported-symbol=Konan_main -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 = -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 = -exported-symbol=Konan_main 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