b/t/llvm-efi: add EFI toolchain based on LLVM

This adds a Bazel toolchain for building EFI binaries using rules_cc
with LLVM installed in the container.

It does not yet add an EFI standard library.

Change-Id: I9eb15de6f4f800ab6351607d2fb01dad3135da9f
Reviewed-on: https://review.monogon.dev/c/monogon/+/333
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/build/toolchain/llvm-efi/transition.bzl b/build/toolchain/llvm-efi/transition.bzl
new file mode 100644
index 0000000..00c1433
--- /dev/null
+++ b/build/toolchain/llvm-efi/transition.bzl
@@ -0,0 +1,15 @@
+def _build_efi_transition_impl(settings, attr):
+    """
+    Transition that enables building for an EFI environment. Currently ony supports C code.
+    """
+    return {
+        "//command_line_option:crosstool_top": "//build/toolchain/llvm-efi:efi_cc_suite",
+    }
+
+build_efi_transition = transition(
+    implementation = _build_efi_transition_impl,
+    inputs = [],
+    outputs = [
+        "//command_line_option:crosstool_top",
+    ],
+)