[build] Setup cross-build for ARM64 Mac; still doesn't link.
Bug: https://github.com/dart-lang/sdk/issues/42773
Change-Id: I7f5715952461ea87310dacb8aa37c66692b1aacc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184060
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index ee58748..4afcb19 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -402,8 +402,8 @@
set_default_toolchain("//build/toolchain/linux:$current_cpu")
}
} else if (is_mac) {
- host_toolchain = "//build/toolchain/mac:clang_x64"
- set_default_toolchain(host_toolchain)
+ host_toolchain = "//build/toolchain/mac:clang_$host_cpu"
+ set_default_toolchain("//build/toolchain/mac:clang_$current_cpu")
} else if (is_fuchsia) {
assert(host_os == "linux")
assert(host_cpu == "x64")
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 3e06c16..e6e7c2d 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -92,7 +92,7 @@
}
# Enable mitigations for Cortex-A53 Erratum #843419 bug.
- if (current_cpu == "arm64" && is_clang) {
+ if (current_cpu == "arm64" && is_clang && !is_mac) {
ldflags += [ "-Wl,--fix-cortex-a53-843419" ]
}
diff --git a/build/toolchain/mac/BUILD.gn b/build/toolchain/mac/BUILD.gn
index c6f28d3..2b9c426 100644
--- a/build/toolchain/mac/BUILD.gn
+++ b/build/toolchain/mac/BUILD.gn
@@ -244,3 +244,19 @@
}
sysroot_flags = "-isysroot $mac_sdk_path -mmacosx-version-min=$mac_sdk_min"
}
+
+mac_toolchain("clang_arm64") {
+ toolchain_cpu = "arm64"
+ toolchain_os = "mac"
+ prefix = rebase_path("//buildtools/mac-x64/clang/bin", root_build_dir)
+ cc = "${goma_prefix}$prefix/clang"
+ cxx = "${goma_prefix}$prefix/clang++"
+ ar = "${prefix}/llvm-ar"
+ ld = cxx
+ strip = "strip"
+ is_clang = true
+ if (mac_enable_relative_sdk_path) {
+ mac_sdk_path = rebase_path(mac_sdk_path, root_build_dir)
+ }
+ sysroot_flags = "-isysroot $mac_sdk_path -mmacosx-version-min=$mac_sdk_min"
+}