diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-10 17:31:07 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-10 18:02:00 -0400 |
commit | 1fe81a4bcd25dba9319bc1bb49b078872f28ffa6 (patch) | |
tree | 7b3e9f467f4f7912645760fcbc73efc5bed47409 /lib/systems | |
parent | c9f6a82b619675a4ee1eb4fe9eac57efb69232fe (diff) | |
download | nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.gz nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.bz2 nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.lz nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.xz nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.zst nixlib-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.zip |
lib: Clean up float/fpu options
ARM ABIs now have a float field. This is used as a fallback to lessen our use of `platform.gcc.float`. I didn't know what the MIPs convention is so I kept using `platform.gcc.float` in that case.
Diffstat (limited to 'lib/systems')
-rw-r--r-- | lib/systems/examples.nix | 9 | ||||
-rw-r--r-- | lib/systems/parse.nix | 32 | ||||
-rw-r--r-- | lib/systems/platforms.nix | 6 |
3 files changed, 20 insertions, 27 deletions
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 80e320406bf4..32c24bab7c98 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -11,21 +11,16 @@ rec { sheevaplug = rec { config = "armv5tel-unknown-linux-gnueabi"; - float = "soft"; platform = platforms.sheevaplug; }; raspberryPi = rec { config = "armv6l-unknown-linux-gnueabihf"; - float = "hard"; - fpu = "vfp"; platform = platforms.raspberrypi; }; armv7l-hf-multiplatform = rec { config = "armv7a-unknown-linux-gnueabihf"; - float = "hard"; - fpu = "vfpv3-d16"; platform = platforms.armv7l-hf-multiplatform; }; @@ -47,26 +42,24 @@ rec { pogoplug4 = rec { config = "armv5tel-unknown-linux-gnueabi"; - float = "soft"; platform = platforms.pogoplug4; }; ben-nanonote = rec { config = "mipsel-unknown-linux-uclibc"; - float = "soft"; platform = { name = "ben_nanonote"; kernelMajor = "2.6"; kernelArch = "mips"; gcc = { arch = "mips32"; + float = "soft"; }; }; }; fuloongminipc = rec { config = "mipsel-unknown-linux-gnu"; - float = "hard"; platform = platforms.fuloong2f_n32; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 7ba06f129db8..3667766aa9f7 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -182,20 +182,24 @@ rec { types.abi = enum (attrValues abis); abis = setTypes types.openAbi { - android = {}; - cygnus = {}; - gnu = {}; - msvc = {}; - eabi = {}; - androideabi = {}; - gnueabi = {}; - gnueabihf = {}; - musleabi = {}; - musleabihf = {}; - musl = {}; - uclibceabihf = {}; - uclibceabi = {}; - uclibc = {}; + cygnus = {}; + msvc = {}; + eabi = {}; + + androideabi = {}; + android = {}; + + gnueabi = { float = "soft"; }; + gnueabihf = { float = "hard"; }; + gnu = {}; + + musleabi = { float = "soft"; }; + musleabihf = { float = "hard"; }; + musl = {}; + + uclibceabihf = { float = "soft"; }; + uclibceabi = { float = "hard"; }; + uclibc = {}; unknown = {}; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index f39e890fbf1c..d6587ac49a89 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -25,7 +25,6 @@ rec { gcc = { arch = "armv5te"; - float = "soft"; }; kernelMajor = "2.6"; @@ -158,7 +157,6 @@ rec { kernelDTB = true; # Beyond 3.10 gcc = { arch = "armv5te"; - float = "soft"; }; }; @@ -336,7 +334,6 @@ rec { gcc = { cpu = "cortex-a9"; fpu = "vfpv3"; - float = "hard"; }; }; @@ -363,7 +360,6 @@ rec { gcc = { cpu = "cortex-a9"; fpu = "neon"; - float = "hard"; }; }; @@ -449,6 +445,7 @@ rec { kernelTarget = "vmlinux"; gcc = { arch = "loongson2f"; + float = "hard"; abi = "n32"; }; }; @@ -498,7 +495,6 @@ rec { # and the above page suggests NEON is only an improvement with hand-written assembly. arch = "armv7-a"; fpu = "vfpv3-d16"; - float = "hard"; # For Raspberry Pi the 2 the best would be: # cpu = "cortex-a7"; |