Kevin Lubick | 4d41304 | 2021-10-20 16:20:42 -0400 | [diff] [blame] | 1 | load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite") |
| 2 | load(":clang_toolchain_config.bzl", "provide_clang_toolchain_config") |
| 3 | |
| 4 | package(default_visibility = ["//visibility:public"]) |
| 5 | |
Kevin Lubick | 1f8c31b | 2021-11-08 15:26:09 -0500 | [diff] [blame] | 6 | # https://docs.bazel.build/versions/main/be/c-cpp.html#cc_toolchain_suite |
Kevin Lubick | 4d41304 | 2021-10-20 16:20:42 -0400 | [diff] [blame] | 7 | cc_toolchain_suite( |
| 8 | name = "clang_suite", |
| 9 | toolchains = { |
Kevin Lubick | 1f8c31b | 2021-11-08 15:26:09 -0500 | [diff] [blame] | 10 | # The key is target_cpu|compiler |
Kevin Lubick | 4d41304 | 2021-10-20 16:20:42 -0400 | [diff] [blame] | 11 | "k8|clang": ":clang_toolchain", |
Kevin Lubick | 1f8c31b | 2021-11-08 15:26:09 -0500 | [diff] [blame] | 12 | "x86_64|clang": ":clang_toolchain", |
Kevin Lubick | 4d41304 | 2021-10-20 16:20:42 -0400 | [diff] [blame] | 13 | }, |
| 14 | ) |
| 15 | |
| 16 | filegroup(name = "not_implemented") |
| 17 | |
| 18 | filegroup( |
| 19 | name = "all-toolchain-files", |
| 20 | srcs = [ |
| 21 | "ar_trampoline.sh", |
| 22 | "clang_trampoline.sh", |
| 23 | "lld_trampoline.sh", |
Kevin Lubick | 7a14f78 | 2022-01-11 07:35:26 -0500 | [diff] [blame^] | 24 | "@clang_linux_amd64//:all_files", |
Kevin Lubick | 4d41304 | 2021-10-20 16:20:42 -0400 | [diff] [blame] | 25 | ], |
| 26 | ) |
| 27 | |
| 28 | provide_clang_toolchain_config( |
| 29 | name = "clang_toolchain_config", |
| 30 | ) |
| 31 | |
| 32 | cc_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 | ) |