summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorMichael Bishop <cleverca22@gmail.com>2019-11-02 12:47:38 -0300
committerMichael Bishop <cleverca22@gmail.com>2019-11-19 22:19:15 -0400
commit4aa1ffae041bb9c65eb3067e9dbaaa70710ed100 (patch)
tree7c1d8395796e35e95e89e4e522dd036c9ba48608 /lib
parent91b02cd86b09bdd3549663e81883a2c3a7e11961 (diff)
downloadnixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar.gz
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar.bz2
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar.lz
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar.xz
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.tar.zst
nixpkgs-4aa1ffae041bb9c65eb3067e9dbaaa70710ed100.zip
initial implementation of vc4 cross-compile
Diffstat (limited to 'lib')
-rw-r--r--lib/systems/default.nix1
-rw-r--r--lib/systems/doubles.nix3
-rw-r--r--lib/systems/examples.nix6
-rw-r--r--lib/systems/inspect.nix1
-rw-r--r--lib/systems/parse.nix2
5 files changed, 12 insertions, 1 deletions
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 0d51be4b23b..026117cc34f 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -37,6 +37,7 @@ rec {
         else if final.isAndroid             then "bionic"
         else if final.isLinux /* default */ then "glibc"
         else if final.isMsp430              then "newlib"
+        else if final.isVc4                 then "newlib"
         else if final.isAvr                 then "avrlibc"
         else if final.isNetBSD              then "nblibc"
         # TODO(@Ericson2314) think more about other operating systems
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 58cff18e648..700c895b3ab 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -26,7 +26,7 @@ let
 
     "riscv32-linux" "riscv64-linux"
 
-    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none"
+    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none" "vc4-none"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -45,6 +45,7 @@ in {
   x86_64  = filterDoubles predicates.isx86_64;
   mips    = filterDoubles predicates.isMips;
   riscv   = filterDoubles predicates.isRiscV;
+  vc4     = filterDoubles predicates.isVc4;
 
   cygwin  = filterDoubles predicates.isCygwin;
   darwin  = filterDoubles predicates.isDarwin;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 585156c2475..cb8bc3de6c4 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -118,6 +118,12 @@ rec {
     config = "avr";
   };
 
+  vc4 = {
+    config = "vc4-elf";
+    libc = "newlib";
+    platform = {};
+  };
+
   arm-embedded = {
     config = "arm-none-eabi";
     libc = "newlib";
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 8a983b3d363..d1980c6dff8 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -21,6 +21,7 @@ rec {
     isSparc        = { cpu = { family = "sparc"; }; };
     isWasm         = { cpu = { family = "wasm"; }; };
     isMsp430       = { cpu = { family = "msp430"; }; };
+    isVc4          = { cpu = { family = "vc4"; }; };
     isAvr          = { cpu = { family = "avr"; }; };
     isAlpha        = { cpu = { family = "alpha"; }; };
     isJavaScript   = { cpu = cpuTypes.js; };
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 36235744602..6a02dbb5152 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -112,6 +112,8 @@ rec {
     msp430   = { bits = 16; significantByte = littleEndian; family = "msp430"; };
     avr      = { bits = 8; family = "avr"; };
 
+    vc4      = { bits = 32; significantByte = littleEndian; family = "vc4"; };
+
     js       = { bits = 32; significantByte = littleEndian; family = "js"; };
   };