diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/systems/examples.nix | 4 | ||||
-rw-r--r-- | lib/systems/inspect.nix | 1 | ||||
-rw-r--r-- | lib/systems/parse.nix | 5 |
3 files changed, 10 insertions, 0 deletions
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 8ba03a63fd8d..e19143543902 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -99,6 +99,10 @@ rec { riscv64 = riscv "64"; riscv32 = riscv "32"; + arduino-uno = { + config = "avr"; + platform = { name = "avr5"; }; + }; # # Darwin diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 65f560328af5..2fcf1afe4628 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -19,6 +19,7 @@ rec { isRiscV = { cpu = { family = "riscv"; }; }; isSparc = { cpu = { family = "sparc"; }; }; isWasm = { cpu = { family = "wasm"; }; }; + isAvr = { cpu = { family = "avr"; }; }; is32bit = { cpu = { bits = 32; }; }; is64bit = { cpu = { bits = 64; }; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index bb26c93f3d7a..058d4bed9085 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -101,6 +101,8 @@ rec { wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; }; wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; }; + + avr = { bits = 8; family = "avr"; }; }; ################################################################################ @@ -255,6 +257,9 @@ rec { setType "system" components; mkSkeletonFromList = l: { + "1" = if elemAt l 0 == "avr" + then { cpu = elemAt l 0; kernel = "none"; abi = "unknown"; } + else throw "Target specification with 1 components is ambiguous"; "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"; } |