at 17.09-beta 2.9 kB view raw
1# These can be passed to nixpkgs as either the `localSystem` or 2# `crossSystem`. They are put here for user convenience, but also used by cross 3# tests and linux cross stdenv building, so handle with care! 4 5let platforms = import ./platforms.nix; in 6 7rec { 8 # 9 # Linux 10 # 11 12 sheevaplug = rec { 13 config = "armv5tel-unknown-linux-gnueabi"; 14 bigEndian = false; 15 arch = "armv5tel"; 16 float = "soft"; 17 withTLS = true; 18 libc = "glibc"; 19 platform = platforms.sheevaplug; 20 openssl.system = "linux-generic32"; 21 inherit (platform) gcc; 22 }; 23 24 raspberryPi = rec { 25 config = "armv6l-unknown-linux-gnueabihf"; 26 bigEndian = false; 27 arch = "armv6l"; 28 float = "hard"; 29 fpu = "vfp"; 30 withTLS = true; 31 libc = "glibc"; 32 platform = platforms.raspberrypi; 33 openssl.system = "linux-generic32"; 34 inherit (platform) gcc; 35 }; 36 37 armv7l-hf-multiplatform = rec { 38 config = "arm-unknown-linux-gnueabihf"; 39 bigEndian = false; 40 arch = "armv7-a"; 41 float = "hard"; 42 fpu = "vfpv3-d16"; 43 withTLS = true; 44 libc = "glibc"; 45 platform = platforms.armv7l-hf-multiplatform; 46 openssl.system = "linux-generic32"; 47 inherit (platform) gcc; 48 }; 49 50 aarch64-multiplatform = rec { 51 config = "aarch64-unknown-linux-gnu"; 52 bigEndian = false; 53 arch = "aarch64"; 54 withTLS = true; 55 libc = "glibc"; 56 platform = platforms.aarch64-multiplatform; 57 inherit (platform) gcc; 58 }; 59 60 scaleway-c1 = armv7l-hf-multiplatform // rec { 61 platform = platforms.scaleway-c1; 62 inherit (platform) gcc; 63 inherit (gcc) fpu; 64 }; 65 66 pogoplug4 = rec { 67 arch = "armv5tel"; 68 config = "armv5tel-softfloat-linux-gnueabi"; 69 float = "soft"; 70 71 platform = platforms.pogoplug4; 72 73 inherit (platform) gcc; 74 libc = "glibc"; 75 76 withTLS = true; 77 openssl.system = "linux-generic32"; 78 }; 79 80 fuloongminipc = rec { 81 config = "mips64el-unknown-linux-gnu"; 82 bigEndian = false; 83 arch = "mips"; 84 float = "hard"; 85 withTLS = true; 86 libc = "glibc"; 87 platform = platforms.fuloong2f_n32; 88 openssl.system = "linux-generic32"; 89 inherit (platform) gcc; 90 }; 91 92 # 93 # Darwin 94 # 95 96 iphone64 = { 97 config = "aarch64-apple-darwin14"; 98 arch = "arm64"; 99 libc = "libSystem"; 100 platform = {}; 101 }; 102 103 iphone32 = { 104 config = "arm-apple-darwin10"; 105 arch = "armv7-a"; 106 libc = "libSystem"; 107 platform = {}; 108 }; 109 110 # 111 # Windows 112 # 113 114 # 32 bit mingw-w64 115 mingw32 = { 116 config = "i686-pc-mingw32"; 117 arch = "x86"; # Irrelevant 118 libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain 119 platform = {}; 120 }; 121 122 # 64 bit mingw-w64 123 mingwW64 = { 124 # That's the triplet they use in the mingw-w64 docs. 125 config = "x86_64-pc-mingw32"; 126 arch = "x86_64"; # Irrelevant 127 libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain 128 platform = {}; 129 }; 130}