aboutsummaryrefslogtreecommitdiff
path: root/toolchains/cc/mac_clang
diff options
context:
space:
mode:
authorZach Yu <zachyu@google.com>2023-05-09 00:48:06 -0700
committerZach Yu <zachyu@google.com>2023-05-11 14:45:23 -0700
commit7d93336cf61cab7a67a25b54e7d6583a07cbeff3 (patch)
treec3129ec1a5885d2b6ef2aaa843694fd8cd6818d5 /toolchains/cc/mac_clang
parent1831fbf8d454aa37c6754f6b632525540569d1b1 (diff)
downloadbazel-7d93336cf61cab7a67a25b54e7d6583a07cbeff3.tar.gz
Add toolchain for mac_arm64 targets.
Test: bazel build @com_github_grpc_grpc//:grpc Bug: 274512969 Change-Id: I1a41c173aa3f7e668fa0030f9969d83453eac0f7
Diffstat (limited to 'toolchains/cc/mac_clang')
-rw-r--r--toolchains/cc/mac_clang/BUILD.bazel64
1 files changed, 64 insertions, 0 deletions
diff --git a/toolchains/cc/mac_clang/BUILD.bazel b/toolchains/cc/mac_clang/BUILD.bazel
index ea287fe0..bda507aa 100644
--- a/toolchains/cc/mac_clang/BUILD.bazel
+++ b/toolchains/cc/mac_clang/BUILD.bazel
@@ -94,3 +94,67 @@ toolchain(
toolchain = ":x64",
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
+
+cc_features(
+ name = "arm64_features",
+ compile_flags = [
+ "--target=arm64e-apple-darwin-macho",
+ "-no-canonical-prefixes",
+ "-Wno-builtin-macro-redefined",
+ "-D__DATE__=\"redacted\"",
+ "-D__TIMESTAMP__=\"redacted\"",
+ "-D__TIME__=\"redacted\"",
+ ],
+ link_flags = [
+ "--target=arm64e-apple-darwin-macho",
+ "-undefined dynamic_lookup",
+ "-fuse-ld=lld",
+ ],
+ toolchain_imports = _imports,
+)
+
+cc_toolchain_config(
+ name = "arm64_config",
+ artifact_name_patterns = [":dylib"],
+ cc_features = ":arm64_features",
+ cc_tools = [
+ "@clang//:macos_all_clang",
+ "@clang//:macos_all_clang++",
+ "@clang//:macos_all_archiver",
+ "@clang//:macos_all_strip",
+ ],
+ identifier = "macos_clang_arm64",
+ sysroot = "@macos_sdk//:sdk",
+ target_cpu = "arm64",
+ toolchain_imports = _imports,
+)
+
+cc_toolchain(
+ name = "arm64",
+ all_files = ":arm64_config",
+ ar_files = "@clang//:macos_all_archiver",
+ as_files = "@clang//:macos_all_clang",
+ compiler_files = ":arm64_config",
+ dwp_files = "@//build/bazel/toolchains/cc:empty",
+ dynamic_runtime_lib = ":dynamic_runtime",
+ linker_files = ":arm64_config",
+ objcopy_files = "@//build/bazel/toolchains/cc:empty",
+ static_runtime_lib = ":static_runtime",
+ strip_files = "@clang//:macos_all_strip",
+ supports_param_files = 1,
+ toolchain_config = ":arm64_config",
+)
+
+toolchain(
+ name = "arm64_toolchain",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@bazel_tools//tools/cpp:clang",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:arm64",
+ "@platforms//os:macos",
+ ],
+ toolchain = ":arm64",
+ toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
+)