summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-10 17:31:07 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-10 18:02:00 -0400
commit1fe81a4bcd25dba9319bc1bb49b078872f28ffa6 (patch)
tree7b3e9f467f4f7912645760fcbc73efc5bed47409 /pkgs
parentc9f6a82b619675a4ee1eb4fe9eac57efb69232fe (diff)
downloadnixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar
nixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.gz
nixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.bz2
nixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.lz
nixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.xz
nixpkgs-1fe81a4bcd25dba9319bc1bb49b078872f28ffa6.tar.zst
nixpkgs-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 'pkgs')
-rw-r--r--pkgs/development/compilers/gcc/common/platform-flags.nix3
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
2 files changed, 5 insertions, 2 deletions
diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix
index 71997752ad1..e261f54f582 100644
--- a/pkgs/development/compilers/gcc/common/platform-flags.nix
+++ b/pkgs/development/compilers/gcc/common/platform-flags.nix
@@ -2,11 +2,12 @@
 
 let
   p = targetPlatform.platform.gcc or {};
+  float = p.float or (targetPlatform.parsed.abi.float or null);
 in lib.concatLists [
   (lib.optional (p ? arch) "--with-arch=${p.arch}")
   (lib.optional (p ? cpu) "--with-cpu=${p.cpu}")
   (lib.optional (p ? abi) "--with-abi=${p.abi}")
   (lib.optional (p ? fpu) "--with-fpu=${p.fpu}")
-  (lib.optional (p ? float) "--with-float=${p.float}")
+  (lib.optional (float != null) "--with-float=${float}")
   (lib.optional (p ? mode) "--with-mode=${p.mode}")
 ]
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 5179ce4a9a8..0e363fe4a25 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -127,7 +127,9 @@ stdenv.mkDerivation ({
     ] ++ lib.optionals withLinuxHeaders [
       "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
     ] ++ lib.optionals (cross != null) [
-      (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
+      (if cross.platform.gcc.float or (cross.parsed.abi.float or "hard") == "soft"
+       then "--without-fp"
+       else "--with-fp")
     ] ++ lib.optionals (cross != null) [
       "--with-__thread"
     ] ++ lib.optionals (cross == null && stdenv.isAarch32) [