Support for macos_arm64 target in backend

(cherry picked from commit 82775e93c1389f21f9be97bd0edfd16dd50300ea)
This commit is contained in:
Sergey Bogolepov
2021-01-20 13:19:27 +07:00
committed by Vasily Levchenko
parent 616beedbcf
commit fddf28ac47
10 changed files with 56 additions and 9 deletions
@@ -33,7 +33,7 @@ class AppleConfigurablesImpl(
override val absoluteTargetSysRoot: String get() = when (val provider = xcodePartsProvider) {
is XcodePartsProvider.Local -> when (target) {
KonanTarget.MACOS_X64 -> provider.xcode.macosxSdk
KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64 -> provider.xcode.macosxSdk
KonanTarget.IOS_ARM32, KonanTarget.IOS_ARM64 -> provider.xcode.iphoneosSdk
KonanTarget.IOS_X64 -> provider.xcode.iphonesimulatorSdk
KonanTarget.TVOS_ARM64 -> provider.xcode.appletvosSdk
@@ -95,6 +95,14 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
"-mmacosx-version-min=$osVersionMin"
)
// Here we workaround Clang 8 limitation: macOS major version should be 10.
// So we compile runtime with version 10.16 and then override version in BitcodeCompiler.
// TODO: Fix with LLVM Update.
KonanTarget.MACOS_ARM64 -> listOf(
"-arch", "arm64",
"-mmacosx-version-min=10.16"
)
KonanTarget.IOS_ARM32 -> listOf(
"-stdlib=libc++",
"-arch", "armv7",
@@ -42,7 +42,7 @@ fun loadConfigurables(target: KonanTarget, properties: Properties, baseDir: Stri
KonanTarget.LINUX_MIPS32, KonanTarget.LINUX_MIPSEL32 ->
GccConfigurablesImpl(target, properties, baseDir)
KonanTarget.MACOS_X64,
KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64,
KonanTarget.IOS_ARM32, KonanTarget.IOS_ARM64, KonanTarget.IOS_X64,
KonanTarget.TVOS_ARM64, KonanTarget.TVOS_X64,
KonanTarget.WATCHOS_ARM64, KonanTarget.WATCHOS_ARM32,