diff options
Diffstat (limited to 'pkgs/development/libraries/glibc-2.10/default.nix')
-rw-r--r-- | pkgs/development/libraries/glibc-2.10/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/libraries/glibc-2.10/default.nix b/pkgs/development/libraries/glibc-2.10/default.nix new file mode 100644 index 000000000000..48f1a12c058a --- /dev/null +++ b/pkgs/development/libraries/glibc-2.10/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, kernelHeaders +, installLocales ? true +, profilingLibraries ? false +, gccCross ? null +}: + +let + build = import ./common.nix; + cross = if gccCross != null then gccCross.target else null; +in + build ({ + name = "glibc"; + + inherit fetchurl stdenv kernelHeaders installLocales profilingLibraries + cross; + + builder = ./builder.sh; + + preInstall = '' + ensureDir $out/lib + ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1 + ''; + + postInstall = '' + rm $out/lib/libgcc_s.so.1 + ''; + + meta.description = "The GNU C Library"; + } + + // + + (if cross != null + then { + preConfigure = '' + sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig" + + cat > config.cache << "EOF" +libc_cv_forced_unwind=yes +libc_cv_c_cleanup=yes +libc_cv_gnu89_inline=yes +EOF + export BUILD_CC=gcc + export CC="$crossConfig-gcc" + export AR="$crossConfig-ar" + export RANLIB="$crossConfig-ranlib" + + dontStrip = 1 + ''; + } + else {})) |