diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index fd41261..d370750 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -1,5 +1,14 @@
+load(":toolchain_config.bzl", "cc_toolchain_config")
+
 package(default_visibility = ["//visibility:public"])
 
+[cc_toolchain_config(
+    name = "{}_toolchain_config".format(cpu),
+    cpu = cpu,
+) for cpu in
+    ["armeabi-v7a", "armhf-debian", "cortex-m4f", "cortex-m4f-k22", "k8", "roborio"]
+]
+
 cc_library(
     name = "empty_main",
     srcs = ["empty_main.c"],
@@ -29,11 +38,11 @@
 cc_toolchain_suite(
     name = "toolchain",
     toolchains = {
-        "k8|clang": ":cc-compiler-k8",
-        "roborio|gcc": ":cc-compiler-roborio",
-        "armhf-debian|clang": "cc-compiler-armhf-debian",
-        "cortex-m4f|gcc": "cc-compiler-cortex-m4f",
-        "cortex-m4f-k22|gcc": "cc-compiler-cortex-m4f-k22",
+        "k8": ":cc-compiler-k8",
+        "roborio": ":cc-compiler-roborio",
+        "armhf-debian": "cc-compiler-armhf-debian",
+        "cortex-m4f": "cc-compiler-cortex-m4f",
+        "cortex-m4f-k22": "cc-compiler-cortex-m4f-k22",
     },
 )
 
@@ -62,6 +71,14 @@
 )
 
 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",
@@ -95,15 +112,15 @@
     name = "cc-compiler-k8",
     all_files = ":clang_6p0_all_files",
     compiler_files = ":clang_6p0_compiler_files",
-    cpu = "k8",
     dwp_files = ":empty",
-    dynamic_runtime_libs = [":empty"],
     linker_files = ":clang_6p0_linker_files",
+    ar_files = ":clang_6p0_ar_files",
+    as_files = ":clang_6p0_compiler_files",
     objcopy_files = "//tools/cpp/clang_6p0:objcopy",
-    static_runtime_libs = [":empty"],
     strip_files = ":clang_6p0_strip_files",
     supports_param_files = 1,
     toolchain_identifier = "k8_linux",
+    toolchain_config = ":k8_toolchain_config",
 )
 
 filegroup(
@@ -128,6 +145,14 @@
 )
 
 filegroup(
+    name = "roborio_ar_files",
+    srcs = [
+        "//tools/cpp/arm-frc-linux-gnueabi:ar",
+        "@arm_frc_linux_gnueabi_repo//:compiler_pieces",
+    ],
+)
+
+filegroup(
     name = "roborio_compiler_files",
     srcs = [
         "//tools/cpp/arm-frc-linux-gnueabi:gcc",
@@ -149,15 +174,15 @@
     name = "cc-compiler-roborio",
     all_files = ":roborio-compiler-files",
     compiler_files = ":roborio_compiler_files",
-    cpu = "roborio",
     dwp_files = ":empty",
-    dynamic_runtime_libs = [":empty"],
     linker_files = ":roborio_linker_files",
+    ar_files = ":roborio_ar_files",
+    as_files = ":roborio_compiler_files",
     objcopy_files = "//tools/cpp/arm-frc-linux-gnueabi:objcopy",
-    static_runtime_libs = [":empty"],
     strip_files = ":roborio_strip_files",
     supports_param_files = 1,
     toolchain_identifier = "roborio_linux",
+    toolchain_config = ":roborio_toolchain_config",
 )
 
 filegroup(
@@ -185,6 +210,14 @@
 )
 
 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",
@@ -208,15 +241,15 @@
     name = "cc-compiler-armhf-debian",
     all_files = ":linaro-gcc-files",
     compiler_files = ":linaro_linux_compiler_files",
-    cpu = "armhf",
     dwp_files = ":empty",
-    dynamic_runtime_libs = [":empty"],
     linker_files = ":linaro_linux_linker_files",
+    ar_files = "linaro_linux_ar_files",
+    as_files = "linaro_linux_compiler_files",
     objcopy_files = "//tools/cpp/linaro_linux_gcc:objcopy",
-    static_runtime_libs = [":empty"],
     strip_files = ":linaro_linux_strip_files",
     supports_param_files = 1,
     toolchain_identifier = "clang_linux_armhf",
+    toolchain_config = ":armhf-debian_toolchain_config",
 )
 
 filegroup(
@@ -233,6 +266,7 @@
         "//tools/cpp/gcc_arm_none_eabi:as",
         "//tools/cpp/gcc_arm_none_eabi:gcc",
         "//tools/cpp/gcc_arm_none_eabi:ld",
+        "@gcc_arm_none_eabi//:compiler_pieces",
     ],
 )
 
@@ -247,41 +281,37 @@
     ],
 )
 
+filegroup(
+    name = "gcc_arm_none_eabi_ar_files",
+    srcs = [
+        "//tools/cpp/gcc_arm_none_eabi:ar",
+        "@gcc_arm_none_eabi//:compiler_pieces",
+    ],
+)
+
 cc_toolchain(
     name = "cc-compiler-cortex-m4f",
     all_files = ":gcc_arm_none_eabi_none_files",
     compiler_files = ":gcc_arm_none_eabi_compiler_files",
-    cpu = "cortex-m4f",
     dwp_files = ":empty",
-    dynamic_runtime_libs = [":empty"],
     linker_files = ":gcc_arm_none_eabi_linker_files",
+    ar_files = ":gcc_arm_none_eabi_ar_files",
     objcopy_files = "//tools/cpp/gcc_arm_none_eabi:objcopy",
-    static_runtime_libs = [":empty"],
     strip_files = "//tools/cpp/gcc_arm_none_eabi:strip",
     supports_param_files = 1,
     toolchain_identifier = "cortex-m4f",
+    toolchain_config = ":cortex-m4f_toolchain_config",
 )
 
 cc_toolchain(
     name = "cc-compiler-cortex-m4f-k22",
     all_files = ":gcc_arm_none_eabi_none_files",
     compiler_files = ":gcc_arm_none_eabi_compiler_files",
-    cpu = "cortex-m4f-k22",
     dwp_files = ":empty",
-    dynamic_runtime_libs = [":empty"],
     linker_files = ":gcc_arm_none_eabi_linker_files",
     objcopy_files = ":empty",
-    static_runtime_libs = [":empty"],
     strip_files = ":empty",
     supports_param_files = 1,
     toolchain_identifier = "cortex-m4f-k22",
-)
-
-py_binary(
-    name = "gen_crosstool",
-    srcs = ["gen_crosstool.py"],
-    main = "gen_crosstool.py",
-    deps = [
-        "//third_party/bazel:crosstool_config_proto_py",
-    ],
+    toolchain_config = ":cortex-m4f-k22_toolchain_config",
 )
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
deleted file mode 100644
index c050873..0000000
--- a/tools/cpp/CROSSTOOL
+++ /dev/null
@@ -1,1362 +0,0 @@
-# GENERATED FILE. DO NOT EDIT
-# Generated by tools/cpp/gen_crosstool.py
-major_version: "local"
-minor_version: ""
-default_target_cpu: "same_as_host"
-default_toolchain {
-  cpu: "roborio"
-  toolchain_identifier: "roborio_linux"
-}
-default_toolchain {
-  cpu: "k8"
-  toolchain_identifier: "k8_linux"
-}
-default_toolchain {
-  cpu: "armeabi-v7a"
-  toolchain_identifier: "stub_armeabi-v7a"
-}
-default_toolchain {
-  cpu: "armhf-debian"
-  toolchain_identifier: "clang_linux_armhf"
-}
-default_toolchain {
-  cpu: "cortex-m4f"
-  toolchain_identifier: "cortex-m4f"
-}
-default_toolchain {
-  cpu: "cortex-m4f-k22"
-  toolchain_identifier: "cortex-m4f-k22"
-}
-toolchain {
-  toolchain_identifier: "stub_armeabi-v7a"
-  host_system_name: "armeabi-v7a"
-  target_system_name: "armeabi-v7a"
-  target_cpu: "armeabi-v7a"
-  target_libc: "armeabi-v7a"
-  compiler: "compiler"
-  abi_version: "armeabi-v7a"
-  abi_libc_version: "armeabi-v7a"
-  tool_path {
-    name: "ar"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "cpp"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "dwp"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "gcc"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "gcov"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "ld"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "nm"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "objdump"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "strip"
-    path: "/bin/false"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: false
-  needsPic: true
-  builtin_sysroot: ""
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-}
-toolchain {
-  toolchain_identifier: "k8_linux"
-  host_system_name: "local"
-  target_system_name: "k8"
-  target_cpu: "k8"
-  target_libc: "local"
-  compiler: "clang"
-  abi_version: "local"
-  abi_libc_version: "local"
-  tool_path {
-    name: "ar"
-    path: "clang_6p0/x86_64-linux-gnu-ar"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "clang_6p0/x86_64-linux-gnu-ld"
-  }
-  tool_path {
-    name: "cpp"
-    path: "clang_6p0/x86_64-linux-gnu-cpp"
-  }
-  tool_path {
-    name: "dwp"
-    path: "clang_6p0/x86_64-linux-gnu-dwp"
-  }
-  tool_path {
-    name: "gcc"
-    path: "clang_6p0/x86_64-linux-gnu-clang-6.0"
-  }
-  tool_path {
-    name: "gcov"
-    path: "clang_6p0/x86_64-linux-gnu-gcov"
-  }
-  tool_path {
-    name: "ld"
-    path: "clang_6p0/x86_64-linux-gnu-ld"
-  }
-  tool_path {
-    name: "nm"
-    path: "clang_6p0/x86_64-linux-gnu-nm"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "clang_6p0/x86_64-linux-gnu-objcopy"
-  }
-  tool_path {
-    name: "objdump"
-    path: "clang_6p0/x86_64-linux-gnu-objdump"
-  }
-  tool_path {
-    name: "strip"
-    path: "clang_6p0/x86_64-linux-gnu-strip"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: false
-  needsPic: true
-  compiler_flag: "--sysroot=external/amd64_debian_sysroot"
-  compiler_flag: "-nostdinc"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/c++/7"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu/c++/7"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/c++/8/backward"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/8/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/clang_6p0_repo/usr/lib/llvm-6.0/lib/clang/6.0.0/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include"
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D_FILE_OFFSET_BITS=64"
-  compiler_flag: "-DAOS_ARCHITECTURE_arm_frc"
-  compiler_flag: "-U_FORTIFY_SOURCE"
-  compiler_flag: "-D_FORTIFY_SOURCE=1"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-fPIE"
-  compiler_flag: "-fcolor-diagnostics"
-  compiler_flag: "-fmessage-length=80"
-  compiler_flag: "-fmacro-backtrace-limit=0"
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wstrict-aliasing"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wcast-align"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-  compiler_flag: "-fno-omit-frame-pointer"
-  compiler_flag: "-pipe"
-  compiler_flag: "-ggdb3"
-  linker_flag: "-nodefaultlibs"
-  linker_flag: "--sysroot=external/amd64_debian_sysroot"
-  linker_flag: "-lstdc++"
-  linker_flag: "-lc"
-  linker_flag: "-lgcc"
-  linker_flag: "-lgcc_s"
-  linker_flag: "-Bexternal/clang_6p0_repo/usr/bin/"
-  linker_flag: "-Ltools/cpp/clang_6p0/clang_more_libs"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/7/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/x86_64-linux-gnu/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/lib/x86_64-linux-gnu/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/lib/"
-  linker_flag: "-no-canonical-prefixes"
-  linker_flag: "-fuse-ld=gold"
-  linker_flag: "-Wl,-z,relro,-z,now"
-  linker_flag: "-lm"
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  linker_flag: "-Wl,--warn-execstack"
-  linker_flag: "-Wl,--detect-odr-violations"
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  compilation_mode_flags {
-    mode: OPT
-    compiler_flag: "-O2"
-    compiler_flag: "-DNDEBUG"
-    compiler_flag: "-ffunction-sections"
-    compiler_flag: "-fdata-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  linking_mode_flags {
-    mode: DYNAMIC
-  }
-  cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include-fixed"
-  builtin_sysroot: ""
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-  unfiltered_cxx_flag: "-Wno-varargs"
-  unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
-  unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-  feature {
-    name: "opt"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "fastbuild"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-      }
-    }
-  }
-  feature {
-    name: "pie_for_linking"
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-    enabled: true
-  }
-}
-toolchain {
-  toolchain_identifier: "roborio_linux"
-  host_system_name: "roborio"
-  target_system_name: "roborio"
-  target_cpu: "roborio"
-  target_libc: "roborio"
-  compiler: "gcc"
-  abi_version: "roborio"
-  abi_libc_version: "roborio"
-  tool_path {
-    name: "ar"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ar"
-  }
-  tool_path {
-    name: "as"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-as"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld"
-  }
-  tool_path {
-    name: "cpp"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-cpp"
-  }
-  tool_path {
-    name: "dwp"
-    path: "/bin/false"
-  }
-  tool_path {
-    name: "gcc"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcc"
-  }
-  tool_path {
-    name: "gcov"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9"
-  }
-  tool_path {
-    name: "ld"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld"
-  }
-  tool_path {
-    name: "nm"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-nm"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objcopy"
-  }
-  tool_path {
-    name: "objdump"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objdump"
-  }
-  tool_path {
-    name: "strip"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-strip"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: false
-  needsPic: true
-  linker_flag: "-lstdc++"
-  linker_flag: "-Ltools/cpp/arm-frc-linux-gnueabi/libs"
-  linker_flag: "-no-canonical-prefixes"
-  linker_flag: "-Wl,-z,relro,-z,now"
-  linker_flag: "-lm"
-  linker_flag: "-pass-exit-codes"
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  linking_mode_flags {
-    mode: DYNAMIC
-  }
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%"
-  builtin_sysroot: ""
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-  feature {
-    name: "compile_flags1"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      action: "lto-backend"
-      action: "clif-match"
-      flag_group {
-        flag: "--sysroot=external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi"
-        flag: "-nostdinc"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed"
-      }
-    }
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      flag_group {
-        flag: "-fno-canonical-system-headers"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      flag_group {
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward"
-      }
-    }
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      action: "lto-backend"
-      action: "clif-match"
-      flag_group {
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include"
-        flag: "-mfpu=neon"
-        flag: "-D__STDC_FORMAT_MACROS"
-        flag: "-D__STDC_CONSTANT_MACROS"
-        flag: "-D__STDC_LIMIT_MACROS"
-        flag: "-D_FILE_OFFSET_BITS=64"
-        flag: "-DAOS_ARCHITECTURE_arm_frc"
-        flag: "-U_FORTIFY_SOURCE"
-        flag: "-fstack-protector"
-        flag: "-fPIE"
-        flag: "-fdiagnostics-color=always"
-        flag: "-Wall"
-        flag: "-Wextra"
-        flag: "-Wpointer-arith"
-        flag: "-Wstrict-aliasing"
-        flag: "-Wcast-qual"
-        flag: "-Wwrite-strings"
-        flag: "-Wtype-limits"
-        flag: "-Wsign-compare"
-        flag: "-Wformat=2"
-        flag: "-Werror"
-        flag: "-Wunused-local-typedefs"
-        flag: "-Wno-psabi"
-        flag: "-fno-omit-frame-pointer"
-        flag: "-D__has_feature(x)=0"
-        flag: "-pipe"
-        flag: "-ggdb3"
-      }
-    }
-    enabled: true
-  }
-  feature {
-    name: "opt"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-compile"
-      action: "objc-compile"
-      action: "objc++-compile"
-      action: "c++-header-parsing"
-      action: "linkstamp-compile"
-      flag_group {
-        flag: "-O2"
-        flag: "-DNDEBUG"
-        flag: "-D_FORTIFY_SOURCE=1"
-        flag: "-ffunction-sections"
-        flag: "-fdata-sections"
-      }
-    }
-    flag_set {
-      action: "c++-link-executable"
-      action: "c++-link-nodeps-dynamic-library"
-      action: "c++-link-dynamic-library"
-      flag_group {
-        flag: "-Wl,--gc-sections"
-      }
-    }
-    implies: "opt_post"
-  }
-  feature {
-    name: "dependency_file"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-compile"
-      action: "objc-compile"
-      action: "objc++-compile"
-      action: "c++-header-parsing"
-      action: "clif-match"
-      flag_group {
-        flag: "-MD"
-        flag: "-MF"
-        flag: "%{dependency_file}"
-      }
-      expand_if_all_available: "dependency_file"
-    }
-  }
-  feature {
-    name: "random_seed"
-    flag_set {
-      action: "c++-compile"
-      action: "c++-module-codegen"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-frandom-seed=%{output_file}"
-        expand_if_all_available: "output_file"
-      }
-    }
-  }
-  feature {
-    name: "pic"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "linkstamp-compile"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-codegen"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-fPIC"
-      }
-      expand_if_all_available: "pic"
-    }
-  }
-  feature {
-    name: "preprocessor_defines"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "linkstamp-compile"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "clif-match"
-      flag_group {
-        flag: "-D%{preprocessor_defines}"
-        iterate_over: "preprocessor_defines"
-      }
-    }
-  }
-  feature {
-    name: "include_paths"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-iquote"
-        flag: "%{quote_include_paths}"
-        iterate_over: "quote_include_paths"
-      }
-      flag_group {
-        flag: "-I%{include_paths}"
-        iterate_over: "include_paths"
-      }
-      flag_group {
-        flag: "-isystem"
-        flag: "%{system_include_paths}"
-        iterate_over: "system_include_paths"
-      }
-    }
-  }
-  feature {
-    name: "opt_post"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-  }
-  feature {
-    name: "fastbuild"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-        flag: "-fno-sized-deallocation"
-      }
-    }
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c++-link"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      action: "c-compile"
-      flag_group {
-        flag: "-pthread"
-      }
-    }
-    enabled: true
-  }
-  feature {
-    name: "pie_for_linking"
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-    enabled: true
-  }
-}
-toolchain {
-  toolchain_identifier: "clang_linux_armhf"
-  host_system_name: "linux"
-  target_system_name: "arm_a15"
-  target_cpu: "armhf-debian"
-  target_libc: "glibc_2.19"
-  compiler: "clang"
-  abi_version: "clang_6.0"
-  abi_libc_version: "glibc_2.19"
-  tool_path {
-    name: "ar"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-ar"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-ld"
-  }
-  tool_path {
-    name: "cpp"
-    path: "linaro_linux_gcc/clang_bin/clang"
-  }
-  tool_path {
-    name: "dwp"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-dwp"
-  }
-  tool_path {
-    name: "gcc"
-    path: "linaro_linux_gcc/clang_bin/clang"
-  }
-  tool_path {
-    name: "gcov"
-    path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9"
-  }
-  tool_path {
-    name: "ld"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-ld"
-  }
-  tool_path {
-    name: "nm"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-nm"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-objcopy"
-  }
-  tool_path {
-    name: "objdump"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-objdump"
-  }
-  tool_path {
-    name: "strip"
-    path: "linaro_linux_gcc/arm-linux-gnueabihf-strip"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: true
-  needsPic: true
-  compiler_flag: "-target"
-  compiler_flag: "armv7a-arm-linux-gnueabif"
-  compiler_flag: "--sysroot=external/armhf_debian_rootfs"
-  compiler_flag: "-mfloat-abi=hard"
-  compiler_flag: "-mfpu=vfpv3-d16"
-  compiler_flag: "-nostdinc"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/armhf_debian_rootfs/usr/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/armhf_debian_rootfs/usr/include/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/org_frc971/third_party"
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D_FILE_OFFSET_BITS=64"
-  compiler_flag: "-DAOS_ARCHITECTURE_armhf"
-  compiler_flag: "-U_FORTIFY_SOURCE"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-fPIE"
-  compiler_flag: "-fdiagnostics-color=always"
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wstrict-aliasing"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wcast-align"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-  compiler_flag: "-Wunused-local-typedefs"
-  compiler_flag: "-fno-omit-frame-pointer"
-  compiler_flag: "-pipe"
-  compiler_flag: "-ggdb3"
-  linker_flag: "-target"
-  linker_flag: "armv7a-arm-linux-gnueabif"
-  linker_flag: "--sysroot=external/armhf_debian_rootfs"
-  linker_flag: "-lstdc++"
-  linker_flag: "-Ltools/cpp/linaro_linux_gcc/clang_more_libs"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib/gcc/arm-linux-gnueabihf/8"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/lib/arm-linux-gnueabihf"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib/arm-linux-gnueabihf"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/lib"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib"
-  linker_flag: "-Lexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
-  linker_flag: "-Bexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
-  linker_flag: "-Bexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/bin"
-  linker_flag: "-Wl,--dynamic-linker=/lib/ld-linux-armhf.so.3"
-  linker_flag: "-no-canonical-prefixes"
-  linker_flag: "-Wl,-z,relro,-z,now"
-  linker_flag: "-lm"
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  compilation_mode_flags {
-    mode: OPT
-    compiler_flag: "-O2"
-    compiler_flag: "-DNDEBUG"
-    compiler_flag: "-D_FORTIFY_SOURCE=1"
-    compiler_flag: "-ffunction-sections"
-    compiler_flag: "-fdata-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  linking_mode_flags {
-    mode: DYNAMIC
-  }
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%"
-  cxx_builtin_include_directory: "%package(@armhf_debian_rootfs//usr/include)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1"
-  builtin_sysroot: ""
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
-  unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
-  unfiltered_cxx_flag: "-Wno-varargs"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-  supports_normalizing_ar: true
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-  feature {
-    name: "opt"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "fastbuild"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-      }
-    }
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c++-link"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      action: "c-compile"
-      flag_group {
-        flag: "-pthread"
-      }
-    }
-  }
-  feature {
-    name: "pie_for_linking"
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-    enabled: true
-  }
-}
-toolchain {
-  toolchain_identifier: "cortex-m4f"
-  host_system_name: "local"
-  target_system_name: "cortex-m4f"
-  target_cpu: "cortex-m4f"
-  target_libc: "cortex-m4f"
-  compiler: "gcc"
-  abi_version: "cortex-m4f"
-  abi_libc_version: "cortex-m4f"
-  tool_path {
-    name: "ar"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ar"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ld"
-  }
-  tool_path {
-    name: "cpp"
-    path: "gcc_arm_none_eabi/arm-none-eabi-cpp"
-  }
-  tool_path {
-    name: "dwp"
-    path: "gcc_arm_none_eabi/arm-none-eabi-dwp"
-  }
-  tool_path {
-    name: "gcc"
-    path: "gcc_arm_none_eabi/arm-none-eabi-gcc"
-  }
-  tool_path {
-    name: "gcov"
-    path: "gcc_arm_none_eabi/arm-none-eabi-gcov"
-  }
-  tool_path {
-    name: "ld"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ld"
-  }
-  tool_path {
-    name: "nm"
-    path: "gcc_arm_none_eabi/arm-none-eabi-nm"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "gcc_arm_none_eabi/arm-none-eabi-objcopy"
-  }
-  tool_path {
-    name: "objdump"
-    path: "gcc_arm_none_eabi/arm-none-eabi-objdump"
-  }
-  tool_path {
-    name: "strip"
-    path: "gcc_arm_none_eabi/arm-none-eabi-strip"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: false
-  needsPic: false
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D__MK64FX512__"
-  compiler_flag: "-DF_CPU=120000000"
-  compiler_flag: "-Wl,--gc-sections"
-  compiler_flag: "-D__have_long32"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-mcpu=cortex-m4"
-  compiler_flag: "-mfpu=fpv4-sp-d16"
-  compiler_flag: "-mthumb"
-  compiler_flag: "-mfloat-abi=hard"
-  compiler_flag: "-fno-strict-aliasing"
-  compiler_flag: "-fmessage-length=80"
-  compiler_flag: "-fmax-errors=20"
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-  compiler_flag: "-Wstrict-aliasing=2"
-  compiler_flag: "-Wno-misleading-indentation"
-  compiler_flag: "-Wno-int-in-bool-context"
-  compiler_flag: "-Wdouble-promotion"
-  compiler_flag: "-pipe"
-  compiler_flag: "-g"
-  compiler_flag: "-fno-common"
-  compiler_flag: "-ffreestanding"
-  compiler_flag: "-fbuiltin"
-  linker_flag: "-no-canonical-prefixes"
-  linker_flag: "-mcpu=cortex-m4"
-  linker_flag: "-mfpu=fpv4-sp-d16"
-  linker_flag: "-mthumb"
-  linker_flag: "-mfloat-abi=hard"
-  linker_flag: "-fno-strict-aliasing"
-  linker_flag: "--specs=nano.specs"
-  linker_flag: "-lgcc"
-  linker_flag: "-lstdc++_nano"
-  linker_flag: "-lm"
-  linker_flag: "-lc_nano"
-  linker_flag: "-Tmotors/core/kinetis_512_256.ld"
-  linker_flag: "-Tmotors/core/kinetis_sections.ld"
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  compilation_mode_flags {
-    mode: OPT
-    compiler_flag: "-O2"
-    compiler_flag: "-finline-functions"
-    compiler_flag: "-ffast-math"
-    compiler_flag: "-funroll-loops"
-    compiler_flag: "-DNDEBUG"
-    compiler_flag: "-ffunction-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  linking_mode_flags {
-    mode: FULLY_STATIC
-  }
-  cxx_builtin_include_directory: "/usr/lib/gcc/arm-none-eabi/4.8/include"
-  cxx_builtin_include_directory: "/usr/lib/gcc/arm-none-eabi/4.8/include-fixed"
-  cxx_builtin_include_directory: "/usr/lib/arm-none-eabi/include"
-  cxx_builtin_include_directory: "/usr/include/newlib"
-  builtin_sysroot: ""
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "opt"
-    implies: "all_modes"
-  }
-  feature {
-    name: "fastbuild"
-    implies: "all_modes"
-  }
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "--std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "--std=gnu++1z"
-        flag: "-fno-exceptions"
-        flag: "-fno-rtti"
-      }
-    }
-  }
-  feature {
-    name: "include_paths"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-iquote"
-        flag: "%{quote_include_paths}"
-        iterate_over: "quote_include_paths"
-      }
-      flag_group {
-        flag: "-I%{include_paths}"
-        iterate_over: "include_paths"
-      }
-      flag_group {
-        flag: "-I"
-        flag: "%{system_include_paths}"
-        iterate_over: "system_include_paths"
-      }
-    }
-  }
-}
-toolchain {
-  toolchain_identifier: "cortex-m4f-k22"
-  host_system_name: "local"
-  target_system_name: "cortex-m4f-k22"
-  target_cpu: "cortex-m4f-k22"
-  target_libc: "cortex-m4f-k22"
-  compiler: "gcc"
-  abi_version: "cortex-m4f-k22"
-  abi_libc_version: "cortex-m4f-k22"
-  tool_path {
-    name: "ar"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ar"
-  }
-  tool_path {
-    name: "compat-ld"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ld"
-  }
-  tool_path {
-    name: "cpp"
-    path: "gcc_arm_none_eabi/arm-none-eabi-cpp"
-  }
-  tool_path {
-    name: "dwp"
-    path: "gcc_arm_none_eabi/arm-none-eabi-dwp"
-  }
-  tool_path {
-    name: "gcc"
-    path: "gcc_arm_none_eabi/arm-none-eabi-gcc"
-  }
-  tool_path {
-    name: "gcov"
-    path: "gcc_arm_none_eabi/arm-none-eabi-gcov"
-  }
-  tool_path {
-    name: "ld"
-    path: "gcc_arm_none_eabi/arm-none-eabi-ld"
-  }
-  tool_path {
-    name: "nm"
-    path: "gcc_arm_none_eabi/arm-none-eabi-nm"
-  }
-  tool_path {
-    name: "objcopy"
-    path: "gcc_arm_none_eabi/arm-none-eabi-objcopy"
-  }
-  tool_path {
-    name: "objdump"
-    path: "gcc_arm_none_eabi/arm-none-eabi-objdump"
-  }
-  tool_path {
-    name: "strip"
-    path: "gcc_arm_none_eabi/arm-none-eabi-strip"
-  }
-  supports_gold_linker: false
-  supports_thin_archives: false
-  needsPic: false
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D__MK22FX512__"
-  compiler_flag: "-DF_CPU=120000000"
-  compiler_flag: "-Wl,--gc-sections"
-  compiler_flag: "-D__have_long32"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-mcpu=cortex-m4"
-  compiler_flag: "-mfpu=fpv4-sp-d16"
-  compiler_flag: "-mthumb"
-  compiler_flag: "-mfloat-abi=hard"
-  compiler_flag: "-fno-strict-aliasing"
-  compiler_flag: "-fmessage-length=80"
-  compiler_flag: "-fmax-errors=20"
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-  compiler_flag: "-Wstrict-aliasing=2"
-  compiler_flag: "-Wno-misleading-indentation"
-  compiler_flag: "-Wno-int-in-bool-context"
-  compiler_flag: "-Wdouble-promotion"
-  compiler_flag: "-pipe"
-  compiler_flag: "-g"
-  compiler_flag: "-fno-common"
-  compiler_flag: "-ffreestanding"
-  compiler_flag: "-fbuiltin"
-  linker_flag: "-no-canonical-prefixes"
-  linker_flag: "-mcpu=cortex-m4"
-  linker_flag: "-mfpu=fpv4-sp-d16"
-  linker_flag: "-mthumb"
-  linker_flag: "-mfloat-abi=hard"
-  linker_flag: "-fno-strict-aliasing"
-  linker_flag: "--specs=nano.specs"
-  linker_flag: "-lgcc"
-  linker_flag: "-lstdc++_nano"
-  linker_flag: "-lm"
-  linker_flag: "-lc_nano"
-  linker_flag: "-Tmotors/core/kinetis_512_128.ld"
-  linker_flag: "-Tmotors/core/kinetis_sections.ld"
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  compilation_mode_flags {
-    mode: OPT
-    compiler_flag: "-O2"
-    compiler_flag: "-finline-functions"
-    compiler_flag: "-ffast-math"
-    compiler_flag: "-funroll-loops"
-    compiler_flag: "-DNDEBUG"
-    compiler_flag: "-ffunction-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  linking_mode_flags {
-    mode: FULLY_STATIC
-  }
-  cxx_builtin_include_directory: "/usr/lib/gcc/arm-none-eabi/4.8/include"
-  cxx_builtin_include_directory: "/usr/lib/gcc/arm-none-eabi/4.8/include-fixed"
-  cxx_builtin_include_directory: "/usr/lib/arm-none-eabi/include"
-  cxx_builtin_include_directory: "/usr/include/newlib"
-  builtin_sysroot: ""
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_interface_shared_objects: false
-  supports_incremental_linker: false
-  supports_fission: false
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-    implies: "all_modes"
-  }
-  feature {
-    name: "opt"
-    implies: "all_modes"
-  }
-  feature {
-    name: "fastbuild"
-    implies: "all_modes"
-  }
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "--std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "--std=gnu++1z"
-        flag: "-fno-exceptions"
-        flag: "-fno-rtti"
-      }
-    }
-  }
-  feature {
-    name: "include_paths"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-iquote"
-        flag: "%{quote_include_paths}"
-        iterate_over: "quote_include_paths"
-      }
-      flag_group {
-        flag: "-I%{include_paths}"
-        iterate_over: "include_paths"
-      }
-      flag_group {
-        flag: "-I"
-        flag: "%{system_include_paths}"
-        iterate_over: "system_include_paths"
-      }
-    }
-  }
-}
diff --git a/tools/cpp/gen_crosstool.py b/tools/cpp/gen_crosstool.py
deleted file mode 100644
index ec70e11..0000000
--- a/tools/cpp/gen_crosstool.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/python3
-
-# Usage: gen_crosstool <base> <cortex_m4f> <output>
-# Example: bazel run //tools/cpp:gen_crosstool $(readlink -f tools/cpp/static_crosstool.pb) $(readlink -f tools/cpp/cortex_m4f_crosstool.pb) $(readlink -f tools/cpp/CROSSTOOL)
-
-import sys
-
-from third_party.bazel.protos import crosstool_config_pb2
-from google.protobuf import text_format
-from google.protobuf.descriptor import FieldDescriptor
-
-def process_string(string, substitutions):
-  for a, b in substitutions.items():
-    string = string.replace(a, b)
-  return string
-
-def rename_message_contents(proto, substitutions):
-  for descriptor, value in proto.ListFields():
-    if descriptor.type == FieldDescriptor.TYPE_STRING:
-      if descriptor.label == FieldDescriptor.LABEL_REPEATED:
-        new_value = []
-        for string in value:
-          new_value.append(process_string(string, substitutions))
-        value[:] = new_value
-      else:
-        setattr(proto, descriptor.name, process_string(value, substitutions))
-    if descriptor.type == FieldDescriptor.TYPE_MESSAGE:
-      if descriptor.label == FieldDescriptor.LABEL_REPEATED:
-        for sub_proto in value:
-          rename_message_contents(sub_proto, substitutions)
-      else:
-        rename_message_contents(value, substitutions)
-
-def add_m4f_toolchain(new_toolchain, m4f_proto, substitutions):
-  new_toolchain.CopyFrom(m4f_proto.toolchain[0])
-  rename_message_contents(new_toolchain, substitutions)
-
-def main(args):
-  crosstool_proto = crosstool_config_pb2.CrosstoolRelease()
-  with open(args[0], 'r') as f:
-    text_format.Merge(f.read(), crosstool_proto)
-
-  m4f_proto = crosstool_config_pb2.CrosstoolRelease()
-  with open(args[1], 'r') as f:
-    text_format.Merge(f.read(), m4f_proto)
-  add_m4f_toolchain(crosstool_proto.toolchain.add(), m4f_proto, {
-      '%NAME%': 'cortex-m4f',
-      '%CPU%': '__MK64FX512__',
-      '%F_CPU%': '120000000',
-      '%LINKER_SCRIPT%': 'motors/core/kinetis_512_256.ld',
-      })
-  # TODO(Brian): The parts we actually use have 1M of FLASH. Do we want to take
-  # advantage, or maintain compatibility with alternative parts that use some
-  # of it for EEPROM/FlexMem/etc?
-  add_m4f_toolchain(crosstool_proto.toolchain.add(), m4f_proto, {
-      '%NAME%': 'cortex-m4f-k22',
-      '%CPU%': '__MK22FX512__',
-      '%F_CPU%': '120000000',
-      '%LINKER_SCRIPT%': 'motors/core/kinetis_512_128.ld',
-      })
-
-  with open(args[2], 'w') as f:
-    f.write('# GENERATED FILE. DO NOT EDIT\n')
-    f.write('# Generated by tools/cpp/gen_crosstool.py\n')
-    f.write(text_format.MessageToString(crosstool_proto))
-
-if __name__ == '__main__':
-  sys.exit(main(sys.argv[1:]))
diff --git a/tools/cpp/static_crosstool.pb b/tools/cpp/static_crosstool.pb
deleted file mode 100644
index dc650d9..0000000
--- a/tools/cpp/static_crosstool.pb
+++ /dev/null
@@ -1,997 +0,0 @@
-major_version: "local"
-minor_version: ""
-default_target_cpu: "same_as_host"
-
-default_toolchain {
-  cpu: "roborio"
-  toolchain_identifier: "roborio_linux"
-}
-
-default_toolchain {
-  cpu: "k8"
-  toolchain_identifier: "k8_linux"
-}
-
-default_toolchain {
-  cpu: "armeabi-v7a"
-  toolchain_identifier: "stub_armeabi-v7a"
-}
-
-default_toolchain {
-  cpu: "armhf-debian"
-  toolchain_identifier: "clang_linux_armhf"
-}
-
-default_toolchain {
-  cpu: "cortex-m4f"
-  toolchain_identifier: "cortex-m4f"
-}
-
-default_toolchain {
-  cpu: "cortex-m4f-k22"
-  toolchain_identifier: "cortex-m4f-k22"
-}
-
-toolchain {
-  toolchain_identifier: "stub_armeabi-v7a"
-  abi_version: "armeabi-v7a"
-  abi_libc_version: "armeabi-v7a"
-  builtin_sysroot: ""
-  compiler: "compiler"
-  host_system_name: "armeabi-v7a"
-  needsPic: true
-  supports_gold_linker: false
-  supports_incremental_linker: false
-  supports_fission: false
-  supports_interface_shared_objects: false
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_thin_archives: false
-  target_libc: "armeabi-v7a"
-  target_cpu: "armeabi-v7a"
-  target_system_name: "armeabi-v7a"
-
-  tool_path { name: "ar" path: "/bin/false" }
-  tool_path { name: "compat-ld" path: "/bin/false" }
-  tool_path { name: "cpp" path: "/bin/false" }
-  tool_path { name: "dwp" path: "/bin/false" }
-  tool_path { name: "gcc" path: "/bin/false" }
-  tool_path { name: "gcov" path: "/bin/false" }
-  tool_path { name: "ld" path: "/bin/false" }
-
-  tool_path { name: "nm" path: "/bin/false" }
-  tool_path { name: "objcopy" path: "/bin/false" }
-  tool_path { name: "objdump" path: "/bin/false" }
-  tool_path { name: "strip" path: "/bin/false" }
-}
-
-toolchain {
-  abi_version: "local"
-  abi_libc_version: "local"
-  builtin_sysroot: ""
-  compiler: "clang"
-  host_system_name: "local"
-  needsPic: true
-  supports_gold_linker: false
-  supports_incremental_linker: false
-  supports_fission: false
-  supports_interface_shared_objects: false
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_thin_archives: false
-  target_libc: "local"
-  target_cpu: "k8"
-  target_system_name: "k8"
-  toolchain_identifier: "k8_linux"
-
-  # These paths are relative to //tools/cpp.
-  tool_path { name: "ar" path: "clang_6p0/x86_64-linux-gnu-ar" }
-  tool_path { name: "compat-ld" path: "clang_6p0/x86_64-linux-gnu-ld" }
-  tool_path { name: "cpp" path: "clang_6p0/x86_64-linux-gnu-cpp" }
-  tool_path { name: "dwp" path: "clang_6p0/x86_64-linux-gnu-dwp" }
-  tool_path { name: "gcc" path: "clang_6p0/x86_64-linux-gnu-clang-6.0" }
-  tool_path { name: "gcov" path: "clang_6p0/x86_64-linux-gnu-gcov" }
-  # C(++) compiles invoke the compiler (as that is the one knowing where
-  # to find libraries), but we provide LD so other rules can invoke the linker.
-  tool_path { name: "ld" path: "clang_6p0/x86_64-linux-gnu-ld" }
-  tool_path { name: "nm" path: "clang_6p0/x86_64-linux-gnu-nm" }
-  tool_path { name: "objcopy" path: "clang_6p0/x86_64-linux-gnu-objcopy" }
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  tool_path { name: "objdump" path: "clang_6p0/x86_64-linux-gnu-objdump" }
-  tool_path { name: "strip" path: "clang_6p0/x86_64-linux-gnu-strip" }
-  linking_mode_flags { mode: DYNAMIC }
-
-  compiler_flag: "--sysroot=external/amd64_debian_sysroot"
-  compiler_flag: "-nostdinc"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/c++/7"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu/c++/7"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/c++/8/backward"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/8/include"
-  # We don't have anything in /usr/local/include, so don't include it here where
-  # would normally go on the default search path.
-  compiler_flag: "-isystem"
-  compiler_flag: "external/clang_6p0_repo/usr/lib/llvm-6.0/lib/clang/6.0.0/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/amd64_debian_sysroot/usr/include"
-
-  cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include"
-  cxx_builtin_include_directory: "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include-fixed"
-
-  linker_flag: "-nodefaultlibs"
-  linker_flag: "--sysroot=external/amd64_debian_sysroot"
-  linker_flag: "-lstdc++"
-  linker_flag: "-lc"
-  linker_flag: "-lgcc"
-  linker_flag: "-lgcc_s"
-  linker_flag: "-Bexternal/clang_6p0_repo/usr/bin/"
-  linker_flag: "-Ltools/cpp/clang_6p0/clang_more_libs"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/7/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/x86_64-linux-gnu/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/usr/lib/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/lib/x86_64-linux-gnu/"
-  linker_flag: "-Lexternal/amd64_debian_sysroot/lib/"
-
-  feature {
-    name: "opt"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "dbg"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-  }
-
-  feature {
-    name: "fastbuild"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-      }
-    }
-  }
-
-  # Anticipated future default.
-  # This makes GCC and Clang do what we want when called through symlinks.
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  linker_flag: "-no-canonical-prefixes"
-
-  # Things that the code wants defined.
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D_FILE_OFFSET_BITS=64"
-  # TODO(Brian): Rename this or something.
-  compiler_flag: "-DAOS_ARCHITECTURE_arm_frc"
-
-  linker_flag: "-fuse-ld=gold"
-
-  # Make C++ compilation deterministic. Use linkstamping instead of these
-  # compiler symbols.
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-
-  # C++17 libraries that tend to cause issues in some libraries that we include.
-  unfiltered_cxx_flag: "-Wno-varargs"
-  unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
-  # The mismatched-new-delete seems to be a bit overly strict currently
-  # and errors on:
-  # char *p = new char;
-  # delete p;
-  # p = new char[100];
-  # delete[] p;
-  unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
-
-  # Security hardening on by default.
-  # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
-  # We need to undef it before redefining it as some distributions now have
-  # it enabled by default.
-  compiler_flag: "-U_FORTIFY_SOURCE"
-  compiler_flag: "-D_FORTIFY_SOURCE=1"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-fPIE"
-  linker_flag: "-Wl,-z,relro,-z,now"
-
-  # Pretty much everything needs this, including parts of the glibc STL...
-  linker_flag: "-lm"
-
-  # Enable coloring even if there's no attached terminal. Bazel removes the
-  # escape sequences if --nocolor is specified.
-  compiler_flag: "-fcolor-diagnostics"
-  compiler_flag: "-fmessage-length=80"
-  compiler_flag: "-fmacro-backtrace-limit=0"
-
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wstrict-aliasing"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wcast-align"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-
-  # Keep stack frames for debugging, even in opt mode.
-  compiler_flag: "-fno-omit-frame-pointer"
-
-  # Don't use temp files while compiling.
-  compiler_flag: "-pipe"
-
-  # Stamp the binary with a unique identifier.
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  linker_flag: "-Wl,--warn-execstack"
-  linker_flag: "-Wl,--detect-odr-violations"
-
-  # Enable debug symbols.
-  compiler_flag: "-ggdb3"
-
-  compilation_mode_flags {
-    mode: OPT
-
-    compiler_flag: "-O2"
-
-    # Disable assertions
-    compiler_flag: "-DNDEBUG"
-
-    # Removal of unused code and data at link time (can this increase binary size in some cases?).
-    compiler_flag: "-ffunction-sections"
-    compiler_flag: "-fdata-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  feature {
-    name: "pie_for_linking"
-    enabled: true
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-  }
-}
-
-toolchain {
-  toolchain_identifier: "roborio_linux"
-  host_system_name: "roborio"
-  target_system_name: "roborio"
-  target_cpu: "roborio"
-  target_libc: "roborio"
-  compiler: "gcc"
-  abi_version: "roborio"
-  abi_libc_version: "roborio"
-
-  builtin_sysroot: ""
-  needsPic: true
-  supports_gold_linker: false
-  supports_incremental_linker: false
-  supports_fission: false
-  supports_interface_shared_objects: false
-  supports_normalizing_ar: false
-  supports_start_end_lib: false
-  supports_thin_archives: false
-
-  tool_path { name: "ar" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ar" }
-  tool_path { name: "as" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-as" }
-  tool_path { name: "compat-ld" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld" }
-  tool_path { name: "cpp" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-cpp" }
-  tool_path { name: "dwp" path: "/bin/false" }
-  tool_path { name: "gcc" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcc" }
-  tool_path { name: "gcov" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9" }
-  # C(++) compiles invoke the compiler (as that is the one knowing where
-  # to find libraries), but we provide LD so other rules can invoke the linker.
-  tool_path { name: "ld" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld" }
-  tool_path { name: "nm" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-nm" }
-  tool_path { name: "objcopy" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objcopy" }
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  tool_path { name: "objdump" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objdump" }
-  tool_path { name: "strip" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-strip" }
-  linking_mode_flags { mode: DYNAMIC }
-
-  feature {
-    name: "compile_flags1"
-    enabled: true
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      action: "lto-backend"
-      action: "clif-match"
-      flag_group {
-        flag: "--sysroot=external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi"
-        flag: "-nostdinc"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed"
-      }
-    }
-
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      flag_group {
-        flag: "-fno-canonical-system-headers"
-      }
-    }
-
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      flag_group {
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi"
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward"
-      }
-    }
-
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "c++-module-codegen"
-      action: "lto-backend"
-      action: "clif-match"
-      flag_group {
-        flag: "-isystem"
-        flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include"
-
-        flag: "-mfpu=neon"
-
-        # Things that the code wants defined.
-        flag: "-D__STDC_FORMAT_MACROS"
-        flag: "-D__STDC_CONSTANT_MACROS"
-        flag: "-D__STDC_LIMIT_MACROS"
-        flag: "-D_FILE_OFFSET_BITS=64"
-
-        # TODO(Brian): Rename this or something.
-        flag: "-DAOS_ARCHITECTURE_arm_frc"
-
-        # Security hardening on by default.
-        # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
-        # We need to undef it before redefining it as some distributions now have
-        # it enabled by default.
-        flag: "-U_FORTIFY_SOURCE"
-        flag: "-fstack-protector"
-        flag: "-fPIE"
-
-        # Enable coloring even if there's no attached terminal. Bazel removes the
-        # escape sequences if --nocolor is specified.
-        flag: "-fdiagnostics-color=always"
-
-        flag: "-Wall"
-        flag: "-Wextra"
-        flag: "-Wpointer-arith"
-        flag: "-Wstrict-aliasing"
-        flag: "-Wcast-qual"
-        flag: "-Wwrite-strings"
-        flag: "-Wtype-limits"
-        flag: "-Wsign-compare"
-        flag: "-Wformat=2"
-        flag: "-Werror"
-        flag: "-Wunused-local-typedefs"
-        # We don't use libraries compiled with the broken version.
-        flag: "-Wno-psabi"
-
-        # Keep stack frames for debugging, even in opt mode.
-        flag: "-fno-omit-frame-pointer"
-
-        flag: "-D__has_feature(x)=0"
-
-        # Don't use temp files while compiling.
-        flag: "-pipe"
-
-        # Enable debug symbols.
-        flag: "-ggdb3"
-      }
-    }
-  }
-
-  feature {
-    name: "opt"
-    implies: "opt_post"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-compile"
-      action: "objc-compile"
-      action: "objc++-compile"
-      action: "c++-header-parsing"
-      action: "linkstamp-compile"
-      flag_group {
-        flag: "-O2"
-        flag: "-DNDEBUG"
-        flag: "-D_FORTIFY_SOURCE=1"
-        flag: "-ffunction-sections"
-        flag: "-fdata-sections"
-      }
-    }
-    flag_set {
-      action: "c++-link-executable"
-      action: "c++-link-nodeps-dynamic-library"
-      action: "c++-link-dynamic-library"
-      flag_group {
-        flag: "-Wl,--gc-sections"
-      }
-    }
-  }
-
-  # TODO(bazel-team): In theory, the path here ought to exactly match the path
-  # used by gcc. That works because bazel currently doesn't track files at
-  # absolute locations and has no remote execution, yet. However, this will need
-  # to be fixed, maybe with auto-detection?
-
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%"
-  cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%"
-
-  linker_flag: "-lstdc++"
-  linker_flag: "-Ltools/cpp/arm-frc-linux-gnueabi/libs"
-
-  feature {
-    name: "dependency_file"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-compile"
-      action: "objc-compile"
-      action: "objc++-compile"
-      action: "c++-header-parsing"
-      action: "clif-match"
-      expand_if_all_available: "dependency_file"
-      flag_group {
-        flag: "-MD"
-        flag: "-MF"
-        flag: "%{dependency_file}"
-      }
-    }
-  }
-
-  feature {
-    name: "random_seed"
-    flag_set {
-      # TODO(austin): Should these also have -frandom-seed set?  Upstream
-      # doesn't.
-      # action: "linkstamp-compile"
-      # action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-codegen"
-      action: "c++-module-compile"
-      flag_group {
-        expand_if_all_available: "output_file"
-        flag: "-frandom-seed=%{output_file}"
-      }
-    }
-  }
-
-  feature {
-    name: "pic"
-    flag_set {
-      action: "assemble"
-      action: "preprocess-assemble"
-      action: "linkstamp-compile"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-module-codegen"
-      action: "c++-module-compile"
-      expand_if_all_available: "pic"
-      flag_group {
-        flag: "-fPIC"
-      }
-    }
-  }
-
-  feature {
-    name: "preprocessor_defines"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "linkstamp-compile"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-module-compile"
-      action: "clif-match"
-      flag_group {
-        iterate_over: "preprocessor_defines"
-        flag: "-D%{preprocessor_defines}"
-      }
-    }
-  }
-
-  feature {
-    name: "include_paths"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-iquote"
-        flag: "%{quote_include_paths}"
-        iterate_over: "quote_include_paths"
-      }
-      flag_group {
-        flag: "-I%{include_paths}"
-        iterate_over: "include_paths"
-      }
-      flag_group {
-        flag: "-isystem"
-        flag: "%{system_include_paths}"
-        iterate_over: "system_include_paths"
-      }
-    }
-  }
-
-  feature {
-    name: "opt_post"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "dbg"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-  }
-
-  feature {
-    name: "fastbuild"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "all_modes"
-    enabled: true
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-        flag: "-fno-sized-deallocation"
-      }
-    }
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c++-link"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      action: "c-compile"
-      flag_group {
-        # We always want to compile with -pthread semantics.
-        flag: "-pthread"
-      }
-    }
-  }
-
-  # Anticipated future default.
-  # This makes GCC and Clang do what we want when called through symlinks.
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  linker_flag: "-no-canonical-prefixes"
-
-  # Make C++ compilation deterministic. Use linkstamping instead of these
-  # compiler symbols.
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-
-  linker_flag: "-Wl,-z,relro,-z,now"
-
-  # Pretty much everything needs this, including parts of the glibc STL...
-  linker_flag: "-lm"
-
-  # Have GCC return the exit code from ld.
-  linker_flag: "-pass-exit-codes"
-
-  # Stamp the binary with a unique identifier.
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  #linker_flag: "-Wl,--warn-execstack"
-  #linker_flag: "-Wl,--detect-odr-violations"
-
-  feature {
-    name: "pie_for_linking"
-    enabled: true
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-  }
-}
-
-toolchain {
-  abi_version: "clang_6.0"
-  abi_libc_version: "glibc_2.19"
-  builtin_sysroot: ""
-  compiler: "clang"
-  host_system_name: "linux"
-  needsPic: true
-  supports_gold_linker: false
-  supports_incremental_linker: false
-  supports_fission: false
-  supports_interface_shared_objects: false
-  supports_normalizing_ar: true
-  supports_start_end_lib: false
-  supports_thin_archives: true
-  target_libc: "glibc_2.19"
-  target_cpu: "armhf-debian"
-  target_system_name: "arm_a15"
-  toolchain_identifier: "clang_linux_armhf"
-
-  tool_path { name: "ar" path: "linaro_linux_gcc/arm-linux-gnueabihf-ar" }
-  tool_path { name: "compat-ld" path: "linaro_linux_gcc/arm-linux-gnueabihf-ld" }
-  tool_path { name: "cpp" path: "linaro_linux_gcc/clang_bin/clang" }
-  tool_path { name: "dwp" path: "linaro_linux_gcc/arm-linux-gnueabihf-dwp" }
-  tool_path { name: "gcc" path: "linaro_linux_gcc/clang_bin/clang" }
-  tool_path { name: "gcov" path: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9" }
-  # C(++) compiles invoke the compiler (as that is the one knowing where
-  # to find libraries), but we provide LD so other rules can invoke the linker.
-  tool_path { name: "ld" path: "linaro_linux_gcc/arm-linux-gnueabihf-ld" }
-  tool_path { name: "nm" path: "linaro_linux_gcc/arm-linux-gnueabihf-nm" }
-  tool_path { name: "objcopy" path: "linaro_linux_gcc/arm-linux-gnueabihf-objcopy" }
-  objcopy_embed_flag: "-I"
-  objcopy_embed_flag: "binary"
-  tool_path { name: "objdump" path: "linaro_linux_gcc/arm-linux-gnueabihf-objdump" }
-  tool_path { name: "strip" path: "linaro_linux_gcc/arm-linux-gnueabihf-strip" }
-  linking_mode_flags { mode: DYNAMIC }
-
-  compiler_flag: "-target"
-  compiler_flag: "armv7a-arm-linux-gnueabif"
-  compiler_flag: "--sysroot=external/armhf_debian_rootfs"
-  compiler_flag: "-mfloat-abi=hard"
-  compiler_flag: "-mfpu=vfpv3-d16"
-
-  compiler_flag: "-nostdinc"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/armhf_debian_rootfs/usr/include"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/armhf_debian_rootfs/usr/include/arm-linux-gnueabihf"
-  compiler_flag: "-isystem"
-  compiler_flag: "external/org_frc971/third_party"
-
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%"
-  cxx_builtin_include_directory: "%package(@armhf_debian_rootfs//usr/include)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%"
-  cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1"
-
-  linker_flag: "-target"
-  linker_flag: "armv7a-arm-linux-gnueabif"
-  linker_flag: "--sysroot=external/armhf_debian_rootfs"
-  linker_flag: "-lstdc++"
-  linker_flag: "-Ltools/cpp/linaro_linux_gcc/clang_more_libs"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib/gcc/arm-linux-gnueabihf/8"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/lib/arm-linux-gnueabihf"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib/arm-linux-gnueabihf"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/lib"
-  linker_flag: "-Lexternal/armhf_debian_rootfs/usr/lib"
-  linker_flag: "-Lexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
-  linker_flag: "-Bexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
-  linker_flag: "-Bexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/bin"
-  linker_flag: "-Wl,--dynamic-linker=/lib/ld-linux-armhf.so.3"
-
-  feature {
-    name: "opt"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "dbg"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=1"
-      }
-      flag_group {
-        flag: "-fno-omit-frame-pointer"
-      }
-    }
-  }
-
-  feature {
-    name: "fastbuild"
-    implies: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "c-compile"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-DAOS_DEBUG=0"
-      }
-    }
-  }
-
-  feature {
-    name: "all_modes"
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c-compile"
-      flag_group {
-        flag: "-std=gnu99"
-      }
-    }
-    flag_set {
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      flag_group {
-        flag: "-std=gnu++1z"
-      }
-    }
-    flag_set {
-      action: "preprocess-assemble"
-      action: "assemble"
-      action: "c++-link"
-      action: "c++-compile"
-      action: "c++-header-parsing"
-      action: "c++-header-preprocessing"
-      action: "c++-module-compile"
-      action: "c-compile"
-      flag_group {
-        # We always want to compile with -pthread semantics.
-        flag: "-pthread"
-      }
-    }
-  }
-
-  # Anticipated future default.
-  # This makes GCC and Clang do what we want when called through symlinks.
-  unfiltered_cxx_flag: "-no-canonical-prefixes"
-  linker_flag: "-no-canonical-prefixes"
-
-  # Things that the code wants defined.
-  compiler_flag: "-D__STDC_FORMAT_MACROS"
-  compiler_flag: "-D__STDC_CONSTANT_MACROS"
-  compiler_flag: "-D__STDC_LIMIT_MACROS"
-  compiler_flag: "-D_FILE_OFFSET_BITS=64"
-  # TODO(Brian): Rename this or something.
-  compiler_flag: "-DAOS_ARCHITECTURE_armhf"
-
-  # Make C++ compilation deterministic. Use linkstamping instead of these
-  # compiler symbols.
-  unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-  unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
-  unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
-  unfiltered_cxx_flag: "-Wno-varargs"
-  unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-  unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-
-  # Security hardening on by default.
-  # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
-  # We need to undef it before redefining it as some distributions now have
-  # it enabled by default.
-  compiler_flag: "-U_FORTIFY_SOURCE"
-  compiler_flag: "-fstack-protector"
-  compiler_flag: "-fPIE"
-  linker_flag: "-Wl,-z,relro,-z,now"
-
-  # Pretty much everything needs this, including parts of the glibc STL...
-  linker_flag: "-lm"
-
-  # Enable coloring even if there's no attached terminal. Bazel removes the
-  # escape sequences if --nocolor is specified.
-  compiler_flag: "-fdiagnostics-color=always"
-
-  compiler_flag: "-Wall"
-  compiler_flag: "-Wextra"
-  compiler_flag: "-Wpointer-arith"
-  compiler_flag: "-Wstrict-aliasing"
-  compiler_flag: "-Wcast-qual"
-  compiler_flag: "-Wcast-align"
-  compiler_flag: "-Wwrite-strings"
-  compiler_flag: "-Wtype-limits"
-  compiler_flag: "-Wsign-compare"
-  compiler_flag: "-Wformat=2"
-  compiler_flag: "-Werror"
-  compiler_flag: "-Wunused-local-typedefs"
-
-  # Keep stack frames for debugging, even in opt mode.
-  compiler_flag: "-fno-omit-frame-pointer"
-
-  # Don't use temp files while compiling.
-  compiler_flag: "-pipe"
-
-  # Stamp the binary with a unique identifier.
-  linker_flag: "-Wl,--build-id=md5"
-  linker_flag: "-Wl,--hash-style=gnu"
-  #linker_flag: "-Wl,--warn-execstack"
-  #linker_flag: "-Wl,--detect-odr-violations"
-
-  # Enable debug symbols.
-  compiler_flag: "-ggdb3"
-
-  compilation_mode_flags {
-    mode: OPT
-
-    compiler_flag: "-O2"
-
-    # Disable assertions
-    compiler_flag: "-DNDEBUG"
-    compiler_flag: "-D_FORTIFY_SOURCE=1"
-
-    # Removal of unused code and data at link time (can this increase binary size in some cases?).
-    compiler_flag: "-ffunction-sections"
-    compiler_flag: "-fdata-sections"
-    linker_flag: "-Wl,--gc-sections"
-  }
-  feature {
-    name: "pie_for_linking"
-    enabled: true
-    flag_set {
-      action: "c++-link-executable"
-      flag_group {
-        flag: "-pie"
-      }
-    }
-  }
-}
diff --git a/tools/cpp/toolchain_config.bzl b/tools/cpp/toolchain_config.bzl
new file mode 100644
index 0000000..8804cd2
--- /dev/null
+++ b/tools/cpp/toolchain_config.bzl
@@ -0,0 +1,1869 @@
+load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
+    "action_config",
+    "artifact_name_pattern",
+    "env_entry",
+    "env_set",
+    "feature",
+    "feature_set",
+    "flag_group",
+    "flag_set",
+    "make_variable",
+    "tool",
+    "tool_path",
+    "variable_with_value",
+    "with_feature_set",
+)
+load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
+
+def _impl(ctx):
+    if (ctx.attr.cpu == "armhf-debian"):
+        toolchain_identifier = "clang_linux_armhf"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        toolchain_identifier = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        toolchain_identifier = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "k8"):
+        toolchain_identifier = "k8_linux"
+    elif (ctx.attr.cpu == "roborio"):
+        toolchain_identifier = "roborio_linux"
+    elif (ctx.attr.cpu == "armeabi-v7a"):
+        toolchain_identifier = "stub_armeabi-v7a"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        host_system_name = "armeabi-v7a"
+    elif (ctx.attr.cpu == "armhf-debian"):
+        host_system_name = "linux"
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"
+        or ctx.attr.cpu == "k8"):
+        host_system_name = "local"
+    elif (ctx.attr.cpu == "roborio"):
+        host_system_name = "roborio"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armhf-debian"):
+        target_system_name = "arm_a15"
+    elif (ctx.attr.cpu == "armeabi-v7a"):
+        target_system_name = "armeabi-v7a"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        target_system_name = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        target_system_name = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "k8"):
+        target_system_name = "k8"
+    elif (ctx.attr.cpu == "roborio"):
+        target_system_name = "roborio"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        target_cpu = "armeabi-v7a"
+    elif (ctx.attr.cpu == "armhf-debian"):
+        target_cpu = "armhf-debian"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        target_cpu = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        target_cpu = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "k8"):
+        target_cpu = "k8"
+    elif (ctx.attr.cpu == "roborio"):
+        target_cpu = "roborio"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        target_libc = "armeabi-v7a"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        target_libc = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        target_libc = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "armhf-debian"):
+        target_libc = "glibc_2.19"
+    elif (ctx.attr.cpu == "k8"):
+        target_libc = "local"
+    elif (ctx.attr.cpu == "roborio"):
+        target_libc = "roborio"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "k8"):
+        compiler = "clang"
+    elif (ctx.attr.cpu == "armeabi-v7a"):
+        compiler = "compiler"
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"
+        or ctx.attr.cpu == "roborio"):
+        compiler = "gcc"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        abi_version = "armeabi-v7a"
+    elif (ctx.attr.cpu == "armhf-debian"):
+        abi_version = "clang_6.0"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        abi_version = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        abi_version = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "k8"):
+        abi_version = "local"
+    elif (ctx.attr.cpu == "roborio"):
+        abi_version = "roborio"
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        abi_libc_version = "armeabi-v7a"
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        abi_libc_version = "cortex-m4f"
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        abi_libc_version = "cortex-m4f-k22"
+    elif (ctx.attr.cpu == "armhf-debian"):
+        abi_libc_version = "glibc_2.19"
+    elif (ctx.attr.cpu == "k8"):
+        abi_libc_version = "local"
+    elif (ctx.attr.cpu == "roborio"):
+        abi_libc_version = "roborio"
+    else:
+        fail("Unreachable")
+
+    cc_target_os = None
+
+    builtin_sysroot = None
+
+    all_compile_actions = [
+        ACTION_NAMES.c_compile,
+        ACTION_NAMES.cpp_compile,
+        ACTION_NAMES.linkstamp_compile,
+        ACTION_NAMES.assemble,
+        ACTION_NAMES.preprocess_assemble,
+        ACTION_NAMES.cpp_header_parsing,
+        ACTION_NAMES.cpp_module_compile,
+        ACTION_NAMES.cpp_module_codegen,
+        ACTION_NAMES.clif_match,
+        ACTION_NAMES.lto_backend,
+    ]
+
+    all_cpp_compile_actions = [
+        ACTION_NAMES.cpp_compile,
+        ACTION_NAMES.linkstamp_compile,
+        ACTION_NAMES.cpp_header_parsing,
+        ACTION_NAMES.cpp_module_compile,
+        ACTION_NAMES.cpp_module_codegen,
+        ACTION_NAMES.clif_match,
+    ]
+
+    preprocessor_compile_actions = [
+        ACTION_NAMES.c_compile,
+        ACTION_NAMES.cpp_compile,
+        ACTION_NAMES.linkstamp_compile,
+        ACTION_NAMES.preprocess_assemble,
+        ACTION_NAMES.cpp_header_parsing,
+        ACTION_NAMES.cpp_module_compile,
+        ACTION_NAMES.clif_match,
+    ]
+
+    codegen_compile_actions = [
+        ACTION_NAMES.c_compile,
+        ACTION_NAMES.cpp_compile,
+        ACTION_NAMES.linkstamp_compile,
+        ACTION_NAMES.assemble,
+        ACTION_NAMES.preprocess_assemble,
+        ACTION_NAMES.cpp_module_codegen,
+        ACTION_NAMES.lto_backend,
+    ]
+
+    all_link_actions = [
+        ACTION_NAMES.cpp_link_executable,
+        ACTION_NAMES.cpp_link_dynamic_library,
+        ACTION_NAMES.cpp_link_nodeps_dynamic_library,
+    ]
+
+    if (ctx.attr.cpu == "roborio"):
+        objcopy_embed_data_action = action_config(
+            action_name = "objcopy_embed_data",
+            enabled = True,
+            tools = [
+                tool(
+                    path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objcopy",
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"):
+        objcopy_embed_data_action = action_config(
+            action_name = "objcopy_embed_data",
+            enabled = True,
+            tools = [
+                tool(path = "linaro_linux_gcc/arm-linux-gnueabihf-objcopy"),
+            ],
+        )
+    elif (ctx.attr.cpu == "k8"):
+        objcopy_embed_data_action = action_config(
+            action_name = "objcopy_embed_data",
+            enabled = True,
+            tools = [tool(path = "clang_6p0/x86_64-linux-gnu-objcopy")],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        objcopy_embed_data_action = action_config(
+            action_name = "objcopy_embed_data",
+            enabled = True,
+            tools = [tool(path = "gcc_arm_none_eabi/arm-none-eabi-objcopy")],
+        )
+    else:
+        objcopy_embed_data_action = None
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        action_configs = []
+    elif (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"
+        or ctx.attr.cpu == "k8"
+        or ctx.attr.cpu == "roborio"):
+        action_configs = [objcopy_embed_data_action]
+    else:
+        fail("Unreachable")
+
+    opt_post_feature = feature(
+        name = "opt_post",
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    "c++-header-preprocessing",
+                    ACTION_NAMES.cpp_module_compile,
+                ],
+                flag_groups = [flag_group(flags = ["-DAOS_DEBUG=0"])],
+            ),
+        ],
+    )
+
+    supports_pic_feature = feature(name = "supports_pic", enabled = True)
+
+    if (ctx.attr.cpu == "k8"):
+        default_compile_flags_feature = feature(
+            name = "default_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "--sysroot=external/amd64_debian_sysroot",
+                                "-nostdinc",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/include/c++/7",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu/c++/7",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/include/c++/8/backward",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/8/include",
+                                "-isystem",
+                                "external/clang_6p0_repo/usr/lib/llvm-6.0/lib/clang/6.0.0/include",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/include/x86_64-linux-gnu",
+                                "-isystem",
+                                "external/amd64_debian_sysroot/usr/include",
+                                "-D__STDC_FORMAT_MACROS",
+                                "-D__STDC_CONSTANT_MACROS",
+                                "-D__STDC_LIMIT_MACROS",
+                                "-D_FILE_OFFSET_BITS=64",
+                                "-DAOS_ARCHITECTURE_arm_frc",
+                                "-U_FORTIFY_SOURCE",
+                                "-D_FORTIFY_SOURCE=1",
+                                "-fstack-protector",
+                                "-fPIE",
+                                "-fcolor-diagnostics",
+                                "-fmessage-length=80",
+                                "-fmacro-backtrace-limit=0",
+                                "-Wall",
+                                "-Wextra",
+                                "-Wpointer-arith",
+                                "-Wstrict-aliasing",
+                                "-Wcast-qual",
+                                "-Wcast-align",
+                                "-Wwrite-strings",
+                                "-Wtype-limits",
+                                "-Wsign-compare",
+                                "-Wformat=2",
+                                "-Werror",
+                                "-fno-omit-frame-pointer",
+                                "-pipe",
+                                "-ggdb3",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-O2",
+                                "-DNDEBUG",
+                                "-ffunction-sections",
+                                "-fdata-sections",
+                            ],
+                        ),
+                    ],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        default_compile_flags_feature = feature(
+            name = "default_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-D__STDC_FORMAT_MACROS",
+                                "-D__STDC_CONSTANT_MACROS",
+                                "-D__STDC_LIMIT_MACROS",
+                                "-D__MK22FX512__",
+                                "-DF_CPU=120000000",
+                                "-Wl,--gc-sections",
+                                "-D__have_long32",
+                                "-fstack-protector",
+                                "-mcpu=cortex-m4",
+                                "-mfpu=fpv4-sp-d16",
+                                "-mthumb",
+                                "-mfloat-abi=hard",
+                                "-fno-strict-aliasing",
+                                "-fmessage-length=80",
+                                "-fmax-errors=20",
+                                "-Wall",
+                                "-Wextra",
+                                "-Wpointer-arith",
+                                "-Wcast-qual",
+                                "-Wwrite-strings",
+                                "-Wtype-limits",
+                                "-Wsign-compare",
+                                "-Wformat=2",
+                                "-Werror",
+                                "-Wstrict-aliasing=2",
+                                "-Wno-misleading-indentation",
+                                "-Wno-int-in-bool-context",
+                                "-Wdouble-promotion",
+                                "-pipe",
+                                "-g",
+                                "-fno-common",
+                                "-ffreestanding",
+                                "-fbuiltin",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-O2",
+                                "-finline-functions",
+                                "-ffast-math",
+                                "-funroll-loops",
+                                "-DNDEBUG",
+                                "-ffunction-sections",
+                            ],
+                        ),
+                    ],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        default_compile_flags_feature = feature(
+            name = "default_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-D__STDC_FORMAT_MACROS",
+                                "-D__STDC_CONSTANT_MACROS",
+                                "-D__STDC_LIMIT_MACROS",
+                                "-D__MK64FX512__",
+                                "-DF_CPU=120000000",
+                                "-Wl,--gc-sections",
+                                "-D__have_long32",
+                                "-fstack-protector",
+                                "-mcpu=cortex-m4",
+                                "-mfpu=fpv4-sp-d16",
+                                "-mthumb",
+                                "-mfloat-abi=hard",
+                                "-fno-strict-aliasing",
+                                "-fmessage-length=80",
+                                "-fmax-errors=20",
+                                "-Wall",
+                                "-Wextra",
+                                "-Wpointer-arith",
+                                "-Wcast-qual",
+                                "-Wwrite-strings",
+                                "-Wtype-limits",
+                                "-Wsign-compare",
+                                "-Wformat=2",
+                                "-Werror",
+                                "-Wstrict-aliasing=2",
+                                "-Wno-misleading-indentation",
+                                "-Wno-int-in-bool-context",
+                                "-Wdouble-promotion",
+                                "-pipe",
+                                "-g",
+                                "-fno-common",
+                                "-ffreestanding",
+                                "-fbuiltin",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-O2",
+                                "-finline-functions",
+                                "-ffast-math",
+                                "-funroll-loops",
+                                "-DNDEBUG",
+                                "-ffunction-sections",
+                            ],
+                        ),
+                    ],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"):
+        default_compile_flags_feature = feature(
+            name = "default_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-target",
+                                "armv7a-arm-linux-gnueabif",
+                                "--sysroot=external/armhf_debian_rootfs",
+                                "-mfloat-abi=hard",
+                                "-mfpu=vfpv3-d16",
+                                "-nostdinc",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1/arm-linux-gnueabihf",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/include/c++/7.4.1/arm-linux-gnueabihf",
+                                "-isystem",
+                                "external/linaro_linux_gcc_repo/include/c++/7.4.1",
+                                "-isystem",
+                                "external/armhf_debian_rootfs/usr/include",
+                                "-isystem",
+                                "external/armhf_debian_rootfs/usr/include/arm-linux-gnueabihf",
+                                "-isystem",
+                                "external/org_frc971/third_party",
+                                "-D__STDC_FORMAT_MACROS",
+                                "-D__STDC_CONSTANT_MACROS",
+                                "-D__STDC_LIMIT_MACROS",
+                                "-D_FILE_OFFSET_BITS=64",
+                                "-DAOS_ARCHITECTURE_armhf",
+                                "-U_FORTIFY_SOURCE",
+                                "-fstack-protector",
+                                "-fPIE",
+                                "-fdiagnostics-color=always",
+                                "-Wall",
+                                "-Wextra",
+                                "-Wpointer-arith",
+                                "-Wstrict-aliasing",
+                                "-Wcast-qual",
+                                "-Wcast-align",
+                                "-Wwrite-strings",
+                                "-Wtype-limits",
+                                "-Wsign-compare",
+                                "-Wformat=2",
+                                "-Werror",
+                                "-Wunused-local-typedefs",
+                                "-fno-omit-frame-pointer",
+                                "-pipe",
+                                "-ggdb3",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-O2",
+                                "-DNDEBUG",
+                                "-D_FORTIFY_SOURCE=1",
+                                "-ffunction-sections",
+                                "-fdata-sections",
+                            ],
+                        ),
+                    ],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    else:
+        default_compile_flags_feature = None
+
+    if (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "k8"):
+        dbg_feature = feature(
+            name = "dbg",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(flags = ["-DAOS_DEBUG=1"]),
+                        flag_group(flags = ["-fno-omit-frame-pointer"]),
+                    ],
+                ),
+            ],
+            implies = ["all_modes"],
+        )
+    elif (ctx.attr.cpu == "roborio"):
+        dbg_feature = feature(
+            name = "dbg",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(flags = ["-DAOS_DEBUG=1"]),
+                        flag_group(flags = ["-fno-omit-frame-pointer"]),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        dbg_feature = feature(
+            name = "dbg",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-fno-omit-frame-pointer"])],
+                ),
+            ],
+            implies = ["all_modes"],
+        )
+    else:
+        dbg_feature = None
+
+    if (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "k8"):
+        fastbuild_feature = feature(
+            name = "fastbuild",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-DAOS_DEBUG=0"])],
+                ),
+            ],
+            implies = ["all_modes"],
+        )
+    elif (ctx.attr.cpu == "roborio"):
+        fastbuild_feature = feature(
+            name = "fastbuild",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-DAOS_DEBUG=0"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        fastbuild_feature = feature(name = "fastbuild", implies = ["all_modes"])
+    else:
+        fastbuild_feature = None
+
+    pie_for_linking_feature = feature(
+        name = "pie_for_linking",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [ACTION_NAMES.cpp_link_executable],
+                flag_groups = [flag_group(flags = ["-pie"])],
+            ),
+        ],
+    )
+
+    if (ctx.attr.cpu == "roborio"):
+        opt_feature = feature(
+            name = "opt",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.objc_compile,
+                        ACTION_NAMES.objcpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.linkstamp_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-O2",
+                                "-DNDEBUG",
+                                "-D_FORTIFY_SOURCE=1",
+                                "-ffunction-sections",
+                                "-fdata-sections",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.cpp_link_executable,
+                        ACTION_NAMES.cpp_link_nodeps_dynamic_library,
+                        ACTION_NAMES.cpp_link_dynamic_library,
+                    ],
+                    flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
+                ),
+            ],
+            implies = ["opt_post"],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "k8"):
+        opt_feature = feature(
+            name = "opt",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-DAOS_DEBUG=0"])],
+                ),
+            ],
+            implies = ["all_modes"],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        opt_feature = feature(name = "opt", implies = ["all_modes"])
+    else:
+        opt_feature = None
+
+    pic_feature = feature(
+        name = "pic",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.linkstamp_compile,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.cpp_module_compile,
+                ],
+                flag_groups = [
+                    flag_group(flags = ["-fPIC"], expand_if_available = "pic"),
+                ],
+            ),
+        ],
+    )
+
+    if (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        include_paths_feature = feature(
+            name = "include_paths",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = ["-iquote", "%{quote_include_paths}"],
+                            iterate_over = "quote_include_paths",
+                        ),
+                        flag_group(
+                            flags = ["-I%{include_paths}"],
+                            iterate_over = "include_paths",
+                        ),
+                        flag_group(
+                            flags = ["-I", "%{system_include_paths}"],
+                            iterate_over = "system_include_paths",
+                        ),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "roborio"):
+        include_paths_feature = feature(
+            name = "include_paths",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = ["-iquote", "%{quote_include_paths}"],
+                            iterate_over = "quote_include_paths",
+                        ),
+                        flag_group(
+                            flags = ["-I%{include_paths}"],
+                            iterate_over = "include_paths",
+                        ),
+                        flag_group(
+                            flags = ["-isystem", "%{system_include_paths}"],
+                            iterate_over = "system_include_paths",
+                        ),
+                    ],
+                ),
+            ],
+        )
+    else:
+        include_paths_feature = None
+
+    random_seed_feature = feature(
+        name = "random_seed",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.cpp_module_compile,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = ["-frandom-seed=%{output_file}"],
+                        expand_if_available = "output_file",
+                    ),
+                ],
+            ),
+        ],
+    )
+
+    if (ctx.attr.cpu == "roborio"):
+        default_link_flags_feature = feature(
+            name = "default_link_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-lstdc++",
+                                "-Ltools/cpp/arm-frc-linux-gnueabi/libs",
+                                "-no-canonical-prefixes",
+                                "-Wl,-z,relro,-z,now",
+                                "-lm",
+                                "-pass-exit-codes",
+                                "-Wl,--build-id=md5",
+                                "-Wl,--hash-style=gnu",
+                            ],
+                        ),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f-k22"):
+        default_link_flags_feature = feature(
+            name = "default_link_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-no-canonical-prefixes",
+                                "-mcpu=cortex-m4",
+                                "-mfpu=fpv4-sp-d16",
+                                "-mthumb",
+                                "-mfloat-abi=hard",
+                                "-fno-strict-aliasing",
+                                "--specs=nano.specs",
+                                "-lgcc",
+                                "-lstdc++_nano",
+                                "-lm",
+                                "-lc_nano",
+                                "-Tmotors/core/kinetis_512_128.ld",
+                                "-Tmotors/core/kinetis_sections.ld",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"):
+        default_link_flags_feature = feature(
+            name = "default_link_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-no-canonical-prefixes",
+                                "-mcpu=cortex-m4",
+                                "-mfpu=fpv4-sp-d16",
+                                "-mthumb",
+                                "-mfloat-abi=hard",
+                                "-fno-strict-aliasing",
+                                "--specs=nano.specs",
+                                "-lgcc",
+                                "-lstdc++_nano",
+                                "-lm",
+                                "-lc_nano",
+                                "-Tmotors/core/kinetis_512_256.ld",
+                                "-Tmotors/core/kinetis_sections.ld",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "k8"):
+        default_link_flags_feature = feature(
+            name = "default_link_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-nodefaultlibs",
+                                "--sysroot=external/amd64_debian_sysroot",
+                                "-lstdc++",
+                                "-lc",
+                                "-lgcc",
+                                "-lgcc_s",
+                                "-Bexternal/clang_6p0_repo/usr/bin/",
+                                "-Ltools/cpp/clang_6p0/clang_more_libs",
+                                "-Lexternal/amd64_debian_sysroot/usr/lib/gcc/x86_64-linux-gnu/7/",
+                                "-Lexternal/amd64_debian_sysroot/usr/lib/x86_64-linux-gnu/",
+                                "-Lexternal/amd64_debian_sysroot/usr/lib/",
+                                "-Lexternal/amd64_debian_sysroot/lib/x86_64-linux-gnu/",
+                                "-Lexternal/amd64_debian_sysroot/lib/",
+                                "-no-canonical-prefixes",
+                                "-fuse-ld=gold",
+                                "-Wl,-z,relro,-z,now",
+                                "-lm",
+                                "-Wl,--build-id=md5",
+                                "-Wl,--hash-style=gnu",
+                                "-Wl,--warn-execstack",
+                                "-Wl,--detect-odr-violations",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"):
+        default_link_flags_feature = feature(
+            name = "default_link_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-target",
+                                "armv7a-arm-linux-gnueabif",
+                                "--sysroot=external/armhf_debian_rootfs",
+                                "-lstdc++",
+                                "-Ltools/cpp/linaro_linux_gcc/clang_more_libs",
+                                "-Lexternal/armhf_debian_rootfs/usr/lib/gcc/arm-linux-gnueabihf/8",
+                                "-Lexternal/armhf_debian_rootfs/lib/arm-linux-gnueabihf",
+                                "-Lexternal/armhf_debian_rootfs/usr/lib/arm-linux-gnueabihf",
+                                "-Lexternal/armhf_debian_rootfs/lib",
+                                "-Lexternal/armhf_debian_rootfs/usr/lib",
+                                "-Lexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1",
+                                "-Bexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1",
+                                "-Bexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/bin",
+                                "-Wl,--dynamic-linker=/lib/ld-linux-armhf.so.3",
+                                "-no-canonical-prefixes",
+                                "-Wl,-z,relro,-z,now",
+                                "-lm",
+                                "-Wl,--build-id=md5",
+                                "-Wl,--hash-style=gnu",
+                            ],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = all_link_actions,
+                    flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
+                    with_features = [with_feature_set(features = ["opt"])],
+                ),
+            ],
+        )
+    else:
+        default_link_flags_feature = None
+
+    if (ctx.attr.cpu == "roborio"):
+        all_modes_feature = feature(
+            name = "all_modes",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-std=gnu99"])],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = ["-std=gnu++1z", "-fno-sized-deallocation"],
+                        ),
+                    ],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        "c++-link",
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-pthread"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        all_modes_feature = feature(
+            name = "all_modes",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["--std=gnu99"])],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = ["--std=gnu++1z", "-fno-exceptions", "-fno-rtti"],
+                        ),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"):
+        all_modes_feature = feature(
+            name = "all_modes",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-std=gnu99"])],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-std=gnu++1z"])],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        "c++-link",
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-pthread"])],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "k8"):
+        all_modes_feature = feature(
+            name = "all_modes",
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.c_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-std=gnu99"])],
+                ),
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        "c++-header-preprocessing",
+                        ACTION_NAMES.cpp_module_compile,
+                    ],
+                    flag_groups = [flag_group(flags = ["-std=gnu++1z"])],
+                ),
+            ],
+        )
+    else:
+        all_modes_feature = None
+
+    supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True)
+
+    if (ctx.attr.cpu == "k8"):
+        unfiltered_compile_flags_feature = feature(
+            name = "unfiltered_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-no-canonical-prefixes",
+                                "-Wno-builtin-macro-redefined",
+                                "-D__DATE__=\"redacted\"",
+                                "-D__TIMESTAMP__=\"redacted\"",
+                                "-D__TIME__=\"redacted\"",
+                                "-Wno-varargs",
+                                "-Wno-null-pointer-arithmetic",
+                                "-Wno-mismatched-new-delete",
+                            ],
+                        ),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"
+        or ctx.attr.cpu == "roborio"):
+        unfiltered_compile_flags_feature = feature(
+            name = "unfiltered_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-no-canonical-prefixes",
+                                "-Wno-builtin-macro-redefined",
+                                "-D__DATE__=\"redacted\"",
+                                "-D__TIMESTAMP__=\"redacted\"",
+                                "-D__TIME__=\"redacted\"",
+                            ],
+                        ),
+                    ],
+                ),
+            ],
+        )
+    elif (ctx.attr.cpu == "armhf-debian"):
+        unfiltered_compile_flags_feature = feature(
+            name = "unfiltered_compile_flags",
+            enabled = True,
+            flag_sets = [
+                flag_set(
+                    actions = [
+                        ACTION_NAMES.assemble,
+                        ACTION_NAMES.preprocess_assemble,
+                        ACTION_NAMES.linkstamp_compile,
+                        ACTION_NAMES.c_compile,
+                        ACTION_NAMES.cpp_compile,
+                        ACTION_NAMES.cpp_header_parsing,
+                        ACTION_NAMES.cpp_module_compile,
+                        ACTION_NAMES.cpp_module_codegen,
+                        ACTION_NAMES.lto_backend,
+                        ACTION_NAMES.clif_match,
+                    ],
+                    flag_groups = [
+                        flag_group(
+                            flags = [
+                                "-no-canonical-prefixes",
+                                "-Wno-builtin-macro-redefined",
+                                "-Wno-mismatched-new-delete",
+                                "-Wno-null-pointer-arithmetic",
+                                "-Wno-varargs",
+                                "-D__DATE__=\"redacted\"",
+                                "-D__TIMESTAMP__=\"redacted\"",
+                                "-D__TIME__=\"redacted\"",
+                            ],
+                        ),
+                    ],
+                ),
+            ],
+        )
+    else:
+        unfiltered_compile_flags_feature = None
+
+    dependency_file_feature = feature(
+        name = "dependency_file",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.objc_compile,
+                    ACTION_NAMES.objcpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.clif_match,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = ["-MD", "-MF", "%{dependency_file}"],
+                        expand_if_available = "dependency_file",
+                    ),
+                ],
+            ),
+        ],
+    )
+
+    objcopy_embed_flags_feature = feature(
+        name = "objcopy_embed_flags",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = ["objcopy_embed_data"],
+                flag_groups = [flag_group(flags = ["-I", "binary"])],
+            ),
+        ],
+    )
+
+    user_compile_flags_feature = feature(
+        name = "user_compile_flags",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.linkstamp_compile,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.lto_backend,
+                    ACTION_NAMES.clif_match,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = ["%{user_compile_flags}"],
+                        iterate_over = "user_compile_flags",
+                        expand_if_available = "user_compile_flags",
+                    ),
+                ],
+            ),
+        ],
+    )
+
+    sysroot_feature = feature(
+        name = "sysroot",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.linkstamp_compile,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.lto_backend,
+                    ACTION_NAMES.clif_match,
+                    ACTION_NAMES.cpp_link_executable,
+                    ACTION_NAMES.cpp_link_dynamic_library,
+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = ["--sysroot=%{sysroot}"],
+                        expand_if_available = "sysroot",
+                    ),
+                ],
+            ),
+        ],
+    )
+
+    compile_flags1_feature = feature(
+        name = "compile_flags1",
+        enabled = True,
+        flag_sets = [
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.lto_backend,
+                    ACTION_NAMES.clif_match,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = [
+                            "--sysroot=external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi",
+                            "-nostdinc",
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include",
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed",
+                        ],
+                    ),
+                ],
+            ),
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    "c++-header-preprocessing",
+                ],
+                flag_groups = [flag_group(flags = ["-fno-canonical-system-headers"])],
+            ),
+            flag_set(
+                actions = [
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = [
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0",
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi",
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward",
+                        ],
+                    ),
+                ],
+            ),
+            flag_set(
+                actions = [
+                    ACTION_NAMES.assemble,
+                    ACTION_NAMES.preprocess_assemble,
+                    ACTION_NAMES.c_compile,
+                    ACTION_NAMES.cpp_compile,
+                    ACTION_NAMES.cpp_header_parsing,
+                    ACTION_NAMES.cpp_module_compile,
+                    ACTION_NAMES.cpp_module_codegen,
+                    ACTION_NAMES.lto_backend,
+                    ACTION_NAMES.clif_match,
+                ],
+                flag_groups = [
+                    flag_group(
+                        flags = [
+                            "-isystem",
+                            "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include",
+                            "-mfpu=neon",
+                            "-D__STDC_FORMAT_MACROS",
+                            "-D__STDC_CONSTANT_MACROS",
+                            "-D__STDC_LIMIT_MACROS",
+                            "-D_FILE_OFFSET_BITS=64",
+                            "-DAOS_ARCHITECTURE_arm_frc",
+                            "-U_FORTIFY_SOURCE",
+                            "-fstack-protector",
+                            "-fPIE",
+                            "-fdiagnostics-color=always",
+                            "-Wall",
+                            "-Wextra",
+                            "-Wpointer-arith",
+                            "-Wstrict-aliasing",
+                            "-Wcast-qual",
+                            "-Wwrite-strings",
+                            "-Wtype-limits",
+                            "-Wsign-compare",
+                            "-Wformat=2",
+                            "-Werror",
+                            "-Wunused-local-typedefs",
+                            "-Wno-psabi",
+                            "-fno-omit-frame-pointer",
+                            "-D__has_feature(x)=0",
+                            "-pipe",
+                            "-ggdb3",
+                        ],
+                    ),
+                ],
+            ),
+        ],
+    )
+
+    if (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        features = [
+                default_compile_flags_feature,
+                default_link_flags_feature,
+                dbg_feature,
+                opt_feature,
+                fastbuild_feature,
+                all_modes_feature,
+                include_paths_feature,
+                objcopy_embed_flags_feature,
+                user_compile_flags_feature,
+                sysroot_feature,
+                unfiltered_compile_flags_feature,
+            ]
+    elif (ctx.attr.cpu == "armhf-debian"
+        or ctx.attr.cpu == "k8"):
+        features = [
+                default_compile_flags_feature,
+                default_link_flags_feature,
+                opt_feature,
+                dbg_feature,
+                fastbuild_feature,
+                all_modes_feature,
+                pie_for_linking_feature,
+                supports_dynamic_linker_feature,
+                supports_pic_feature,
+                objcopy_embed_flags_feature,
+                user_compile_flags_feature,
+                sysroot_feature,
+                unfiltered_compile_flags_feature,
+            ]
+    elif (ctx.attr.cpu == "roborio"):
+        features = [
+                default_link_flags_feature,
+                compile_flags1_feature,
+                opt_feature,
+                dependency_file_feature,
+                random_seed_feature,
+                pic_feature,
+                include_paths_feature,
+                opt_post_feature,
+                dbg_feature,
+                fastbuild_feature,
+                all_modes_feature,
+                pie_for_linking_feature,
+                supports_dynamic_linker_feature,
+                supports_pic_feature,
+                objcopy_embed_flags_feature,
+                user_compile_flags_feature,
+                sysroot_feature,
+                unfiltered_compile_flags_feature,
+            ]
+    elif (ctx.attr.cpu == "armeabi-v7a"):
+        features = [supports_pic_feature]
+    else:
+        fail("Unreachable")
+
+    if (ctx.attr.cpu == "armeabi-v7a"):
+        cxx_builtin_include_directories = []
+    elif (ctx.attr.cpu == "roborio"):
+        cxx_builtin_include_directories = [
+                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%",
+                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%",
+                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%",
+                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%",
+            ]
+    elif (ctx.attr.cpu == "k8"):
+        cxx_builtin_include_directories = [
+                "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include",
+                "%package(@amd64_debian_sysroot//usr)%/include",
+                "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include",
+                "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include-fixed",
+            ]
+    elif (ctx.attr.cpu == "armhf-debian"):
+        cxx_builtin_include_directories = [
+                "%package(@linaro_linux_gcc_repo//include)%",
+                "%package(@armhf_debian_rootfs//usr/include)%",
+                "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1",
+                "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%",
+                "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%",
+                "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1",
+            ]
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        cxx_builtin_include_directories = [
+                "/usr/lib/gcc/arm-none-eabi/4.8/include",
+                "/usr/lib/gcc/arm-none-eabi/4.8/include-fixed",
+                "/usr/lib/arm-none-eabi/include",
+                "/usr/include/newlib",
+            ]
+    else:
+        fail("Unreachable")
+
+    artifact_name_patterns = []
+
+    make_variables = []
+
+    if (ctx.attr.cpu == "roborio"):
+        tool_paths = [
+            tool_path(
+                name = "ar",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ar",
+            ),
+            tool_path(
+                name = "as",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-as",
+            ),
+            tool_path(
+                name = "compat-ld",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld",
+            ),
+            tool_path(
+                name = "cpp",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-cpp",
+            ),
+            tool_path(name = "dwp", path = "/bin/false"),
+            tool_path(
+                name = "gcc",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcc",
+            ),
+            tool_path(
+                name = "gcov",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9",
+            ),
+            tool_path(
+                name = "ld",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-ld",
+            ),
+            tool_path(
+                name = "nm",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-nm",
+            ),
+            tool_path(
+                name = "objcopy",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objcopy",
+            ),
+            tool_path(
+                name = "objdump",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-objdump",
+            ),
+            tool_path(
+                name = "strip",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-strip",
+            ),
+        ]
+    elif (ctx.attr.cpu == "k8"):
+        tool_paths = [
+            tool_path(
+                name = "ar",
+                path = "clang_6p0/x86_64-linux-gnu-ar",
+            ),
+            tool_path(
+                name = "compat-ld",
+                path = "clang_6p0/x86_64-linux-gnu-ld",
+            ),
+            tool_path(
+                name = "cpp",
+                path = "clang_6p0/x86_64-linux-gnu-cpp",
+            ),
+            tool_path(
+                name = "dwp",
+                path = "clang_6p0/x86_64-linux-gnu-dwp",
+            ),
+            tool_path(
+                name = "gcc",
+                path = "clang_6p0/x86_64-linux-gnu-clang-6.0",
+            ),
+            tool_path(
+                name = "gcov",
+                path = "clang_6p0/x86_64-linux-gnu-gcov",
+            ),
+            tool_path(
+                name = "ld",
+                path = "clang_6p0/x86_64-linux-gnu-ld",
+            ),
+            tool_path(
+                name = "nm",
+                path = "clang_6p0/x86_64-linux-gnu-nm",
+            ),
+            tool_path(
+                name = "objcopy",
+                path = "clang_6p0/x86_64-linux-gnu-objcopy",
+            ),
+            tool_path(
+                name = "objdump",
+                path = "clang_6p0/x86_64-linux-gnu-objdump",
+            ),
+            tool_path(
+                name = "strip",
+                path = "clang_6p0/x86_64-linux-gnu-strip",
+            ),
+        ]
+    elif (ctx.attr.cpu == "cortex-m4f"
+        or ctx.attr.cpu == "cortex-m4f-k22"):
+        tool_paths = [
+            tool_path(
+                name = "ar",
+                path = "gcc_arm_none_eabi/arm-none-eabi-ar",
+            ),
+            tool_path(
+                name = "compat-ld",
+                path = "gcc_arm_none_eabi/arm-none-eabi-ld",
+            ),
+            tool_path(
+                name = "cpp",
+                path = "gcc_arm_none_eabi/arm-none-eabi-cpp",
+            ),
+            tool_path(
+                name = "dwp",
+                path = "gcc_arm_none_eabi/arm-none-eabi-dwp",
+            ),
+            tool_path(
+                name = "gcc",
+                path = "gcc_arm_none_eabi/arm-none-eabi-gcc",
+            ),
+            tool_path(
+                name = "gcov",
+                path = "gcc_arm_none_eabi/arm-none-eabi-gcov",
+            ),
+            tool_path(
+                name = "ld",
+                path = "gcc_arm_none_eabi/arm-none-eabi-ld",
+            ),
+            tool_path(
+                name = "nm",
+                path = "gcc_arm_none_eabi/arm-none-eabi-nm",
+            ),
+            tool_path(
+                name = "objcopy",
+                path = "gcc_arm_none_eabi/arm-none-eabi-objcopy",
+            ),
+            tool_path(
+                name = "objdump",
+                path = "gcc_arm_none_eabi/arm-none-eabi-objdump",
+            ),
+            tool_path(
+                name = "strip",
+                path = "gcc_arm_none_eabi/arm-none-eabi-strip",
+            ),
+        ]
+    elif (ctx.attr.cpu == "armhf-debian"):
+        tool_paths = [
+            tool_path(
+                name = "ar",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-ar",
+            ),
+            tool_path(
+                name = "compat-ld",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-ld",
+            ),
+            tool_path(
+                name = "cpp",
+                path = "linaro_linux_gcc/clang_bin/clang",
+            ),
+            tool_path(
+                name = "dwp",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-dwp",
+            ),
+            tool_path(
+                name = "gcc",
+                path = "linaro_linux_gcc/clang_bin/clang",
+            ),
+            tool_path(
+                name = "gcov",
+                path = "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-gcov-4.9",
+            ),
+            tool_path(
+                name = "ld",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-ld",
+            ),
+            tool_path(
+                name = "nm",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-nm",
+            ),
+            tool_path(
+                name = "objcopy",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-objcopy",
+            ),
+            tool_path(
+                name = "objdump",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-objdump",
+            ),
+            tool_path(
+                name = "strip",
+                path = "linaro_linux_gcc/arm-linux-gnueabihf-strip",
+            ),
+        ]
+    elif (ctx.attr.cpu == "armeabi-v7a"):
+        tool_paths = [
+            tool_path(name = "ar", path = "/bin/false"),
+            tool_path(name = "compat-ld", path = "/bin/false"),
+            tool_path(name = "cpp", path = "/bin/false"),
+            tool_path(name = "dwp", path = "/bin/false"),
+            tool_path(name = "gcc", path = "/bin/false"),
+            tool_path(name = "gcov", path = "/bin/false"),
+            tool_path(name = "ld", path = "/bin/false"),
+            tool_path(name = "nm", path = "/bin/false"),
+            tool_path(name = "objcopy", path = "/bin/false"),
+            tool_path(name = "objdump", path = "/bin/false"),
+            tool_path(name = "strip", path = "/bin/false"),
+        ]
+    else:
+        fail("Unreachable")
+
+
+    out = ctx.actions.declare_file(ctx.label.name)
+    ctx.actions.write(out, "Fake executable")
+    return [
+        cc_common.create_cc_toolchain_config_info(
+            ctx = ctx,
+            features = features,
+            action_configs = action_configs,
+            artifact_name_patterns = artifact_name_patterns,
+            cxx_builtin_include_directories = cxx_builtin_include_directories,
+            toolchain_identifier = toolchain_identifier,
+            host_system_name = host_system_name,
+            target_system_name = target_system_name,
+            target_cpu = target_cpu,
+            target_libc = target_libc,
+            compiler = compiler,
+            abi_version = abi_version,
+            abi_libc_version = abi_libc_version,
+            tool_paths = tool_paths,
+            make_variables = make_variables,
+            builtin_sysroot = builtin_sysroot,
+            cc_target_os = cc_target_os
+        ),
+        DefaultInfo(
+            executable = out,
+        ),
+    ]
+cc_toolchain_config =  rule(
+    implementation = _impl,
+    attrs = {
+        "cpu": attr.string(mandatory=True, values=["armeabi-v7a", "armhf-debian", "cortex-m4f", "cortex-m4f-k22", "k8", "roborio"]),
+    },
+    provides = [CcToolchainConfigInfo],
+    executable = True,
+)
