Add Darwin+Arm64 toolchain support
This just sets up the toolchain and allows Darwin+Arm64 to be specified as a HostCross target. These variants will not be exported to Make, or be installed on a Soong-only build. A future CL will add support for universal binaries using these variants. This config is a bit stranger than the regular 64/32 multilib, as it's two primary 64-bit configs. And on a Darwin/X86 machine, the Arm64 versions are HostCross (doesn't work on the current machines), while a Darwin/Arm64 machine, either version works (if Rosetta is installed). Bug: 203607969 Change-Id: Iacaed77d267773672da027cd74917e33fb1c1e94
This commit is contained in:
@@ -308,7 +308,7 @@ var (
|
||||
// LinuxMusl is the OS for the Linux kernel plus the musl runtime.
|
||||
LinuxMusl = newOsType("linux_musl", Host, false, X86, X86_64)
|
||||
// Darwin is the OS for MacOS/Darwin host machines.
|
||||
Darwin = newOsType("darwin", Host, false, X86_64)
|
||||
Darwin = newOsType("darwin", Host, false, Arm64, X86_64)
|
||||
// LinuxBionic is the OS for the Linux kernel plus the Bionic libc runtime, but without the
|
||||
// rest of Android.
|
||||
LinuxBionic = newOsType("linux_bionic", Host, false, Arm64, X86_64)
|
||||
@@ -696,6 +696,11 @@ func archMutator(bpctx blueprint.BottomUpMutatorContext) {
|
||||
for i, m := range modules {
|
||||
addTargetProperties(m, targets[i], multiTargets, i == 0)
|
||||
m.base().setArchProperties(mctx)
|
||||
|
||||
// Install support doesn't understand Darwin+Arm64
|
||||
if os == Darwin && targets[i].HostCross {
|
||||
m.base().commonProperties.SkipInstall = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user