Switch to a preconfigured Clang for k8 and armv7

This one reuses more of Bazel's builtin features to remain up to date
more easily, and it's easier to expand support for more platforms. This
also takes care of upgrading to a newer Clang.

This will require updating to raspios bullseye on the Raspberry Pis.
This also renames armhf-debian to armv7 to match the broader Bazel
ecosystem's name for this architecture.

Change-Id: I3e2a4f4efea43e76314ca34a9293c7b4b45edd2c
Signed-off-by: Brian Silverman <bsilver16834@gmail.com>
diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index 0fe1512..17f218e 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -5,8 +5,8 @@
 cc_toolchain_suite(
     name = "toolchain",
     toolchains = {
-        "k8": ":cc-compiler-k8",
-        "armhf-debian": ":cc-compiler-armhf-debian",
+        "k8": "@llvm_toolchain//:cc-clang-x86_64-linux",
+        "armv7": "@llvm_toolchain//:cc-clang-armv7-linux",
         "roborio": ":cc-compiler-roborio",
         "cortex-m4f": ":cc-compiler-cortex-m4f",
         "rp2040": ":cc-compiler-rp2040",
@@ -21,11 +21,9 @@
     )
     for cpu in [
         "armeabi-v7a",
-        "armhf-debian",
         "cortex-m4f",
         "cortex-m4f-k22",
         "rp2040",
-        "k8",
         "roborio",
     ]
 ]
@@ -74,83 +72,6 @@
 )
 
 filegroup(
-    name = "clang_6p0_all_files",
-    srcs = [
-        ":flags_compiler_inputs",
-        "//tools/cpp/clang_6p0:as",
-        "//tools/cpp/clang_6p0:tool-wrappers",
-        "@clang_6p0_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "clang_6p0_ar_files",
-    srcs = [
-        "//tools/cpp/clang_6p0:ar",
-        "@clang_6p0_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "clang_6p0_linker_files",
-    srcs = [
-        "//tools/cpp/clang_6p0:ar",
-        "//tools/cpp/clang_6p0:clang",
-        "//tools/cpp/clang_6p0:clang-symlinks",
-        "//tools/cpp/clang_6p0:ld",
-        "@clang_6p0_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "clang_6p0_strip_files",
-    srcs = [
-        "//tools/cpp/clang_6p0:strip",
-        "@clang_6p0_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "clang_6p0_compiler_files",
-    srcs = [
-        "flags_compiler_inputs",
-        "//tools/cpp/clang_6p0:clang",
-        "//tools/cpp/clang_6p0:ld",
-        "@clang_6p0_repo//:compiler_components",
-        "@clang_6p0_repo//:compiler_pieces",
-    ],
-)
-
-cc_toolchain(
-    name = "cc-compiler-k8",
-    all_files = ":clang_6p0_all_files",
-    ar_files = ":clang_6p0_ar_files",
-    as_files = ":clang_6p0_compiler_files",
-    compiler_files = ":clang_6p0_compiler_files",
-    dwp_files = ":empty",
-    linker_files = ":clang_6p0_linker_files",
-    objcopy_files = "//tools/cpp/clang_6p0:objcopy",
-    strip_files = ":clang_6p0_strip_files",
-    supports_param_files = 1,
-    toolchain_config = ":k8_toolchain_config",
-    toolchain_identifier = "k8_linux",
-)
-
-toolchain(
-    name = "cc-toolchain-k8",
-    exec_compatible_with = [
-        "@platforms//os:linux",
-        "@platforms//cpu:x86_64",
-    ],
-    target_compatible_with = [
-        "@platforms//os:linux",
-        "@platforms//cpu:x86_64",
-    ],
-    toolchain = ":cc-compiler-k8",
-    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
-)
-
-filegroup(
     name = "roborio-compiler-files",
     srcs = [
         ":flags_compiler_inputs",
@@ -227,87 +148,6 @@
 )
 
 filegroup(
-    name = "linaro-gcc-files",
-    srcs = [
-        ":clang_6p0_all_files",
-        "//tools/cpp/linaro_linux_gcc:clang-symlinks",
-        "//tools/cpp/linaro_linux_gcc:tool-wrappers",
-        "@linaro_linux_gcc_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "linaro_linux_linker_files",
-    srcs = [
-        ":clang_6p0_linker_files",
-        "//tools/cpp/linaro_linux_gcc:ar",
-        "//tools/cpp/linaro_linux_gcc:clang",
-        "//tools/cpp/linaro_linux_gcc:clang-ld",
-        "//tools/cpp/linaro_linux_gcc:clang-symlinks",
-        "//tools/cpp/linaro_linux_gcc:gcc",
-        "//tools/cpp/linaro_linux_gcc:ld",
-        "@linaro_linux_gcc_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "linaro_linux_ar_files",
-    srcs = [
-        "//tools/cpp/linaro_linux_gcc:ar",
-        "@linaro_linux_gcc_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "linaro_linux_compiler_files",
-    srcs = [
-        ":clang_6p0_compiler_files",
-        "//tools/cpp/linaro_linux_gcc:as",
-        "//tools/cpp/linaro_linux_gcc:clang",
-        "//tools/cpp/linaro_linux_gcc:gcc",
-        "//tools/cpp/linaro_linux_gcc:ld",
-        "@linaro_linux_gcc_repo//:compiler_pieces",
-    ],
-)
-
-filegroup(
-    name = "linaro_linux_strip_files",
-    srcs = [
-        "//tools/cpp/linaro_linux_gcc:strip",
-        "@linaro_linux_gcc_repo//:compiler_pieces",
-    ],
-)
-
-cc_toolchain(
-    name = "cc-compiler-armhf-debian",
-    all_files = ":linaro-gcc-files",
-    ar_files = "linaro_linux_ar_files",
-    as_files = "linaro_linux_compiler_files",
-    compiler_files = ":linaro_linux_compiler_files",
-    dwp_files = ":empty",
-    linker_files = ":linaro_linux_linker_files",
-    objcopy_files = "//tools/cpp/linaro_linux_gcc:objcopy",
-    strip_files = ":linaro_linux_strip_files",
-    supports_param_files = 1,
-    toolchain_config = ":armhf-debian_toolchain_config",
-    toolchain_identifier = "clang_linux_armhf",
-)
-
-toolchain(
-    name = "cc-toolchain-armhf-debian",
-    exec_compatible_with = [
-        "@platforms//os:linux",
-        "@platforms//cpu:x86_64",
-    ],
-    target_compatible_with = [
-        "@platforms//os:linux",
-        "//tools/platforms/hardware:raspberry_pi",
-    ],
-    toolchain = ":cc-compiler-armhf-debian",
-    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
-)
-
-filegroup(
     name = "gcc_arm_none_eabi_none_files",
     srcs = [
         "//tools/cpp/gcc_arm_none_eabi:tool-wrappers",