blob: e70f7f3cf2f60d048a50c724483ce7025f294f79 [file] [log] [blame]
Lorenz Brunf551a762023-08-29 23:21:25 +02001From 28b8651b0ccba1f41802a2aff12643b51436b32b Mon Sep 17 00:00:00 2001
2From: Lorenz Brun <lorenz@monogon.tech>
3Date: Tue, 29 Aug 2023 19:02:45 +0200
4Subject: [PATCH] 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 61a71c73..ce594522 100644
12--- a/rust/platform/triple_mappings.bzl
13+++ b/rust/platform/triple_mappings.bzl
14@@ -27,6 +27,7 @@ SUPPORTED_T2_PLATFORM_TRIPLES = [
15 "aarch64-fuchsia",
16 "aarch64-linux-android",
17 "aarch64-pc-windows-msvc",
18+ "aarch64-unknown-uefi",
19 "arm-unknown-linux-gnueabi",
20 "armv7-linux-androideabi",
21 "armv7-unknown-linux-gnueabi",
22@@ -45,6 +46,7 @@ SUPPORTED_T2_PLATFORM_TRIPLES = [
23 "x86_64-linux-android",
24 "x86_64-unknown-freebsd",
25 "x86_64-unknown-none",
26+ "x86_64-unknown-uefi",
27 ]
28
29 SUPPORTED_PLATFORM_TRIPLES = SUPPORTED_T1_PLATFORM_TRIPLES + SUPPORTED_T2_PLATFORM_TRIPLES
30@@ -97,6 +99,7 @@ _SYSTEM_TO_BUILTIN_SYS_SUFFIX = {
31 "none": "none",
32 "openbsd": "openbsd",
33 "solaris": None,
34+ "uefi": "uefi",
35 "unknown": None,
36 "wasi": None,
37 "windows": "windows",
38@@ -113,6 +116,7 @@ _SYSTEM_TO_BINARY_EXT = {
39 "ios": "",
40 "linux": "",
41 "none": "",
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@@ -132,6 +136,7 @@ _SYSTEM_TO_STATICLIB_EXT = {
47 "ios": ".a",
48 "linux": ".a",
49 "none": ".a",
50+ "uefi": ".lib",
51 "unknown": "",
52 "wasi": "",
53 "windows": ".lib",
54@@ -148,6 +153,7 @@ _SYSTEM_TO_DYLIB_EXT = {
55 "ios": ".dylib",
56 "linux": ".so",
57 "none": ".so",
58+ "uefi": "", # UEFI doesn't have dynamic linking
59 "unknown": ".wasm",
60 "wasi": ".wasm",
61 "windows": ".dll",
62@@ -191,6 +197,7 @@ _SYSTEM_TO_STDLIB_LINKFLAGS = {
63 "none": [],
64 "openbsd": ["-lpthread"],
65 "solaris": ["-lsocket", "-lposix4", "-lpthread", "-lresolv"],
66+ "uefi": [],
67 "unknown": [],
68 "uwp": ["ws2_32.lib"],
69 "wasi": [],
70--
712.41.0
72