|
|
|
@ -106,10 +106,12 @@ rec { |
|
|
|
|
|
|
|
|
|
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; }; |
|
|
|
|
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; }; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; }; |
|
|
|
|
|
|
|
|
|
avr = { bits = 8; family = "avr"; }; |
|
|
|
|
|
|
|
|
|
js = { bits = 32; significantByte = littleEndian; family = "js"; }; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
################################################################################ |
|
|
|
@ -188,6 +190,7 @@ rec { |
|
|
|
|
openbsd = { execFormat = elf; families = { inherit bsd; }; }; |
|
|
|
|
solaris = { execFormat = elf; families = { }; }; |
|
|
|
|
windows = { execFormat = pe; families = { }; }; |
|
|
|
|
ghcjs = { execFormat = unknown; families = { }; }; |
|
|
|
|
} // { # aliases |
|
|
|
|
# 'darwin' is the kernel for all of them. We choose macOS by default. |
|
|
|
|
darwin = kernels.macos; |
|
|
|
@ -299,6 +302,8 @@ rec { |
|
|
|
|
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; } |
|
|
|
|
else if (elem (elemAt l 2) ["eabi" "eabihf" "elf"]) |
|
|
|
|
then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 1; abi = elemAt l 2; } |
|
|
|
|
else if (elemAt l 2 == "ghcjs") |
|
|
|
|
then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 2; } |
|
|
|
|
else throw "Target specification with 3 components is ambiguous"; |
|
|
|
|
"4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; }; |
|
|
|
|
}.${toString (length l)} |
|
|
|
|