2017-07-28 20:05:35 -04:00
|
|
|
{ lib }:
|
2017-02-09 16:09:47 -05:00
|
|
|
let
|
2017-07-28 20:05:35 -04:00
|
|
|
inherit (lib) lists;
|
2018-01-30 22:10:34 -05:00
|
|
|
inherit (lib.systems) parse;
|
|
|
|
inherit (lib.systems.inspect) predicates;
|
2017-07-28 20:05:35 -04:00
|
|
|
inherit (lib.attrsets) matchAttrs;
|
2017-05-21 13:39:23 -04:00
|
|
|
|
2017-02-09 16:09:47 -05:00
|
|
|
all = [
|
2021-04-18 22:25:54 +00:00
|
|
|
# Cygwin
|
|
|
|
"i686-cygwin" "x86_64-cygwin"
|
2017-02-09 16:09:47 -05:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# Darwin
|
|
|
|
"x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
|
2017-02-09 16:09:47 -05:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# FreeBSD
|
|
|
|
"i686-freebsd" "x86_64-freebsd"
|
2017-02-09 16:09:47 -05:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# Genode
|
|
|
|
"aarch64-genode" "i686-genode" "x86_64-genode"
|
2018-10-16 21:56:58 -05:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# illumos
|
|
|
|
"x86_64-solaris"
|
2019-07-10 14:38:55 -04:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# JS
|
|
|
|
"js-ghcjs"
|
2019-01-29 21:01:24 -05:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# Linux
|
|
|
|
"aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
|
2021-08-01 12:22:53 +00:00
|
|
|
"armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux"
|
|
|
|
"powerpc64-linux" "powerpc64le-linux" "riscv32-linux"
|
2021-09-07 10:10:38 +01:00
|
|
|
"riscv64-linux" "s390-linux" "s390x-linux" "x86_64-linux"
|
2019-04-30 11:50:45 -04:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# MMIXware
|
|
|
|
"mmix-mmixware"
|
2020-07-21 13:11:36 -07:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# NetBSD
|
2021-04-18 22:53:35 +00:00
|
|
|
"aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd"
|
2021-08-01 12:25:45 +00:00
|
|
|
"i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd"
|
|
|
|
"riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd"
|
2019-06-04 13:34:40 -04:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# none
|
2021-08-01 12:22:53 +00:00
|
|
|
"aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
|
|
|
|
"msp430-none" "or1k-none" "m68k-none" "powerpc-none"
|
2021-09-07 10:10:38 +01:00
|
|
|
"riscv32-none" "riscv64-none" "s390-none" "s390x-none" "vc4-none"
|
|
|
|
"x86_64-none"
|
2019-06-04 13:34:40 -04:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# OpenBSD
|
|
|
|
"i686-openbsd" "x86_64-openbsd"
|
2019-11-24 23:07:20 +00:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# Redox
|
|
|
|
"x86_64-redox"
|
2020-11-04 21:13:06 +07:00
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# WASI
|
|
|
|
"wasm64-wasi" "wasm32-wasi"
|
2020-03-24 13:32:18 +05:30
|
|
|
|
2021-04-18 22:25:54 +00:00
|
|
|
# Windows
|
|
|
|
"x86_64-windows" "i686-windows"
|
2017-02-09 16:09:47 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
allParsed = map parse.mkSystemFromString all;
|
|
|
|
|
|
|
|
filterDoubles = f: map parse.doubleFromSystem (lists.filter f allParsed);
|
|
|
|
|
2019-08-13 21:52:01 +00:00
|
|
|
in {
|
2017-02-09 16:09:47 -05:00
|
|
|
inherit all;
|
2009-09-23 19:45:02 +00:00
|
|
|
|
2016-02-26 18:53:03 +00:00
|
|
|
none = [];
|
|
|
|
|
2020-02-24 14:35:27 +01:00
|
|
|
arm = filterDoubles predicates.isAarch32;
|
|
|
|
aarch64 = filterDoubles predicates.isAarch64;
|
|
|
|
x86 = filterDoubles predicates.isx86;
|
|
|
|
i686 = filterDoubles predicates.isi686;
|
|
|
|
x86_64 = filterDoubles predicates.isx86_64;
|
|
|
|
mips = filterDoubles predicates.isMips;
|
2020-11-04 21:13:06 +07:00
|
|
|
mmix = filterDoubles predicates.isMmix;
|
2020-02-24 14:35:27 +01:00
|
|
|
riscv = filterDoubles predicates.isRiscV;
|
|
|
|
vc4 = filterDoubles predicates.isVc4;
|
2020-11-09 15:06:44 -05:00
|
|
|
or1k = filterDoubles predicates.isOr1k;
|
2021-07-24 01:20:02 +07:00
|
|
|
m68k = filterDoubles predicates.isM68k;
|
2021-07-24 01:20:02 +07:00
|
|
|
s390 = filterDoubles predicates.isS390;
|
2020-02-24 14:35:27 +01:00
|
|
|
js = filterDoubles predicates.isJavaScript;
|
|
|
|
|
|
|
|
bigEndian = filterDoubles predicates.isBigEndian;
|
|
|
|
littleEndian = filterDoubles predicates.isLittleEndian;
|
|
|
|
|
|
|
|
cygwin = filterDoubles predicates.isCygwin;
|
|
|
|
darwin = filterDoubles predicates.isDarwin;
|
|
|
|
freebsd = filterDoubles predicates.isFreeBSD;
|
2018-08-28 22:17:54 +01:00
|
|
|
# Should be better, but MinGW is unclear.
|
2021-03-15 19:22:57 -07:00
|
|
|
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; });
|
2020-02-24 14:35:27 +01:00
|
|
|
illumos = filterDoubles predicates.isSunOS;
|
|
|
|
linux = filterDoubles predicates.isLinux;
|
|
|
|
netbsd = filterDoubles predicates.isNetBSD;
|
|
|
|
openbsd = filterDoubles predicates.isOpenBSD;
|
|
|
|
unix = filterDoubles predicates.isUnix;
|
|
|
|
wasi = filterDoubles predicates.isWasi;
|
|
|
|
redox = filterDoubles predicates.isRedox;
|
|
|
|
windows = filterDoubles predicates.isWindows;
|
|
|
|
genode = filterDoubles predicates.isGenode;
|
|
|
|
|
|
|
|
embedded = filterDoubles predicates.isNone;
|
2019-06-04 14:49:58 -04:00
|
|
|
|
2021-06-02 22:22:44 -07:00
|
|
|
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "armv7a-linux" "aarch64-linux" "powerpc64-linux" "powerpc64le-linux" "aarch64-darwin" "riscv64-linux"];
|
2009-08-25 08:28:08 +00:00
|
|
|
}
|