diff options
Diffstat (limited to 'pkgs/top-level/all-packages.nix')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2fc65da558d2..11afb0d1e3130 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5168,8 +5168,8 @@ with pkgs; if targetPlatform.libc == "msvcrt" then windows.mingw_w64_headers else if targetPlatform.libc == "libSystem" then darwin.xcode else null; - in wrapGCCCross { - gcc = forcedNativePackages.gcc.cc.override { + in wrapCCCross { + cc = forcedNativePackages.gcc.cc.override { crossStageStatic = true; langCC = false; libcCross = libcCross1; @@ -5179,19 +5179,17 @@ with pkgs; }; libc = libcCross1; inherit (forcedNativePackages) binutils; - cross = targetPlatform; }; # Only needed for mingw builds - gccCrossMingw2 = assert targetPlatform != buildPlatform; wrapGCCCross { - gcc = gccCrossStageStatic.gcc; + gccCrossMingw2 = assert targetPlatform != buildPlatform; wrapCCCross { + cc = gccCrossStageStatic.gcc; libc = windows.mingw_headers2; inherit (forcedNativePackages) binutils; - cross = targetPlatform; }; - gccCrossStageFinal = assert targetPlatform != buildPlatform; wrapGCCCross { - gcc = forcedNativePackages.gcc.cc.override { + gccCrossStageFinal = assert targetPlatform != buildPlatform; wrapCCCross { + cc = forcedNativePackages.gcc.cc.override { crossStageStatic = false; # Why is this needed? @@ -5199,7 +5197,6 @@ with pkgs; }; libc = libcCross; inherit (forcedNativePackages) binutils; - cross = targetPlatform; }; gcc45 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.5 { @@ -5924,14 +5921,19 @@ with pkgs; libc = glibc; }; - wrapGCCCross = - {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: + wrapCCCross = + {cc, libc, binutils, shell ? "", name ? "gcc-cross-wrapper"}: - forcedNativePackages.callPackage ../build-support/gcc-cross-wrapper { + forcedNativePackages.ccWrapperFun { nativeTools = false; nativeLibc = false; noLibc = (libc == null); - inherit gcc binutils libc shell name cross; + + dyld = if stdenv.isDarwin then darwin.dyld else null; + isGNU = cc.isGNU or false; + isClang = cc.isClang or false; + + inherit cc binutils libc shell name; }; # prolog |