diff options
author | Zach Yu <zachyu@google.com> | 2023-05-09 00:48:06 -0700 |
---|---|---|
committer | Zach Yu <zachyu@google.com> | 2023-05-11 14:45:23 -0700 |
commit | 7d93336cf61cab7a67a25b54e7d6583a07cbeff3 (patch) | |
tree | c3129ec1a5885d2b6ef2aaa843694fd8cd6818d5 /toolchains/cc/mac_clang | |
parent | 1831fbf8d454aa37c6754f6b632525540569d1b1 (diff) | |
download | bazel-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.bazel | 64 |
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", +) |