|
|
|
@ -119,6 +119,7 @@ rec { |
|
|
|
|
apple = {}; |
|
|
|
|
pc = {}; |
|
|
|
|
|
|
|
|
|
none = {}; |
|
|
|
|
unknown = {}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -202,6 +203,7 @@ rec { |
|
|
|
|
cygnus = {}; |
|
|
|
|
msvc = {}; |
|
|
|
|
eabi = {}; |
|
|
|
|
elf = {}; |
|
|
|
|
|
|
|
|
|
androideabi = {}; |
|
|
|
|
android = { |
|
|
|
@ -263,6 +265,8 @@ rec { |
|
|
|
|
"2" = # We only do 2-part hacks for things Nix already supports |
|
|
|
|
if elemAt l 1 == "cygwin" |
|
|
|
|
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; } |
|
|
|
|
else if (elemAt l 1 == "eabi") |
|
|
|
|
then { cpu = elemAt l 0; vendor = "none"; kernel = "none"; abi = elemAt l 1; } |
|
|
|
|
else { cpu = elemAt l 0; kernel = elemAt l 1; }; |
|
|
|
|
"3" = # Awkwards hacks, beware! |
|
|
|
|
if elemAt l 1 == "apple" |
|
|
|
@ -273,6 +277,10 @@ rec { |
|
|
|
|
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; abi = "gnu"; } |
|
|
|
|
else if hasPrefix "netbsd" (elemAt l 2) |
|
|
|
|
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; } |
|
|
|
|
else if (elemAt l 2 == "eabi") |
|
|
|
|
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "none"; abi = elemAt l 2; } |
|
|
|
|
else if (elemAt l 2 == "elf") |
|
|
|
|
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "none"; abi = 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)} |
|
|
|
|