| # |
| # 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=12.5 |
| |
| downloadingAttempts = 10 |
| downloadingAttemptIntervalMs = 3000 |
| homeDependencyCache = .konan/cache |
| |
| # Appendix that is used for smaller version of LLVM distributions. |
| reducedLlvmAppendix = compact |
| |
| predefinedLlvmDistributions = \ |
| apple-llvm-20200714-macos-x64-1 \ |
| apple-llvm-20200714-macos-aarch64-1 \ |
| llvm-11.1.0-linux-x64-2 \ |
| llvm-11.1.0-windows-x64-2 \ |
| apple-llvm-20200714-macos-x64-essentials \ |
| apple-llvm-20200714-macos-aarch64-essentials \ |
| llvm-11.1.0-linux-x64-essentials \ |
| llvm-11.1.0-windows-x64-essentials |
| |
| predefinedLibffiVersions = \ |
| libffi-3.2.1-3-darwin-macos \ |
| libffi-3.3-1-macos-arm64 \ |
| libffi-3.2.1-2-linux-x86-64 \ |
| libffi-3.3-windows-x64-1 |
| |
| llvm.linux_x64.dev = llvm-11.1.0-linux-x64-2 |
| llvm.linux_x64.user = llvm-11.1.0-linux-x64-essentials |
| |
| llvm.mingw_x64.dev = llvm-11.1.0-windows-x64-2 |
| llvm.mingw_x64.user = llvm-11.1.0-windows-x64-essentials |
| |
| llvm.macos_x64.dev = apple-llvm-20200714-macos-x64-1 |
| llvm.macos_x64.user = apple-llvm-20200714-macos-x64-essentials |
| |
| llvm.macos_arm64.dev = apple-llvm-20200714-macos-aarch64-1 |
| llvm.macos_arm64.user = apple-llvm-20200714-macos-aarch64-essentials |
| |
| # By default LLVM uses 250 for -03 builds. |
| # We use a smaller value since default value leads to |
| # unreasonably bloated runtime code without any measurable |
| # performance benefits. |
| # This value still has to be tuned for different targets, though. |
| llvmInlineThreshold = 100 |
| clangDebugFlags = -O0 |
| |
| linkerGccFlags = -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed |
| |
| llvmVersion.linux_x64 = 11.1.0 |
| llvmVersion.mingw_x64 = 11.1.0 |
| llvmVersion.macos_x64 = 11.1.0 |
| llvmVersion.macos_arm64 = 11.1.0 |
| |
| toolchainDependency.mingw_x64 = msys2-mingw-w64-x86_64-2 |
| toolchainDependency.mingw_x86 = msys2-mingw-w64-i686-2 |
| toolchainDependency.linux_x64 = x86_64-unknown-linux-gnu-gcc-8.3.0-glibc-2.19-kernel-4.9-2 |
| toolchainDependency.linux_arm64 = aarch64-unknown-linux-gnu-gcc-8.3.0-glibc-2.25-kernel-4.9-2 |
| toolchainDependency.linux_mips32 = mips-unknown-linux-gnu-gcc-8.3.0-glibc-2.19-kernel-4.9-2 |
| toolchainDependency.linux_mipsel32 = mipsel-unknown-linux-gnu-gcc-8.3.0-glibc-2.19-kernel-4.9-2 |
| toolchainDependency.linux_arm32_hfp = arm-unknown-linux-gnueabihf-gcc-8.3.0-glibc-2.19-kernel-4.9-2 |
| |
| cacheableTargets.macos_x64 = \ |
| macos_x64 \ |
| ios_x64 \ |
| ios_arm64 |
| |
| cacheableTargets.linux_x64 = \ |
| linux_x64 |
| |
| cacheableTargets.mingw_x64 = |
| |
| cacheableTargets.macos_arm64 = \ |
| macos_arm64 \ |
| ios_simulator_arm64 \ |
| ios_arm64 |
| |
| # Targets that support compiler caches, but these caches |
| # are not considered stable enough to be turned on by default. |
| optInCacheableTargets = |
| |
| # Mac OS X. |
| # Can be an absolute path instead of predefined value. |
| llvmHome.macos_x64 = $llvm.macos_x64.dev |
| targetToolchain.macos_x64 = target-toolchain-xcode_13_1 |
| libffiDir.macos_x64 = libffi-3.2.1-3-darwin-macos |
| additionalToolsDir.macos_x64 = xcode-addon-xcode_13_1 |
| |
| targetToolchain.macos_arm64-macos_x64 = target-toolchain-xcode_13_1 |
| |
| targetTriple.macos_x64 = x86_64-apple-macos |
| targetSysRoot.macos_x64 = target-sysroot-xcode_13_1-macosx |
| targetCpu.macos_x64 = core2 |
| targetCpuFeatures.macos_x64=+cx16,+cx8,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87 |
| clangFlags.macos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.macos_x64 = -O1 |
| clangOptFlags.macos_x64 = -O3 |
| clangDebugFlags.macos_x64 = -O0 |
| |
| linkerKonanFlags.macos_x64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 12.0.0 |
| linkerOptimizationFlags.macos_x64 = -dead_strip |
| linkerNoDebugFlags.macos_x64 = -S |
| stripFlags.macos_x64 = -S |
| linkerDynamicFlags.macos_x64 = -dylib |
| |
| osVersionMinFlagLd.macos_x64 = -macosx_version_min |
| osVersionMin.macos_x64 = 10.13 |
| runtimeDefinitions.macos_x64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_X64=1 KONAN_OBJC_INTEROP=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| dependencies.macos_x64 = \ |
| lldb-4-macos |
| |
| target-sysroot-xcode_13_1-macosx.default = \ |
| remote:internal |
| |
| target-toolchain-xcode_13_1.default = \ |
| remote:internal |
| |
| xcode-addon-xcode_13_1.default = \ |
| remote:internal |
| |
| # macOS Apple Silicon |
| llvmHome.macos_arm64 = $llvm.macos_arm64.dev |
| targetToolchain.macos_arm64 = target-toolchain-xcode_13_1 |
| libffiDir.macos_arm64 = libffi-3.3-1-macos-arm64 |
| additionalToolsDir.macos_arm64 = xcode-addon-xcode_13_1 |
| |
| targetToolchain.macos_x64-macos_arm64 = target-toolchain-xcode_13_1 |
| targetTriple.macos_arm64 = arm64-apple-macos |
| targetSysRoot.macos_arm64 = target-sysroot-xcode_13_1-macosx |
| # TODO: Check Clang behaviour. |
| targetCpu.macos_arm64 = apple-a7 |
| clangFlags.macos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.macos_arm64 = -O1 |
| clangOptFlags.macos_arm64 = -O3 |
| # See clangDebugFlags.ios_arm64 |
| # TODO: Is it still necessary? |
| clangDebugFlags.macos_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false |
| |
| linkerKonanFlags.macos_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 12.0.0 |
| linkerOptimizationFlags.macos_arm64 = -dead_strip |
| linkerNoDebugFlags.macos_arm64 = -S |
| stripFlags.macos_arm64 = -S |
| linkerDynamicFlags.macos_arm64 = -dylib |
| |
| osVersionMinFlagLd.macos_arm64 = -macosx_version_min |
| osVersionMin.macos_arm64 = 11.0 |
| runtimeDefinitions.macos_arm64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_ARM64=1 KONAN_OBJC_INTEROP=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| dependencies.macos_arm64 = \ |
| lldb-4-macos |
| |
| |
| target-sysroot-xcode_13_1-macos_arm64.default = \ |
| remote:internal |
| |
| target-toolchain-xcode_13_1-macos_arm64.default = \ |
| remote:internal |
| |
| xcode-addon-xcode_13_1-macos_arm64.default = \ |
| remote:internal |
| |
| # Apple's 32-bit iOS. |
| targetToolchain.macos_x64-ios_arm32 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-ios_arm32 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-ios_arm32.default = \ |
| remote:internal |
| |
| targetTriple.ios_arm32 = armv7-apple-ios |
| # Shared with 64-bit version. |
| targetSysRoot.ios_arm32 = target-sysroot-xcode_13_1-iphoneos |
| targetCpu.ios_arm32 = generic |
| clangFlags.ios_arm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir |
| clangNooptFlags.ios_arm32 = -O1 |
| clangOptFlags.ios_arm32 = -O3 |
| clangDebugFlags.ios_arm32 = -O0 |
| llvmInlineThreshold.ios_arm32 = 50 |
| linkerNoDebugFlags.ios_arm32 = -S |
| stripFlags.ios_arm32 = -S |
| linkerDynamicFlags.ios_arm32 = -dylib |
| linkerKonanFlags.ios_arm32 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.ios_arm32 = -dead_strip |
| osVersionMinFlagLd.ios_arm32 = -iphoneos_version_min |
| osVersionMin.ios_arm32 = 9.0 |
| # Regarding KONAN_NO_64BIT_ATOMIC: |
| # While not 100% correct here, using atomic ops on iOS armv7 requires 8 byte alignment, |
| # and general ABI requires 4-byte alignment on 64-bit long fields as mentioned in |
| # https://developer.apple.com/library/archive/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW1 |
| # See https://github.com/ktorio/ktor/issues/941 for the context. |
| runtimeDefinitions.ios_arm32 = KONAN_OBJC_INTEROP=1 KONAN_IOS KONAN_ARM32=1 \ |
| KONAN_REPORT_BACKTRACE_TO_IOS_CRASH_LOG=1 MACHSIZE=32 \ |
| KONAN_NO_64BIT_ATOMIC=1 KONAN_NO_UNALIGNED_ACCESS=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # Apple's 64-bit iOS. |
| targetToolchain.macos_x64-ios_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-ios_arm64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-iphoneos.default = \ |
| remote:internal |
| |
| targetTriple.ios_arm64 = arm64-apple-ios |
| targetSysRoot.ios_arm64 = target-sysroot-xcode_13_1-iphoneos |
| targetCpu.ios_arm64 = apple-a7 |
| 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 |
| |
| linkerNoDebugFlags.ios_arm64 = -S |
| stripFlags.ios_arm64 = -S |
| linkerDynamicFlags.ios_arm64 = -dylib |
| linkerKonanFlags.ios_arm64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.ios_arm64 = -dead_strip |
| osVersionMinFlagLd.ios_arm64 = -iphoneos_version_min |
| osVersionMin.ios_arm64 = 9.0 |
| runtimeDefinitions.ios_arm64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_ARM64=1 \ |
| KONAN_REPORT_BACKTRACE_TO_IOS_CRASH_LOG=1 MACHSIZE=64 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| additionalCacheFlags.ios_arm64 = -Xembed-bitcode-marker |
| |
| # Apple's iOS simulator. |
| targetToolchain.macos_x64-ios_x64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-ios_x64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-iphonesimulator.default = \ |
| remote:internal |
| |
| targetTriple.ios_x64 = x86_64-apple-ios-simulator |
| targetSysRoot.ios_x64 = target-sysroot-xcode_13_1-iphonesimulator |
| targetCpu.ios_x64 = core2 |
| clangFlags.ios_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.ios_x64 = -O1 |
| clangOptFlags.ios_x64 = -O3 |
| clangDebugFlags.ios_x64 = -O0 |
| |
| linkerKonanFlags.ios_x64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.ios_x64 = -dead_strip |
| linkerNoDebugFlags.ios_x64 = -S |
| stripFlags.ios_x64 = -S |
| linkerDynamicFlags.ios_x64 = -dylib |
| osVersionMinFlagLd.ios_x64 = -ios_simulator_version_min |
| osVersionMin.ios_x64 = 9.0 |
| runtimeDefinitions.ios_x64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_X64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # iOS simulator on Apple Silicon |
| |
| targetToolchain.macos_x64-ios_simulator_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-ios_simulator_arm64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-ios_simulator_arm64.default = \ |
| remote:internal |
| |
| targetTriple.ios_simulator_arm64 = arm64-apple-ios-simulator |
| targetSysRoot.ios_simulator_arm64 = target-sysroot-xcode_13_1-iphonesimulator |
| targetCpu.ios_simulator_arm64 = apple-a7 |
| clangFlags.ios_simulator_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.ios_simulator_arm64 = -O1 |
| clangOptFlags.ios_simulator_arm64 = -O3 |
| clangDebugFlags.ios_simulator_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false |
| |
| linkerKonanFlags.ios_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.ios_simulator_arm64 = -dead_strip |
| linkerNoDebugFlags.ios_simulator_arm64 = -S |
| stripFlags.ios_simulator_arm64 = -S |
| linkerDynamicFlags.ios_simulator_arm64 = -dylib |
| osVersionMinFlagLd.ios_simulator_arm64 = -ios_simulator_version_min |
| osVersionMin.ios_simulator_arm64 = 9.0 |
| runtimeDefinitions.ios_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_ARM64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # Apple's tvOS simulator. |
| targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-tvos_x64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-appletvsimulator.default = \ |
| remote:internal |
| |
| targetTriple.tvos_x64 = x86_64-apple-tvos-simulator |
| targetSysRoot.tvos_x64 = target-sysroot-xcode_13_1-appletvsimulator |
| targetCpu.tvos_x64 = core2 |
| clangFlags.tvos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.tvos_x64 = -O1 |
| clangOptFlags.tvos_x64 = -O3 |
| clangDebugFlags.tvos_x64 = -O0 |
| |
| linkerKonanFlags.tvos_x64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.tvos_x64 = -dead_strip |
| linkerNoDebugFlags.tvos_x64 = -S |
| stripFlags.tvos_x64 = -S |
| linkerDynamicFlags.tvos_x64 = -dylib |
| osVersionMinFlagLd.tvos_x64 = -tvos_simulator_version_min |
| osVersionMin.tvos_x64 = 9.0 |
| runtimeDefinitions.tvos_x64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_X64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # Apple's tvOS simulator. |
| targetToolchain.macos_x64-tvos_simulator_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-tvos_simulator_arm64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-tvos_simulator_arm64.default = \ |
| remote:internal |
| |
| targetTriple.tvos_simulator_arm64 = arm64-apple-tvos-simulator |
| targetSysRoot.tvos_simulator_arm64 = target-sysroot-xcode_13_1-appletvsimulator |
| targetCpu.tvos_simulator_arm64 = apple-a7 |
| clangFlags.tvos_simulator_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.tvos_simulator_arm64 = -O1 |
| clangOptFlags.tvos_simulator_arm64 = -O3 |
| clangDebugFlags.tvos_simulator_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false |
| |
| linkerKonanFlags.tvos_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.tvos_simulator_arm64 = -dead_strip |
| linkerNoDebugFlags.tvos_simulator_arm64 = -S |
| stripFlags.tvos_simulator_arm64 = -S |
| linkerDynamicFlags.tvos_simulator_arm64 = -dylib |
| osVersionMinFlagLd.tvos_simulator_arm64 = -tvos_simulator_version_min |
| osVersionMin.tvos_simulator_arm64 = 9.0 |
| runtimeDefinitions.tvos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_ARM64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # Apple's 64-bit tvOS. |
| targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-tvos_arm64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-appletvos.default = \ |
| remote:internal |
| |
| targetTriple.tvos_arm64 = arm64-apple-tvos |
| targetSysRoot.tvos_arm64 = target-sysroot-xcode_13_1-appletvos |
| targetCpu.tvos_arm64 = apple-a7 |
| 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 |
| |
| linkerNoDebugFlags.tvos_arm64 = -S |
| stripFlags.tvos_arm64 = -S |
| linkerDynamicFlags.tvos_arm64 = -dylib |
| linkerKonanFlags.tvos_arm64 = -lSystem -lc++ -lobjc -framework Foundation -framework UIKit -sdk_version 15.0 |
| linkerOptimizationFlags.tvos_arm64 = -dead_strip |
| osVersionMinFlagLd.tvos_arm64 = -tvos_version_min |
| osVersionMin.tvos_arm64 = 9.0 |
| runtimeDefinitions.tvos_arm64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_ARM64=1 \ |
| KONAN_REPORT_BACKTRACE_TO_IOS_CRASH_LOG=1 MACHSIZE=64 KONAN_HAS_FOUNDATION_FRAMEWORK=1 KONAN_HAS_UIKIT_FRAMEWORK=1 |
| |
| # watchOS armv7k |
| targetToolchain.macos_x64-watchos_arm32 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-watchos_arm32 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-watchos.default = \ |
| remote:internal |
| |
| targetTriple.watchos_arm32 = armv7k-apple-watchos |
| targetSysRoot.watchos_arm32 = target-sysroot-xcode_13_1-watchos |
| targetCpu.watchos_arm32 = cortex-a7 |
| clangFlags.watchos_arm32 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.watchos_arm32 = -O1 |
| clangOptFlags.watchos_arm32 = -O3 |
| clangDebugFlags.watchos_arm32 = -O0 |
| llvmInlineThreshold.watchos_arm32 = 50 |
| |
| linkerKonanFlags.watchos_arm32 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 8.0 |
| linkerOptimizationFlags.watchos_arm32 = -dead_strip |
| linkerNoDebugFlags.watchos_arm32 = -S |
| stripFlags.watchos_arm32 = -S |
| linkerDynamicFlags.watchos_arm32 = -dylib |
| osVersionMinFlagLd.watchos_arm32 = -watchos_version_min |
| osVersionMin.watchos_arm32 = 5.0 |
| # Regarding KONAN_NO_64BIT_ATOMIC=1: see explanation for ios_arm32 above. |
| runtimeDefinitions.watchos_arm32 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS KONAN_ARM32=1 \ |
| KONAN_REPORT_BACKTRACE_TO_IOS_CRASH_LOG=1 \ |
| MACHSIZE=32 KONAN_NO_64BIT_ATOMIC=1 KONAN_NO_UNALIGNED_ACCESS=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| |
| # watchOS arm64_32 |
| targetToolchain.macos_x64-watchos_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-watchos_arm64 = target-toolchain-xcode_13_1 |
| |
| targetTriple.watchos_arm64 = arm64_32-apple-watchos |
| targetSysRoot.watchos_arm64 = target-sysroot-xcode_13_1-watchos |
| targetCpu.watchos_arm64 = apple-s4 |
| clangFlags.watchos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir -mllvm -aarch64-watch-bitcode-compatibility \ |
| -mllvm -arm-bitcode-compatibility |
| clangNooptFlags.watchos_arm64 = -O1 |
| clangOptFlags.watchos_arm64 = -O3 |
| clangDebugFlags.watchos_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false |
| |
| linkerKonanFlags.watchos_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 8.0 |
| linkerOptimizationFlags.watchos_arm64 = -dead_strip |
| linkerNoDebugFlags.watchos_arm64 = -S |
| stripFlags.watchos_arm64 = -S |
| linkerDynamicFlags.watchos_arm64 = -dylib |
| osVersionMinFlagLd.watchos_arm64 = -watchos_version_min |
| osVersionMin.watchos_arm64 = 5.0 |
| # Regarding KONAN_NO_64BIT_ATOMIC=1: see explanation for ios_arm32 above. |
| runtimeDefinitions.watchos_arm64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS KONAN_ARM32=1 \ |
| KONAN_REPORT_BACKTRACE_TO_IOS_CRASH_LOG=1 \ |
| MACHSIZE=32 KONAN_NO_64BIT_ATOMIC=1 KONAN_NO_UNALIGNED_ACCESS=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| |
| # Apple's watchOS i386 simulator. |
| targetToolchain.macos_x64-watchos_x86 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-watchos_x86 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-watchsimulator.default = \ |
| remote:internal |
| |
| targetTriple.watchos_x86 = i386-apple-watchos-simulator |
| targetSysRoot.watchos_x86 = target-sysroot-xcode_13_1-watchsimulator |
| # Make sure that SSE2 is available by setting target-cpu to pentium4 |
| targetCpu.watchos_x86 = pentium4 |
| clangFlags.watchos_x86 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.watchos_x86 = -O1 |
| clangOptFlags.watchos_x86 = -O3 |
| clangDebugFlags.watchos_x86 = -O0 |
| |
| linkerKonanFlags.watchos_x86 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 8.0 |
| linkerOptimizationFlags.watchos_x86 = -dead_strip |
| linkerNoDebugFlags.watchos_x86 = -S |
| stripFlags.watchos_x86 = -S |
| linkerDynamicFlags.watchos_x86 = -dylib |
| osVersionMinFlagLd.watchos_x86 = -watchos_simulator_version_min |
| osVersionMin.watchos_x86 = 5.0 |
| runtimeDefinitions.watchos_x86 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_NO_64BIT_ATOMIC=1 KONAN_X86=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| |
| # watchOS x86_64 simulator. |
| targetToolchain.macos_x64-watchos_x64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-watchos_x64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-watchos_x64.default = \ |
| remote:internal |
| |
| targetTriple.watchos_x64 = x86_64-apple-watchos-simulator |
| targetSysRoot.watchos_x64 = target-sysroot-xcode_13_1-watchsimulator |
| targetCpu.watchos_x64 = core2 |
| clangFlags.watchos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.watchos_x64 = -O1 |
| clangOptFlags.watchos_x64 = -O3 |
| clangDebugFlags.watchos_x64 = -O0 |
| |
| linkerKonanFlags.watchos_x64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 8.0 |
| linkerOptimizationFlags.watchos_x64 = -dead_strip |
| linkerNoDebugFlags.watchos_x64 = -S |
| stripFlags.watchos_x64 = -S |
| linkerDynamicFlags.watchos_x64 = -dylib |
| osVersionMinFlagLd.watchos_x64 = -watchos_simulator_version_min |
| osVersionMin.watchos_x64 = 7.0 |
| runtimeDefinitions.watchos_x64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_X64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| |
| # watchOS Apple Silicon simulator. |
| targetToolchain.macos_x64-watchos_simulator_arm64 = target-toolchain-xcode_13_1 |
| targetToolchain.macos_arm64-watchos_simulator_arm64 = target-toolchain-xcode_13_1 |
| |
| target-sysroot-xcode_13_1-watchos_simulator_arm64.default = \ |
| remote:internal |
| |
| targetTriple.watchos_simulator_arm64 = arm64-apple-watchos-simulator |
| targetSysRoot.watchos_simulator_arm64 = target-sysroot-xcode_13_1-watchsimulator |
| targetCpu.watchos_simulator_arm64 = apple-a7 |
| clangFlags.watchos_simulator_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir |
| clangNooptFlags.watchos_simulator_arm64 = -O1 |
| clangOptFlags.watchos_simulator_arm64 = -O3 |
| clangDebugFlags.watchos_simulator_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false |
| |
| linkerKonanFlags.watchos_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 8.0 |
| linkerOptimizationFlags.watchos_simulator_arm64 = -dead_strip |
| linkerNoDebugFlags.watchos_simulator_arm64 = -S |
| stripFlags.watchos_simulator_arm64 = -S |
| linkerDynamicFlags.watchos_simulator_arm64 = -dylib |
| osVersionMinFlagLd.watchos_simulator_arm64 = -watchos_simulator_version_min |
| osVersionMin.watchos_simulator_arm64 = 7.0 |
| runtimeDefinitions.watchos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_ARM64=1 KONAN_HAS_FOUNDATION_FRAMEWORK=1 |
| |
| |
| # Linux x86-64. |
| llvmHome.linux_x64 = $llvm.linux_x64.dev |
| libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64 |
| |
| gccToolchain.linux_x64 = $toolchainDependency.linux_x64 |
| targetToolchain.linux_x64 = $gccToolchain.linux_x64/x86_64-unknown-linux-gnu |
| dependencies.linux_x64 = \ |
| $toolchainDependency.linux_x64 \ |
| lldb-4-linux |
| |
| targetToolchain.mingw_x64-linux_x64 = $llvmHome.mingw_x64 |
| dependencies.mingw_x64-linux_x64 = \ |
| $toolchainDependency.linux_x64 \ |
| $toolchainDependency.mingw_x64 |
| |
| targetToolchain.macos_x64-linux_x64 = $llvmHome.macos_x64 |
| dependencies.macos_x64-linux_x64 = \ |
| $toolchainDependency.linux_x64 |
| |
| targetToolchain.macos_arm64-linux_x64 = $llvmHome.macos_arm64 |
| dependencies.macos_arm64-linux_x64 = \ |
| $toolchainDependency.linux_x64 |
| |
| targetTriple.linux_x64 = x86_64-unknown-linux-gnu |
| targetSysRoot.linux_x64 = $gccToolchain.linux_x64/x86_64-unknown-linux-gnu/sysroot |
| # targetSysroot-relative. |
| libGcc.linux_x64 = ../../lib/gcc/x86_64-unknown-linux-gnu/8.3.0 |
| targetCpu.linux_x64 = x86-64 |
| targetCpuFeatures.linux_x64 = +cx8,+fxsr,+mmx,+sse,+sse2,+x87 |
| clangFlags.linux_x64 = -cc1 -emit-obj -disable-llvm-optzns -x ir \ |
| -ffunction-sections -fdata-sections |
| clangNooptFlags.linux_x64 = -O1 |
| clangOptFlags.linux_x64 = -O3 |
| clangDebugFlags.linux_x64 = -O0 |
| dynamicLibraryRelocationMode.linux_x64 = pic |
| staticLibraryRelocationMode.linux_x64 = pic |
| linkerKonanFlags.linux_x64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \ |
| --defsym __cxa_demangle=Konan_cxa_demangle --gc-sections |
| linkerOptimizationFlags.linux_x64 = |
| linkerNoDebugFlags.linux_x64 = -S |
| linkerDynamicFlags.linux_x64 = -shared |
| |
| linker.linux_x64 = $targetToolchain.linux_x64/bin/ld.gold |
| linkerHostSpecificFlags.linux_x64-linux_x64 = |
| # TODO: Check ld.lld from LLVM. |
| linker.mingw_x64-linux_x64 = $targetToolchain.mingw_x64/bin/ld.gold |
| linkerHostSpecificFlags.mingw_x64-linux_x64 = |
| linker.macos_x64-linux_x64 = $targetToolchain.macos_x64-linux_x64/bin/ld.lld |
| linkerHostSpecificFlags.macos_x64-linux_x64 = |
| linker.macos_arm64-linux_x64 = $targetToolchain.macos_arm64-linux_x64/bin/ld.lld |
| linkerHostSpecificFlags.macos_arm64-linux_x64 = |
| |
| dynamicLinker.linux_x64 = /lib64/ld-linux-x86-64.so.2 |
| # targetSysRoot relative |
| abiSpecificLibraries.linux_x64 = lib usr/lib ../lib64 lib64 usr/lib64 |
| # targetSysRoot relative |
| crtFilesLocation.linux_x64 = usr/lib |
| runtimeDefinitions.linux_x64 = USE_GCC_UNWIND=1 KONAN_LINUX=1 KONAN_X64=1 \ |
| USE_ELF_SYMBOLS=1 ELFSIZE=64 |
| |
| # Raspberry Pi |
| gccToolchain.linux_arm32_hfp = $toolchainDependency.linux_arm32_hfp |
| |
| targetToolchain.linux_x64-linux_arm32_hfp = $gccToolchain.linux_arm32_hfp/arm-unknown-linux-gnueabihf |
| targetToolchain.mingw_x64-linux_arm32_hfp = $llvmHome.mingw_x64 |
| targetToolchain.macos_x64-linux_arm32_hfp = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-linux_arm32_hfp = $llvmHome.macos_arm64 |
| |
| # TODO: We might use docker on Windows or macOS. |
| emulatorDependency.linux_x64-linux_arm32_hfp = qemu-arm-static-5.1.0-linux-2 |
| emulatorExecutable.linux_x64-linux_arm32_hfp = qemu-arm-static-5.1.0-linux-2/qemu-arm |
| |
| dependencies.linux_x64-linux_arm32_hfp = \ |
| $toolchainDependency.linux_arm32_hfp |
| dependencies.mingw_x64-linux_arm32_hfp = \ |
| $toolchainDependency.linux_arm32_hfp \ |
| $toolchainDependency.mingw_x64 |
| dependencies.macos_x64-linux_arm32_hfp = \ |
| $toolchainDependency.linux_arm32_hfp |
| dependencies.macos_arm64-linux_arm32_hfp = \ |
| $toolchainDependency.linux_arm32_hfp |
| |
| targetTriple.linux_arm32_hfp = arm-unknown-linux-gnueabihf |
| linkerNoDebugFlags.linux_arm32_hfp = -S |
| linkerDynamicFlags.linux_arm32_hfp = -shared |
| linkerOptimizationFlags.linux_arm32_hfp = --gc-sections |
| targetSysRoot.linux_arm32_hfp = $gccToolchain.linux_arm32_hfp/arm-unknown-linux-gnueabihf/sysroot |
| # We could reuse host toolchain here. |
| linkerKonanFlags.linux_arm32_hfp = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \ |
| --defsym __cxa_demangle=Konan_cxa_demangle |
| # targetSysroot-relative. |
| libGcc.linux_arm32_hfp = ../../lib/gcc/arm-unknown-linux-gnueabihf/8.3.0 |
| targetCpu.linux_arm32_hfp = arm1136jf-s |
| # Taken from clang-produced bitcode. |
| # TODO: Not sure if we need so many features. Revise. |
| targetCpuFeatures.linux_arm32_hfp = +armv6kz,+dsp,+fp64,+strict-align,+vfp2,+vfp2sp,-crypto,-d32,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fullfp16,-neon,-thumb-mode,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp |
| clangFlags.linux_arm32_hfp = -cc1 -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 |
| dynamicLibraryRelocationMode.linux_arm32_hfp = pic |
| staticLibraryRelocationMode.linux_arm32_hfp = pic |
| |
| linker.linux_x64-linux_arm32_hfp = $targetToolchain.linux_x64-linux_arm32_hfp/bin/ld |
| linkerHostSpecificFlags.linux_x64-linux_arm32_hfp = |
| # TODO: Check ld.lld from LLVM. |
| linker.mingw_x64-linux_arm32_hfp = $targetToolchain.mingw_x64/bin/ld.gold |
| linkerHostSpecificFlags.mingw_x64-linux_arm32_hfp = |
| linker.macos_x64-linux_arm32_hfp = $targetToolchain.macos_x64-linux_arm32_hfp/bin/ld.lld |
| linkerHostSpecificFlags.macos_x64-linux_arm32_hfp = |
| linker.macos_arm64-linux_arm32_hfp = $targetToolchain.macos_arm64-linux_arm32_hfp/bin/ld.lld |
| linkerHostSpecificFlags.macos_arm64-linux_arm32_hfp = |
| dynamicLinker.linux_arm32_hfp = /lib/ld-linux-armhf.so.3 |
| # targetSysRoot relative |
| abiSpecificLibraries.linux_arm32_hfp = lib usr/lib |
| # targetSysRoot relative |
| crtFilesLocation.linux_arm32_hfp = usr/lib |
| runtimeDefinitions.linux_arm32_hfp = USE_GCC_UNWIND=1 KONAN_LINUX=1 \ |
| KONAN_ARM32=1 USE_ELF_SYMBOLS=1 ELFSIZE=32 KONAN_NO_UNALIGNED_ACCESS=1 \ |
| KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # Linux arm64 |
| gccToolchain.linux_arm64 = $toolchainDependency.linux_arm64 |
| |
| targetToolchain.linux_x64-linux_arm64 = $gccToolchain.linux_arm64/aarch64-unknown-linux-gnu |
| targetToolchain.mingw_x64-linux_arm64 = $llvmHome.mingw_x64 |
| targetToolchain.macos_x64-linux_arm64 = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-linux_arm64 = $llvmHome.macos_arm64 |
| |
| emulatorDependency.linux_x64-linux_arm64 = qemu-aarch64-static-5.1.0-linux-2 |
| emulatorExecutable.linux_x64-linux_arm64 = qemu-aarch64-static-5.1.0-linux-2/qemu-aarch64 |
| |
| dependencies.linux_x64-linux_arm64 = \ |
| $toolchainDependency.linux_arm64 |
| dependencies.mingw_x64-linux_arm64 = \ |
| $toolchainDependency.linux_arm64 \ |
| $toolchainDependency.mingw_x64 |
| dependencies.macos_x64-linux_arm64 = \ |
| $toolchainDependency.linux_arm64 |
| dependencies.macos_arm64-linux_arm64 = \ |
| $toolchainDependency.linux_arm64 |
| |
| targetTriple.linux_arm64 = aarch64-unknown-linux-gnu |
| linkerNoDebugFlags.linux_arm64 = -S |
| linkerDynamicFlags.linux_arm64 = -shared |
| linkerOptimizationFlags.linux_arm64 = --gc-sections |
| targetSysRoot.linux_arm64 = $gccToolchain.linux_arm64/aarch64-unknown-linux-gnu/sysroot |
| # We could reuse host toolchain here. |
| linkerKonanFlags.linux_arm64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \ |
| --defsym __cxa_demangle=Konan_cxa_demangle |
| # targetSysroot-relative. |
| libGcc.linux_arm64 = ../../lib/gcc/aarch64-unknown-linux-gnu/8.3.0 |
| targetCpu.linux_arm64 = cortex-a57 |
| clangFlags.linux_arm64 = -cc1 -emit-obj -disable-llvm-optzns -x ir |
| clangNooptFlags.linux_arm64 = -O1 |
| clangOptFlags.linux_arm64 = -O3 -ffunction-sections |
| clangDebugFlags.linux_arm64 = -O0 |
| dynamicLibraryRelocationMode.linux_arm64 = pic |
| staticLibraryRelocationMode.linux_arm64 = pic |
| |
| linker.linux_x64-linux_arm64 = $targetToolchain.linux_x64-linux_arm64/bin/ld.gold |
| linkerHostSpecificFlags.linux_x64-linux_arm64 = |
| # TODO: Check ld.lld from LLVM. |
| linker.mingw_x64-linux_arm64 = $targetToolchain.mingw_x64/bin/ld.gold |
| linkerHostSpecificFlags.mingw_x64-linux_arm64 = |
| linker.macos_x64-linux_arm64 = $targetToolchain.macos_x64-linux_arm64/bin/ld.lld |
| linkerHostSpecificFlags.macos_x64-linux_arm64 = |
| linker.macos_arm64-linux_arm64 = $targetToolchain.macos_arm64-linux_arm64/bin/ld.lld |
| linkerHostSpecificFlags.macos_arm64-linux_arm64 = |
| dynamicLinker.linux_arm64 = /lib/ld-linux-aarch64.so.1 |
| # targetSysRoot relative |
| abiSpecificLibraries.linux_arm64 = lib usr/lib |
| # targetSysRoot relative |
| crtFilesLocation.linux_arm64 = usr/lib |
| runtimeDefinitions.linux_arm64 = USE_GCC_UNWIND=1 KONAN_LINUX=1 KONAN_ARM64=1 \ |
| USE_ELF_SYMBOLS=1 ELFSIZE=64 |
| |
| # MIPS |
| gccToolchain.linux_mips32 = $toolchainDependency.linux_mips32 |
| |
| targetToolchain.linux_x64-linux_mips32 = $gccToolchain.linux_mips32/mips-unknown-linux-gnu |
| targetToolchain.mingw_x64-linux_mips32 = $llvmHome.mingw_x64 |
| targetToolchain.macos_x64-linux_mips32 = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-linux_mips32 = $llvmHome.macos_arm64 |
| |
| emulatorDependency.linux_x64-linux_mips32 = qemu-mips-static-5.1.0-linux-2 |
| emulatorExecutable.linux_x64-linux_mips32 = qemu-mips-static-5.1.0-linux-2/qemu-mips |
| dependencies.linux_x64-linux_mips32 = \ |
| $toolchainDependency.linux_mips32 |
| dependencies.mingw_x64-linux_mips32 = \ |
| $toolchainDependency.linux_mips32 |
| dependencies.macos_x64-linux_mips32 = \ |
| $toolchainDependency.linux_mips32 |
| dependencies.macos_arm64-linux_mips32 = \ |
| $toolchainDependency.linux_mips32 |
| |
| targetTriple.linux_mips32 = mips-unknown-linux-gnu |
| linkerOptimizationFlags.linux_mips32 = --gc-sections |
| linkerDynamicFlags.linux_mips32 = -shared |
| targetSysRoot.linux_mips32 = $gccToolchain.linux_mips32/mips-unknown-linux-gnu/sysroot |
| # We could reuse host toolchain here. |
| linkerKonanFlags.linux_mips32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread -latomic \ |
| --defsym __cxa_demangle=Konan_cxa_demangle -z notext |
| # targetSysroot-relative. |
| libGcc.linux_mips32 = ../../lib/gcc/mips-unknown-linux-gnu/8.3.0 |
| targetCpu.linux_mips32 = mips32r2 |
| # We generate a single binary with a big GOT. It causes problems for MIPS. |
| # See https://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html about mxgot (aka -target-feature +xgot). |
| targetCpuFeatures.linux_mips32 = +xgot |
| clangFlags.linux_mips32 = -cc1 -emit-obj -disable-llvm-optzns -x ir |
| clangNooptFlags.linux_mips32 = -O1 |
| clangOptFlags.linux_mips32 = -O3 -ffunction-sections |
| clangDebugFlags.linux_mips32 = -O0 |
| dynamicLibraryRelocationMode.linux_mips32 = pic |
| staticLibraryRelocationMode.linux_mips32 = pic |
| executableRelocationMode.linux_mips32 = static |
| |
| linker.linux_x64-linux_mips32 = $targetToolchain.linux_x64-linux_mips32/bin/ld |
| linker.mingw_x64-linux_mips32 = $targetToolchain.mingw_x64-linux_mips32/bin/ld.lld |
| linker.macos_x64-linux_mips32 = $targetToolchain.macos_x64-linux_mips32/bin/ld.lld |
| linker.macos_arm64-linux_mips32 = $targetToolchain.macos_arm64-linux_mips32/bin/ld.lld |
| linkerHostSpecificFlags.linux_x64-linux_mips32 = |
| dynamicLinker.linux_mips32 = /lib/ld.so.1 |
| # targetSysRoot relative |
| abiSpecificLibraries.linux_mips32 = lib usr/lib |
| # targetSysRoot relative |
| crtFilesLocation.linux_mips32 = usr/lib |
| # TODO: reconsider KONAN_NO_64BIT_ATOMIC, once target MIPS can do proper 64-bit load/store/CAS. |
| runtimeDefinitions.linux_mips32 = USE_GCC_UNWIND=1 KONAN_LINUX=1 KONAN_MIPS32=1 \ |
| USE_ELF_SYMBOLS=1 ELFSIZE=32 KONAN_NO_64BIT_ATOMIC=1 KONAN_NO_UNALIGNED_ACCESS=1 \ |
| KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # MIPSel |
| gccToolchain.linux_mipsel32 = $toolchainDependency.linux_mipsel32 |
| |
| targetToolchain.linux_x64-linux_mipsel32 = $gccToolchain.linux_mipsel32/mipsel-unknown-linux-gnu |
| targetToolchain.mingw_x64-linux_mipsel32 = $llvmHome.mingw_x64 |
| targetToolchain.macos_x64-linux_mipsel32 = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-linux_mipsel32 = $llvmHome.macos_arm64 |
| |
| emulatorDependency.linux_x64-linux_mipsel32 = qemu-mipsel-static-5.1.0-linux-2 |
| emulatorExecutable.linux_x64-linux_mipsel32 = qemu-mipsel-static-5.1.0-linux-2/qemu-mipsel |
| dependencies.linux_x64-linux_mipsel32 = \ |
| $toolchainDependency.linux_mipsel32 |
| dependencies.mingw_x64-linux_mipsel32 = \ |
| $toolchainDependency.linux_mipsel32 |
| dependencies.macos_x64-linux_mipsel32 = \ |
| $toolchainDependency.linux_mipsel32 |
| dependencies.macos_arm64-linux_mipsel32 = \ |
| $toolchainDependency.linux_mipsel32 |
| |
| targetTriple.linux_mipsel32 = mipsel-unknown-linux-gnu |
| linkerOptimizationFlags.linux_mipsel32 = --gc-sections |
| linkerDynamicFlags.linux_mipsel32 = -shared |
| targetSysRoot.linux_mipsel32 = $gccToolchain.linux_mipsel32/mipsel-unknown-linux-gnu/sysroot |
| # We could reuse host toolchain here. |
| linkerKonanFlags.linux_mipsel32 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread -latomic \ |
| --defsym __cxa_demangle=Konan_cxa_demangle -z notext |
| # targetSysroot-relative. |
| libGcc.linux_mipsel32 = ../../lib/gcc/mipsel-unknown-linux-gnu/8.3.0 |
| targetCpu.linux_mipsel32 = mips32r2 |
| targetCpuFeatures.linux_mipsel32 = +xgot |
| clangFlags.linux_mipsel32 = -cc1 -emit-obj -disable-llvm-optzns -x ir |
| clangNooptFlags.linux_mipsel32 = -O1 |
| clangOptFlags.linux_mipsel32 = -O3 -ffunction-sections |
| clangDebugFlags.linux_mipsel32 = -O0 |
| dynamicLibraryRelocationMode.linux_mipsel32 = pic |
| staticLibraryRelocationMode.linux_mipsel32 = pic |
| |
| linker.linux_x64-linux_mipsel32 = $targetToolchain.linux_x64-linux_mipsel32/bin/ld |
| linker.mingw_x64-linux_mipsel32 = $targetToolchain.mingw_x64-linux_mipsel32/bin/ld.lld |
| linker.macos_x64-linux_mipsel32 = $targetToolchain.macos_x64-linux_mipsel32/bin/ld.lld |
| linker.macos_arm64-linux_mipsel32 = $targetToolchain.macos_arm64-linux_mipsel32/bin/ld.lld |
| linkerHostSpecificFlags.linux_x64-linux_mipsel32 = |
| dynamicLinker.linux_mipsel32 = /lib/ld.so.1 |
| # targetSysRoot relative |
| abiSpecificLibraries.linux_mipsel32 = lib usr/lib |
| # targetSysRoot relative |
| crtFilesLocation.linux_mipsel32 = usr/lib |
| # TODO: reconsider KONAN_NO_64BIT_ATOMIC, once target MIPS can do proper 64-bit load/store/CAS. |
| runtimeDefinitions.linux_mipsel32 = USE_GCC_UNWIND=1 KONAN_LINUX=1 \ |
| KONAN_MIPSEL32=1 USE_ELF_SYMBOLS=1 ELFSIZE=32 KONAN_NO_64BIT_ATOMIC=1 KONAN_NO_UNALIGNED_ACCESS=1 \ |
| KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # Android ARM32, based on NDK for android-21. |
| targetToolchain.macos_x64-android_arm32 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_x64-android_arm32 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.macos_arm64-android_arm32 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_arm64-android_arm32 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.linux_x64-android_arm32 = target-toolchain-2-linux-android_ndk |
| dependencies.linux_x64-android_arm32 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-linux-android_ndk |
| targetToolchain.mingw_x64-android_arm32 = target-toolchain-2-windows-android_ndk |
| dependencies.mingw_x64-android_arm32 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-windows-android_ndk |
| |
| targetTriple.android_arm32 = arm-unknown-linux-androideabi |
| targetCpu.android_arm32 = arm7tdmi |
| targetCpuFeatures.android_arm32 = +soft-float,+strict-align,-crypto,-neon,-thumb-mode |
| clangFlags.android_arm32 = -cc1 -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 |
| runtimeDefinitions.android_arm32 = __ANDROID__ USE_GCC_UNWIND=1 USE_ELF_SYMBOLS=1 ELFSIZE=32 \ |
| KONAN_ANDROID=1 KONAN_ARM32=1 KONAN_NO_UNALIGNED_ACCESS=1 KONAN_NO_64BIT_ATOMIC=1 \ |
| KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # Android ARM64, based on NDK. |
| targetToolchain.macos_x64-android_arm64 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_x64-android_arm64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.macos_arm64-android_arm64 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_arm64-android_arm64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.linux_x64-android_arm64 = target-toolchain-2-linux-android_ndk |
| dependencies.linux_x64-android_arm64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-linux-android_ndk |
| targetToolchain.mingw_x64-android_arm64 = target-toolchain-2-windows-android_ndk |
| dependencies.mingw_x64-android_arm64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-windows-android_ndk |
| |
| targetTriple.android_arm64 = aarch64-unknown-linux-android |
| targetCpu.android_arm64 = cortex-a57 |
| clangFlags.android_arm64 = -cc1 -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 |
| runtimeDefinitions.android_arm64 = __ANDROID__ USE_GCC_UNWIND=1 USE_ELF_SYMBOLS=1 \ |
| ELFSIZE=64 KONAN_ANDROID=1 KONAN_ARM64=1 |
| |
| # Android X86, based on NDK. |
| targetToolchain.macos_x64-android_x86 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_x64-android_x86 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.macos_arm64-android_x86 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_arm64-android_x86 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.linux_x64-android_x86 = target-toolchain-2-linux-android_ndk |
| dependencies.linux_x64-android_x86 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-linux-android_ndk |
| targetToolchain.mingw_x64-android_x86 = target-toolchain-2-windows-android_ndk |
| dependencies.mingw_x64-android_x86 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-windows-android_ndk |
| |
| targetTriple.android_x86 = i686-unknown-linux-android |
| # Make sure that SSE2 is available by setting target-cpu to pentium4 |
| targetCpu.android_x86 = pentium4 |
| clangFlags.android_x86 = -cc1 -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 |
| runtimeDefinitions.android_x86 = __ANDROID__ USE_GCC_UNWIND=1 USE_ELF_SYMBOLS=1 \ |
| ELFSIZE=32 KONAN_ANDROID=1 KONAN_X86=1 KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # Android X64, based on NDK. |
| targetToolchain.macos_x64-android_x64 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_x64-android_x64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.macos_arm64-android_x64 = target-toolchain-2-osx-android_ndk |
| dependencies.macos_arm64-android_x64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-osx-android_ndk |
| targetToolchain.linux_x64-android_x64 = target-toolchain-2-linux-android_ndk |
| dependencies.linux_x64-android_x64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-linux-android_ndk |
| targetToolchain.mingw_x64-android_x64 = target-toolchain-2-windows-android_ndk |
| dependencies.mingw_x64-android_x64 = \ |
| target-sysroot-1-android_ndk \ |
| target-toolchain-2-windows-android_ndk |
| |
| targetTriple.android_x64 = x86_64-unknown-linux-android |
| targetCpu.android_x64 = x86-64 |
| clangFlags.android_x64 = -cc1 -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 |
| runtimeDefinitions.android_x64 = __ANDROID__ USE_GCC_UNWIND=1 USE_ELF_SYMBOLS=1 \ |
| ELFSIZE=64 KONAN_ANDROID=1 KONAN_X64=1 |
| |
| # Windows x86-64, based on mingw-w64. |
| llvmHome.mingw_x64 = $llvm.mingw_x64.dev |
| libffiDir.mingw_x64 = libffi-3.3-windows-x64-1 |
| windowsKitParts.mingw_x64 = windows-kit-x64-v1-alpha2 |
| msvcParts.mingw_x64 = msvc-x64-v1-alpha2 |
| |
| linker.mingw_x64 = lld-12.0.1-windows-x64/ld.lld.exe |
| linker.linux_x64-mingw_x64 = $targetToolchain.linux_x64-mingw_x64/bin/ld.lld |
| linker.macos_x64-mingw_x64 = $targetToolchain.macos_x64-mingw_x64/bin/ld.lld |
| linker.macos_arm64-mingw_x64 = $targetToolchain.macos_arm64-mingw_x64/bin/ld.lld |
| |
| windows-kit-x64-v1-alpha2.default = \ |
| remote:internal |
| |
| msvc-x64-v1-alpha2.default = \ |
| remote:internal |
| |
| targetToolchain.mingw_x64 = $toolchainDependency.mingw_x64 |
| targetToolchain.linux_x64-mingw_x64 = $llvmHome.linux_x64 |
| targetToolchain.macos_x64-mingw_x64 = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-mingw_x64 = $llvmHome.macos_arm64 |
| |
| # for Windows we are currently using LLDB 9 |
| dependencies.mingw_x64 = \ |
| lldb-2-windows \ |
| lld-12.0.1-windows-x64 \ |
| $toolchainDependency.mingw_x64 |
| dependencies.linux_x64-mingw_x64 = $toolchainDependency.mingw_x64 |
| dependencies.macos_x64-mingw_x64 = $toolchainDependency.mingw_x64 |
| dependencies.macos_arm64-mingw_x64 = $toolchainDependency.mingw_x64 |
| |
| targetTriple.mingw_x64 = x86_64-pc-windows-gnu |
| targetSysRoot.mingw_x64 = $toolchainDependency.mingw_x64 |
| targetCpu.mingw_x64 = x86-64 |
| targetCpuFeatures.mingw_x64 = +cx8,+fxsr,+mmx,+sse,+sse2,+x87 |
| # 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 |
| 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++ \ |
| -Wl,--dynamicbase \ |
| -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic |
| linkerOptimizationFlags.mingw_x64 = -Wl,--gc-sections |
| mimallocLinkerDependencies.mingw_x64 = -lbcrypt |
| runtimeDefinitions.mingw_x64 = USE_GCC_UNWIND=1 USE_PE_COFF_SYMBOLS=1 KONAN_WINDOWS=1 \ |
| UNICODE KONAN_X64=1 KONAN_NO_MEMMEM=1 |
| |
| # Windows i686, based on mingw-w64. |
| targetToolchain.mingw_x64-mingw_x86 = $toolchainDependency.mingw_x86 |
| targetToolchain.linux_x64-mingw_x86 = $llvmHome.linux_x64 |
| targetToolchain.macos_x64-mingw_x86 = $llvmHome.macos_x64 |
| targetToolchain.macos_arm64-mingw_x86 = $llvmHome.macos_arm64 |
| |
| linker.mingw_x64-mingw_x86 = lld-12.0.1-windows-x64/ld.lld.exe |
| linker.linux_x64-mingw_x86 = $targetToolchain.linux_x64-mingw_x86/bin/ld.lld |
| linker.macos_x64-mingw_x86 = $targetToolchain.macos_x64-mingw_x86/bin/ld.lld |
| linker.macos_arm64-mingw_x86 = $targetToolchain.macos_arm64-mingw_x86/bin/ld.lld |
| |
| dependencies.mingw_x64-mingw_x86 = \ |
| $toolchainDependency.mingw_x86 \ |
| lld-12.0.1-windows-x64 |
| dependencies.linux_x64-mingw_x86 = \ |
| $toolchainDependency.mingw_x86 |
| dependencies.macos_x64-mingw_x86 = \ |
| $toolchainDependency.mingw_x86 |
| dependencies.macos_arm64-mingw_x86 = \ |
| $toolchainDependency.mingw_x86 |
| |
| targetTriple.mingw_x86 = i686-pc-windows-gnu |
| targetSysRoot.mingw_x86 = $toolchainDependency.mingw_x86 |
| # Make sure that SSE2 is available by setting target-cpu to pentium4 |
| targetCpu.mingw_x86 = pentium4 |
| # 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. |
| clangFlags.mingw_x86 = -cc1 -emit-obj -disable-llvm-passes -x ir -femulated-tls |
| 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++ \ |
| -Wl,--dynamicbase \ |
| -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic |
| mimallocLinkerDependencies.mingw_x86 = -lbcrypt |
| linkerOptimizationFlags.mingw_x86 = -Wl,--gc-sections |
| runtimeDefinitions.mingw_x86 = USE_GCC_UNWIND=1 USE_PE_COFF_SYMBOLS=1 KONAN_WINDOWS=1 \ |
| UNICODE KONAN_X86=1 KONAN_NO_MEMMEM=1 KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # WebAssembly 32-bit. |
| targetToolchain.macos_x64-wasm32 = target-toolchain-3-macos-wasm |
| dependencies.macos_x64-wasm32 = \ |
| target-sysroot-4-embedded \ |
| target-toolchain-3-macos-wasm |
| |
| targetToolchain.macos_arm64-wasm32 = target-toolchain-3-macos-wasm |
| dependencies.macos_arm64-wasm32 = \ |
| target-sysroot-4-embedded \ |
| target-toolchain-3-macos-wasm |
| |
| targetToolchain.linux_x64-wasm32 = target-toolchain-2-linux-wasm |
| dependencies.linux_x64-wasm32 = \ |
| target-sysroot-4-embedded \ |
| target-toolchain-2-linux-wasm |
| |
| targetToolchain.mingw_x64-wasm32 = target-toolchain-2-mingw-wasm |
| dependencies.mingw_x64-wasm32 = \ |
| target-sysroot-4-embedded \ |
| target-toolchain-2-mingw-wasm |
| |
| targetTriple.wasm32 = wasm32-unknown-unknown |
| targetSysRoot.wasm32 = target-sysroot-4-embedded |
| targetCpu.wasm32 = generic |
| 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 --export-dynamic |
| runtimeDefinitions.wasm32 = KONAN_WASM=1 KONAN_NO_FFI=1 KONAN_NO_THREADS=1 \ |
| KONAN_NO_EXCEPTIONS=1 KONAN_INTERNAL_DLMALLOC=1 KONAN_INTERNAL_SNPRINTF=1 \ |
| KONAN_INTERNAL_NOW=1 KONAN_NO_MEMMEM KONAN_NO_CTORS_SECTION=1 KONAN_NO_BACKTRACE=1 \ |
| KONAN_NO_EXTERNAL_CALLS_CHECKER=1 KONAN_FORBID_BUILTIN_MUL_OVERFLOW=1 |
| |
| # The version of Kotlin/Native compiler |
| compilerVersion=@compilerVersion@ |