Merge pull request #131310 from siraben/m86k-cross

Initial implementation of m68k cross-compile

authored by

John Ericson and committed by
GitHub
c5a8d45d ee9d28cf

+12 -2
+3 -1
lib/systems/doubles.nix
··· 28 28 "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" 29 29 "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux" 30 30 "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" 31 + "m68k-linux" 31 32 32 33 # MMIXware 33 34 "mmix-mmixware" ··· 39 40 40 41 # none 41 42 "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none" 42 - "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" 43 + "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" "m68k-none" 43 44 "x86_64-none" 44 45 45 46 # OpenBSD ··· 74 75 riscv = filterDoubles predicates.isRiscV; 75 76 vc4 = filterDoubles predicates.isVc4; 76 77 or1k = filterDoubles predicates.isOr1k; 78 + m68k = filterDoubles predicates.isM68k; 77 79 js = filterDoubles predicates.isJavaScript; 78 80 79 81 bigEndian = filterDoubles predicates.isBigEndian;
+4
lib/systems/examples.nix
··· 144 144 libc = "newlib"; 145 145 }; 146 146 147 + m68k = { 148 + config = "m68k-unknown-linux-gnu"; 149 + }; 150 + 147 151 arm-embedded = { 148 152 config = "arm-none-eabi"; 149 153 libc = "newlib";
+1
lib/systems/inspect.nix
··· 26 26 isAvr = { cpu = { family = "avr"; }; }; 27 27 isAlpha = { cpu = { family = "alpha"; }; }; 28 28 isOr1k = { cpu = { family = "or1k"; }; }; 29 + isM68k = { cpu = { family = "m68k"; }; }; 29 30 isJavaScript = { cpu = cpuTypes.js; }; 30 31 31 32 is32bit = { cpu = { bits = 32; }; };
+2
lib/systems/parse.nix
··· 95 95 96 96 mmix = { bits = 64; significantByte = bigEndian; family = "mmix"; }; 97 97 98 + m68k = { bits = 32; significantByte = bigEndian; family = "m68k"; }; 99 + 98 100 powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; 99 101 powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; }; 100 102 powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
+1 -1
lib/tests/systems.nix
··· 28 28 testredox = mseteq redox [ "x86_64-redox" ]; 29 29 testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); 30 30 testillumos = mseteq illumos [ "x86_64-solaris" ]; 31 - 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" ]; 31 + 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" ]; 32 32 testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ]; 33 33 testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; 34 34 testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
+1
pkgs/build-support/bintools-wrapper/default.nix
··· 208 208 else if targetPlatform.isAlpha then "alpha" 209 209 else if targetPlatform.isVc4 then "vc4" 210 210 else if targetPlatform.isOr1k then "or1k" 211 + else if targetPlatform.isM68k then "m68k" 211 212 else if targetPlatform.isRiscV then "lriscv" 212 213 else throw "unknown emulation for platform: ${targetPlatform.config}"; 213 214 in if targetPlatform.useLLVM or false then ""