Lorenz Brun | f551a76 | 2023-08-29 23:21:25 +0200 | [diff] [blame] | 1 | From 28b8651b0ccba1f41802a2aff12643b51436b32b Mon Sep 17 00:00:00 2001 |
| 2 | From: Lorenz Brun <lorenz@monogon.tech> |
| 3 | Date: Tue, 29 Aug 2023 19:02:45 +0200 |
| 4 | Subject: [PATCH] Add support for UEFI targets and OS |
| 5 | |
| 6 | --- |
| 7 | rust/platform/triple_mappings.bzl | 7 +++++++ |
| 8 | 1 file changed, 7 insertions(+) |
| 9 | |
| 10 | diff --git a/rust/platform/triple_mappings.bzl b/rust/platform/triple_mappings.bzl |
| 11 | index 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 | -- |
| 71 | 2.41.0 |
| 72 | |