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",
+ ],
+)