blob: e01cf29dd18e2a438f90a59abcf0630ef5fd4377 [file] [log] [blame]
Tim Windelschmidt1f51cf42024-10-01 17:04:28 +02001From b2d165d9b2c811293f92bf083289c97c9d87d13c Mon Sep 17 00:00:00 2001
2From: Lorenz Brun <lorenz@monogon.tech>
3Date: Wed, 25 Sep 2024 02:37:09 +0200
4Subject: [PATCH 1/4] Add support for UEFI targets and OS
5
6---
7 rust/platform/triple_mappings.bzl | 7 +++++++
8 1 file changed, 7 insertions(+)
9
10diff --git a/rust/platform/triple_mappings.bzl b/rust/platform/triple_mappings.bzl
11index 139015da..efa9f167 100644
12--- a/rust/platform/triple_mappings.bzl
13+++ b/rust/platform/triple_mappings.bzl
14@@ -47,6 +47,7 @@ SUPPORTED_T2_PLATFORM_TRIPLES = {
15 "aarch64-fuchsia": _support(std = True, host_tools = False),
16 "aarch64-linux-android": _support(std = True, host_tools = False),
17 "aarch64-pc-windows-msvc": _support(std = True, host_tools = True),
18+ "aarch64-unknown-uefi": _support(std = True, host_tools = False),
19 "arm-unknown-linux-gnueabi": _support(std = True, host_tools = True),
20 "armv7-linux-androideabi": _support(std = True, host_tools = False),
21 "armv7-unknown-linux-gnueabi": _support(std = True, host_tools = True),
22@@ -65,6 +66,7 @@ SUPPORTED_T2_PLATFORM_TRIPLES = {
23 "x86_64-linux-android": _support(std = True, host_tools = False),
24 "x86_64-unknown-freebsd": _support(std = True, host_tools = True),
25 "x86_64-unknown-none": _support(std = True, host_tools = False),
26+ "x86_64-unknown-uefi": _support(std = True, host_tools = False),
27 }
28
29 _T3_PLATFORM_TRIPLES = {
30@@ -142,6 +144,7 @@ _SYSTEM_TO_BUILTIN_SYS_SUFFIX = {
31 "nto": "qnx",
32 "openbsd": "openbsd",
33 "solaris": None,
34+ "uefi": "uefi",
35 "unknown": None,
36 "wasi": None,
37 "windows": "windows",
38@@ -160,6 +163,7 @@ _SYSTEM_TO_BINARY_EXT = {
39 "nixos": "",
40 "none": "",
41 "nto": "",
42+ "uefi": ".efi",
43 # This is currently a hack allowing us to have the proper
44 # generated extension for the wasm target, similarly to the
45 # windows target
46@@ -181,6 +185,7 @@ _SYSTEM_TO_STATICLIB_EXT = {
47 "nixos": ".a",
48 "none": ".a",
49 "nto": ".a",
50+ "uefi": ".lib",
51 "unknown": "",
52 "wasi": "",
53 "windows": ".lib",
54@@ -199,6 +204,7 @@ _SYSTEM_TO_DYLIB_EXT = {
55 "nixos": ".so",
56 "none": ".so",
57 "nto": ".a",
58+ "uefi": "", # UEFI doesn't have dynamic linking
59 "unknown": ".wasm",
60 "wasi": ".wasm",
61 "windows": ".dll",
62@@ -244,6 +250,7 @@ _SYSTEM_TO_STDLIB_LINKFLAGS = {
63 "nto": [],
64 "openbsd": ["-lpthread"],
65 "solaris": ["-lsocket", "-lposix4", "-lpthread", "-lresolv"],
66+ "uefi": [],
67 "unknown": [],
68 "uwp": ["ws2_32.lib"],
69 "wasi": [],
70--
712.44.1
72