about summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc
diff options
context:
space:
mode:
authorroot <root@raspberrypi.(none)>2012-12-06 15:51:52 +0000
committerLluĂ­s Batlle i Rossell <viric@viric.name>2012-12-26 21:59:54 +0000
commit1b29d29c7610402cb278130f12b27900bb5a99f0 (patch)
tree7a731c60aafd237f5218bc227564b86dfbba7e78 /pkgs/development/libraries/glibc
parent1af2ada7d4c61e79356a0f3f8bcced6159a6e751 (diff)
downloadnixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.gz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.bz2
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.lz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.xz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.zst
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.zip
First movement to get the raspberrypi stdenv building.
Diffstat (limited to 'pkgs/development/libraries/glibc')
-rw-r--r--pkgs/development/libraries/glibc/2.13/common.nix18
-rw-r--r--pkgs/development/libraries/glibc/2.13/default.nix3
2 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/development/libraries/glibc/2.13/common.nix b/pkgs/development/libraries/glibc/2.13/common.nix
index 2333e42246b0..316c66c51900 100644
--- a/pkgs/development/libraries/glibc/2.13/common.nix
+++ b/pkgs/development/libraries/glibc/2.13/common.nix
@@ -8,7 +8,7 @@ cross :
 , machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
 , mig ? null, fetchgit ? null
 , profilingLibraries ? false, meta
-, preConfigure ? "", ... }@args :
+, preConfigure ? "", recentGcc ? true, ... }@args :
 
 let
   # For GNU/Hurd, see below.
@@ -120,7 +120,9 @@ stdenv.mkDerivation ({
         && cross.platform.kernelMajor == "2.6") [
     "--enable-kernel=2.6.0"
     "--with-__thread"
-  ] ++ stdenv.lib.optionals stdenv.isArm [
+  ] ++ stdenv.lib.optionals (cross == null &&
+       (stdenv.system == "armv5tel-linux") ||
+       (!recentGcc && stdenv.platform.name == "raspberrypi")) [
     "--host=arm-linux-gnueabi"
     "--build=arm-linux-gnueabi"
     "--without-fp"
@@ -128,6 +130,14 @@ stdenv.mkDerivation ({
     # To avoid linking with -lgcc_s (dynamic link)
     # so the glibc does not depend on its compiler store path
     "libc_cv_as_needed=no"
+  ] ++ stdenv.lib.optionals (cross == null && recentGcc && stdenv.platform.name == "raspberrypi") [
+    "--host=arm-linux-gnueabihf"
+    "--build=arm-linux-gnueabihf"
+    "--with-fp"
+
+    # To avoid linking with -lgcc_s (dynamic link)
+    # so the glibc does not depend on its compiler store path
+    "libc_cv_as_needed=no"
   ];
 
   installFlags = [ "sysconfdir=$(out)/etc" ];
@@ -192,6 +202,10 @@ stdenv.mkDerivation ({
     configureScript="`pwd`/../$sourceRoot/configure"
 
     ${preConfigure}
+  '' + stdenv.lib.optionalString (cross == null
+        && recentGcc
+        && stdenv.platform.name == "raspberrypi") ''
+    configureFlagsArray=("CFLAGS=-march=armv6 -mfpu=vfp -mhard-float")
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/glibc/2.13/default.nix b/pkgs/development/libraries/glibc/2.13/default.nix
index f80ed9372e63..59f8ca647e6f 100644
--- a/pkgs/development/libraries/glibc/2.13/default.nix
+++ b/pkgs/development/libraries/glibc/2.13/default.nix
@@ -5,6 +5,7 @@
 , profilingLibraries ? false
 , gccCross ? null
 , debugSymbols ? false
+, recentGcc ? true
 }:
 
 assert stdenv.gcc.gcc != null;
@@ -19,7 +20,7 @@ in
       + stdenv.lib.optionalString debugSymbols "-debug";
 
     inherit fetchurl stdenv kernelHeaders installLocales profilingLibraries
-      gccCross;
+      gccCross recentGcc;
 
     builder = ./builder.sh;