diff options
author | Ben Siraphob <bensiraphob@gmail.com> | 2021-07-24 01:20:02 +0700 |
---|---|---|
committer | Ben Siraphob <bensiraphob@gmail.com> | 2021-07-25 10:12:18 +0700 |
commit | 0f1204bd2be0ca1ea60b70d6d1eb7a11077f6986 (patch) | |
tree | 6978870d44854f0c71e88be205e00fe5ec1313ea /lib | |
parent | 8813af68212ad4e0366ec792ab078c6c1151025c (diff) |
Initial implementation of s390 cross-compile
Diffstat (limited to 'lib')
-rw-r--r-- | lib/systems/doubles.nix | 5 | ||||
-rw-r--r-- | lib/systems/examples.nix | 4 | ||||
-rw-r--r-- | lib/systems/inspect.nix | 1 | ||||
-rw-r--r-- | lib/systems/parse.nix | 2 | ||||
-rw-r--r-- | lib/tests/systems.nix | 2 |
5 files changed, 11 insertions, 3 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index b8d154ad635eb..aa630b51ed8ca 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -28,7 +28,7 @@ let "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux" "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" - "m68k-linux" + "m68k-linux" "s390-linux" # MMIXware "mmix-mmixware" @@ -41,7 +41,7 @@ let # none "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none" "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" "m68k-none" - "x86_64-none" + "s390-none" "x86_64-none" # OpenBSD "i686-openbsd" "x86_64-openbsd" @@ -76,6 +76,7 @@ in { vc4 = filterDoubles predicates.isVc4; or1k = filterDoubles predicates.isOr1k; m68k = filterDoubles predicates.isM68k; + s390 = filterDoubles predicates.isS390; js = filterDoubles predicates.isJavaScript; bigEndian = filterDoubles predicates.isBigEndian; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index ce7515bc9ccd2..32b236d6960c2 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -148,6 +148,10 @@ rec { config = "m68k-unknown-linux-gnu"; }; + s390 = { + config = "s390-unknown-linux-gnu"; + }; + arm-embedded = { config = "arm-none-eabi"; libc = "newlib"; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index a74847d43407b..2fba95aa1a67d 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -27,6 +27,7 @@ rec { isAlpha = { cpu = { family = "alpha"; }; }; isOr1k = { cpu = { family = "or1k"; }; }; isM68k = { cpu = { family = "m68k"; }; }; + isS390 = { cpu = { family = "s390"; }; }; isJavaScript = { cpu = cpuTypes.js; }; is32bit = { cpu = { bits = 32; }; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 8a8b08881496e..386f252f2ba45 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -105,6 +105,8 @@ rec { riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; }; riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; }; + s390 = { bits = 32; significantByte = bigEndian; family = "s390"; }; + sparc = { bits = 32; significantByte = bigEndian; family = "sparc"; }; sparc64 = { bits = 64; significantByte = bigEndian; family = "sparc"; }; diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 378dc53759883..6bd43f0d0d00e 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -28,7 +28,7 @@ with lib.systems.doubles; lib.runTests { testredox = mseteq redox [ "x86_64-redox" ]; testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); testillumos = mseteq illumos [ "x86_64-solaris" ]; - testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" ]; + testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" ]; testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ]; testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ]; |