blob: 1d44aab9e18ffb20b1d2edf701d370245055f98d [file] [log] [blame]
Kevin Lubick4d413042021-10-20 16:20:42 -04001load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite")
2load(":clang_toolchain_config.bzl", "provide_clang_toolchain_config")
3
4package(default_visibility = ["//visibility:public"])
5
Kevin Lubick1f8c31b2021-11-08 15:26:09 -05006# https://docs.bazel.build/versions/main/be/c-cpp.html#cc_toolchain_suite
Kevin Lubick4d413042021-10-20 16:20:42 -04007cc_toolchain_suite(
8 name = "clang_suite",
9 toolchains = {
Kevin Lubick1f8c31b2021-11-08 15:26:09 -050010 # The key is target_cpu|compiler
Kevin Lubick4d413042021-10-20 16:20:42 -040011 "k8|clang": ":clang_toolchain",
Kevin Lubick1f8c31b2021-11-08 15:26:09 -050012 "x86_64|clang": ":clang_toolchain",
Kevin Lubick4d413042021-10-20 16:20:42 -040013 },
14)
15
16filegroup(name = "not_implemented")
17
18filegroup(
19 name = "all-toolchain-files",
20 srcs = [
21 "ar_trampoline.sh",
22 "clang_trampoline.sh",
23 "lld_trampoline.sh",
Kevin Lubick7a14f782022-01-11 07:35:26 -050024 "@clang_linux_amd64//:all_files",
Kevin Lubick4d413042021-10-20 16:20:42 -040025 ],
26)
27
28provide_clang_toolchain_config(
29 name = "clang_toolchain_config",
30)
31
32cc_toolchain(
33 name = "clang_toolchain",
34 all_files = ":all-toolchain-files",
35 ar_files = ":all-toolchain-files",
36 compiler_files = ":all-toolchain-files",
37 dwp_files = ":not_implemented",
38 linker_files = ":all-toolchain-files",
39 objcopy_files = ":not_implemented",
40 strip_files = ":not_implemented",
41 supports_param_files = 0,
42 toolchain_config = ":clang_toolchain_config",
43 toolchain_identifier = "clang-toolchain",
44)