lib.systems: add uefi support

Signed-off-by: Theo Paris <theo@theoparis.com>
Change-Id: I51ce15449fc83f0ff39277d7cde7b34a6a6a6964

lib.systems: remove i686-uefi
This commit is contained in:
Theo Paris 2026-01-06 19:24:30 -08:00
parent 9553a83c4c
commit 9f605ca95e
No known key found for this signature in database
5 changed files with 34 additions and 0 deletions

View file

@ -109,6 +109,10 @@ let
"aarch64-windows"
"x86_64-windows"
"i686-windows"
# UEFI
"aarch64-uefi"
"x86_64-uefi"
];
allParsed = map parse.mkSystemFromString all;
@ -189,6 +193,7 @@ in
redox = filterDoubles predicates.isRedox;
windows = filterDoubles predicates.isWindows;
genode = filterDoubles predicates.isGenode;
uefi = filterDoubles predicates.isUefi;
embedded = filterDoubles predicates.isNone;
}

View file

@ -337,6 +337,24 @@ rec {
platform = { };
};
#
# UEFI
#
x86_64-unknown-uefi = {
config = "x86_64-unknown-uefi";
libc = null;
useLLVM = true;
linker = "lld";
};
aarch64-unknown-uefi = {
config = "aarch64-unknown-uefi";
libc = null;
useLLVM = true;
linker = "lld";
};
#
# Windows
#

View file

@ -431,6 +431,10 @@ rec {
}
];
isUefi = [
{ kernel = kernels.uefi; }
];
isElf = {
kernel.execFormat = execFormats.elf;
};

View file

@ -634,6 +634,10 @@ rec {
execFormat = unknown;
families = { };
};
uefi = {
execFormat = pe;
families = { };
};
}
// {
# aliases
@ -849,6 +853,7 @@ rec {
"mmixware"
"ghcjs"
"mingw32"
"uefi"
]
|| hasPrefix "freebsd" (elemAt l 2)
|| hasPrefix "netbsd" (elemAt l 2)

View file

@ -55,6 +55,7 @@ lib.runTests (
++ js
++ genode
++ redox
++ uefi
);
testarm = mseteq arm [
@ -136,6 +137,7 @@ lib.runTests (
"x86_64-solaris"
"x86_64-windows"
"x86_64-none"
"x86_64-uefi"
];
testcygwin = mseteq cygwin [