Add support for Apple Silicon simulators

This commit is contained in:
Sergey Bogolepov
2021-04-05 19:10:27 +07:00
committed by TeamCityServer
parent 3718907c6a
commit 6ab38c1ff8
3 changed files with 89 additions and 2 deletions
+77
View File
@@ -249,6 +249,32 @@ osVersionMin.ios_x64 = 9.0
runtimeDefinitions.ios_x64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_X64=1 \
KONAN_CORE_SYMBOLICATION=1
# iOS simulator on Apple Silicon
targetToolchain.macos_x64-ios_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
targetToolchain.macos_arm64-ios_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
target-sysroot-xcode_12_2-ios_simulator_arm64.default = \
remote:internal
targetTriple.ios_simulator_arm64 = arm64-apple-ios-simulator
targetSysRoot.ios_simulator_arm64 = target-sysroot-xcode_12_2-ios_x64
targetCpu.ios_simulator_arm64 = cyclone
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
linkerKonanFlags.ios_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 14.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_CORE_SYMBOLICATION=1
# Apple's tvOS simulator.
targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_12_2-macos_x64
targetToolchain.macos_arm64-tvos_x64 = target-toolchain-xcode_12_2-macos_x64
@@ -274,6 +300,31 @@ osVersionMin.tvos_x64 = 9.0
runtimeDefinitions.tvos_x64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_X64=1 \
KONAN_CORE_SYMBOLICATION=1
# Apple's tvOS simulator.
targetToolchain.macos_x64-tvos_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
targetToolchain.macos_arm64-tvos_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
target-sysroot-xcode_12_2-tvos_simulator_arm64.default = \
remote:internal
targetTriple.tvos_simulator_arm64 = arm64-apple-tvos-simulator
targetSysRoot.tvos_simulator_arm64 = target-sysroot-xcode_12_2-tvos_x64
targetCpu.tvos_simulator_arm64 = cyclone
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
linkerKonanFlags.tvos_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 14.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_CORE_SYMBOLICATION=1
# Apple's 64-bit tvOS.
targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_12_2-macos_x64
targetToolchain.macos_arm64-tvos_arm64 = target-toolchain-xcode_12_2-macos_x64
@@ -408,6 +459,32 @@ osVersionMin.watchos_x64 = 7.0
runtimeDefinitions.watchos_x64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 \
KONAN_X64=1 KONAN_CORE_SYMBOLICATION=1
# watchOS Apple Silicon simulator.
targetToolchain.macos_x64-watchos_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
targetToolchain.macos_arm64-watchos_simulator_arm64 = target-toolchain-xcode_12_2-macos_x64
target-sysroot-xcode_12_2-watchos_simulator_arm64.default = \
remote:internal
targetTriple.watchos_simulator_arm64 = arm64-apple-watchos-simulator
targetSysRoot.watchos_simulator_arm64 = target-sysroot-xcode_12_2-watchos_x86
targetCpu.watchos_simulator_arm64 = cyclone
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
linkerKonanFlags.watchos_simulator_arm64 = -lSystem -lc++ -lobjc -framework Foundation -sdk_version 7.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_CORE_SYMBOLICATION=1
# Linux x86-64.
llvmHome.linux_x64 = $llvm.linux_x64.dev
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
@@ -77,12 +77,15 @@ open class HostManager(
IOS_ARM32,
IOS_ARM64,
IOS_X64,
IOS_SIMULATOR_ARM64,
WATCHOS_ARM32,
WATCHOS_ARM64,
WATCHOS_X86,
WATCHOS_X64,
WATCHOS_SIMULATOR_ARM64,
TVOS_ARM64,
TVOS_X64,
TVOS_SIMULATOR_ARM64,
LINUX_X64,
LINUX_ARM32_HFP,
LINUX_ARM64,
@@ -98,12 +101,15 @@ open class HostManager(
IOS_ARM32,
IOS_ARM64,
IOS_X64,
IOS_SIMULATOR_ARM64,
WATCHOS_ARM32,
WATCHOS_ARM64,
WATCHOS_X86,
WATCHOS_X64,
WATCHOS_SIMULATOR_ARM64,
TVOS_ARM64,
TVOS_X64,
TVOS_SIMULATOR_ARM64,
LINUX_X64,
LINUX_ARM32_HFP,
LINUX_ARM64,
@@ -16,12 +16,15 @@ sealed class KonanTarget(override val name: String, val family: Family, val arch
object IOS_ARM32 : KonanTarget("ios_arm32", Family.IOS, Architecture.ARM32)
object IOS_ARM64 : KonanTarget("ios_arm64", Family.IOS, Architecture.ARM64)
object IOS_X64 : KonanTarget("ios_x64", Family.IOS, Architecture.X64)
object IOS_SIMULATOR_ARM64 : KonanTarget("ios_simulator_arm64", Family.IOS, Architecture.ARM64)
object WATCHOS_ARM32 : KonanTarget("watchos_arm32", Family.WATCHOS, Architecture.ARM32)
object WATCHOS_ARM64 : KonanTarget("watchos_arm64", Family.WATCHOS, Architecture.ARM64)
object WATCHOS_X86 : KonanTarget("watchos_x86", Family.WATCHOS, Architecture.X86)
object WATCHOS_X64 : KonanTarget("watchos_x64", Family.WATCHOS, Architecture.X64)
object WATCHOS_SIMULATOR_ARM64 : KonanTarget("watchos_simulator_arm64", Family.WATCHOS, Architecture.ARM64)
object TVOS_ARM64 : KonanTarget("tvos_arm64", Family.TVOS, Architecture.ARM64)
object TVOS_X64 : KonanTarget("tvos_x64", Family.TVOS, Architecture.X64)
object TVOS_SIMULATOR_ARM64 : KonanTarget("tvos_simulator_arm64", Family.TVOS, Architecture.ARM64)
object LINUX_X64 : KonanTarget("linux_x64", Family.LINUX, Architecture.X64)
object MINGW_X86 : KonanTarget("mingw_x86", Family.MINGW, Architecture.X86)
object MINGW_X64 : KonanTarget("mingw_x64", Family.MINGW, Architecture.X64)
@@ -44,9 +47,10 @@ sealed class KonanTarget(override val name: String, val family: Family, val arch
val predefinedTargets: Map<String, KonanTarget> by lazy {
listOf(
ANDROID_X64, ANDROID_X86, ANDROID_ARM32, ANDROID_ARM64,
IOS_ARM32, IOS_ARM64, IOS_X64,
IOS_ARM32, IOS_ARM64, IOS_X64, IOS_SIMULATOR_ARM64,
WATCHOS_ARM32, WATCHOS_ARM64, WATCHOS_X86, WATCHOS_X64,
TVOS_ARM64, TVOS_X64,
WATCHOS_SIMULATOR_ARM64,
TVOS_ARM64, TVOS_X64, TVOS_SIMULATOR_ARM64,
LINUX_X64,
MINGW_X86, MINGW_X64,
MACOS_X64, MACOS_ARM64,