diff options
Diffstat (limited to 'nixpkgs/lib/systems/examples.nix')
-rw-r--r-- | nixpkgs/lib/systems/examples.nix | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/nixpkgs/lib/systems/examples.nix b/nixpkgs/lib/systems/examples.nix new file mode 100644 index 00000000000..19b3790ecbe --- /dev/null +++ b/nixpkgs/lib/systems/examples.nix @@ -0,0 +1,250 @@ +# These can be passed to nixpkgs as either the `localSystem` or +# `crossSystem`. They are put here for user convenience, but also used by cross +# tests and linux cross stdenv building, so handle with care! +{ lib }: +let + platforms = import ./platforms.nix { inherit lib; }; + + riscv = bits: { + config = "riscv${bits}-unknown-linux-gnu"; + platform = platforms.riscv-multiplatform bits; + }; +in + +rec { + # + # Linux + # + powernv = { + config = "powerpc64le-unknown-linux-gnu"; + platform = platforms.powernv; + }; + musl-power = { + config = "powerpc64le-unknown-linux-musl"; + platform = platforms.powernv; + }; + + sheevaplug = { + config = "armv5tel-unknown-linux-gnueabi"; + platform = platforms.sheevaplug; + }; + + raspberryPi = { + config = "armv6l-unknown-linux-gnueabihf"; + platform = platforms.raspberrypi; + }; + + armv7l-hf-multiplatform = { + config = "armv7l-unknown-linux-gnueabihf"; + platform = platforms.armv7l-hf-multiplatform; + }; + + aarch64-multiplatform = { + config = "aarch64-unknown-linux-gnu"; + platform = platforms.aarch64-multiplatform; + }; + + armv7a-android-prebuilt = { + config = "armv7a-unknown-linux-androideabi"; + sdkVer = "24"; + ndkVer = "18b"; + platform = platforms.armv7a-android; + useAndroidPrebuilt = true; + }; + + aarch64-android-prebuilt = { + config = "aarch64-unknown-linux-android"; + sdkVer = "24"; + ndkVer = "18b"; + platform = platforms.aarch64-multiplatform; + useAndroidPrebuilt = true; + }; + + scaleway-c1 = armv7l-hf-multiplatform // rec { + platform = platforms.scaleway-c1; + inherit (platform.gcc) fpu; + }; + + pogoplug4 = { + config = "armv5tel-unknown-linux-gnueabi"; + platform = platforms.pogoplug4; + }; + + ben-nanonote = { + config = "mipsel-unknown-linux-uclibc"; + platform = platforms.ben_nanonote; + }; + + fuloongminipc = { + config = "mipsel-unknown-linux-gnu"; + platform = platforms.fuloong2f_n32; + }; + + muslpi = raspberryPi // { + config = "armv6l-unknown-linux-musleabihf"; + }; + + aarch64-multiplatform-musl = aarch64-multiplatform // { + config = "aarch64-unknown-linux-musl"; + }; + + gnu64 = { config = "x86_64-unknown-linux-gnu"; }; + gnu32 = { config = "i686-unknown-linux-gnu"; }; + + musl64 = { config = "x86_64-unknown-linux-musl"; }; + musl32 = { config = "i686-unknown-linux-musl"; }; + + riscv64 = riscv "64"; + riscv32 = riscv "32"; + + riscv64-embedded = { + config = "riscv64-none-elf"; + libc = "newlib"; + platform = platforms.riscv-multiplatform "64"; + }; + + riscv32-embedded = { + config = "riscv32-none-elf"; + libc = "newlib"; + platform = platforms.riscv-multiplatform "32"; + }; + + msp430 = { + config = "msp430-elf"; + libc = "newlib"; + }; + + avr = { + config = "avr"; + }; + + vc4 = { + config = "vc4-elf"; + libc = "newlib"; + platform = {}; + }; + + arm-embedded = { + config = "arm-none-eabi"; + libc = "newlib"; + }; + armhf-embedded = { + config = "arm-none-eabihf"; + libc = "newlib"; + }; + + aarch64-embedded = { + config = "aarch64-none-elf"; + libc = "newlib"; + }; + + aarch64be-embedded = { + config = "aarch64_be-none-elf"; + libc = "newlib"; + }; + + ppc-embedded = { + config = "powerpc-none-eabi"; + libc = "newlib"; + }; + + ppcle-embedded = { + config = "powerpcle-none-eabi"; + libc = "newlib"; + }; + + i686-embedded = { + config = "i686-elf"; + libc = "newlib"; + }; + + x86_64-embedded = { + config = "x86_64-elf"; + libc = "newlib"; + }; + + # + # Darwin + # + + iphone64 = { + config = "aarch64-apple-ios"; + # config = "aarch64-apple-darwin14"; + sdkVer = "12.4"; + xcodeVer = "10.3"; + xcodePlatform = "iPhoneOS"; + useiOSPrebuilt = true; + platform = {}; + }; + + iphone32 = { + config = "armv7a-apple-ios"; + # config = "arm-apple-darwin10"; + sdkVer = "12.4"; + xcodeVer = "10.3"; + xcodePlatform = "iPhoneOS"; + useiOSPrebuilt = true; + platform = {}; + }; + + iphone64-simulator = { + config = "x86_64-apple-ios"; + # config = "x86_64-apple-darwin14"; + sdkVer = "12.4"; + xcodeVer = "10.3"; + xcodePlatform = "iPhoneSimulator"; + useiOSPrebuilt = true; + platform = {}; + }; + + iphone32-simulator = { + config = "i686-apple-ios"; + # config = "i386-apple-darwin11"; + sdkVer = "12.4"; + xcodeVer = "10.3"; + xcodePlatform = "iPhoneSimulator"; + useiOSPrebuilt = true; + platform = {}; + }; + + # + # Windows + # + + # 32 bit mingw-w64 + mingw32 = { + config = "i686-w64-mingw32"; + libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain + platform = {}; + }; + + # 64 bit mingw-w64 + mingwW64 = { + # That's the triplet they use in the mingw-w64 docs. + config = "x86_64-w64-mingw32"; + libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain + platform = {}; + }; + + # BSDs + + amd64-netbsd = { + config = "x86_64-unknown-netbsd"; + libc = "nblibc"; + }; + + # + # WASM + # + + wasi32 = { + config = "wasm32-unknown-wasi"; + useLLVM = true; + }; + + # Ghcjs + ghcjs = { + config = "js-unknown-ghcjs"; + platform = {}; + }; +} |