From 92a48cb305add94aa76382f27b57ba9b2cffbf2d Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Tue, 25 Jun 2013 10:59:25 +0300 Subject: [PATCH] Add gcc4.6 wrapped using deterministic binutils --- pkgs/top-level/all-packages.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ba9a6c4b7de6..25b5db6f8720 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2131,6 +2131,37 @@ let gcc45 = gcc45_real; + wrapDeterministicGCCWith = gccWrapper: glibc: baseGCC: gccWrapper { + nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools; + nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc; + nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else ""; + gcc = baseGCC; + libc = glibc; + shell = bash; + binutils = binutils_deterministic; + inherit stdenv coreutils zlib; + }; + + wrapDeterministicGCC = wrapDeterministicGCCWith (import ../build-support/gcc-wrapper) glibc; + + gcc46_deterministic = lowPrio (wrapDeterministicGCC (callPackage ../development/compilers/gcc/4.6 { + inherit noSysDirs; + + # bootstrapping a profiled compiler does not work in the sheevaplug: + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 + profiledCompiler = !stdenv.isArm; + + # When building `gcc.crossDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + })); + gcc46 = gcc46_real; gcc47 = gcc47_real;