diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix index 3003a773cc6..8f73645afc0 100644 --- a/pkgs/development/compilers/llvm/3.7/default.nix +++ b/pkgs/development/compilers/llvm/3.7/default.nix @@ -1,5 +1,7 @@ { newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl , overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -34,7 +36,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -44,7 +46,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix index 6cb2c5676d0..a5f3b775951 100644 --- a/pkgs/development/compilers/llvm/3.8/default.nix +++ b/pkgs/development/compilers/llvm/3.8/default.nix @@ -1,4 +1,8 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin }: +{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross +}: + let callPackage = newScope (self // { inherit stdenv isl version fetch; }); @@ -33,7 +37,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -43,7 +47,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index 7d2ecd1a156..4b69996473d 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -1,4 +1,8 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin }: +{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross +}: + let callPackage = newScope (self // { inherit stdenv isl version fetch; }); @@ -33,7 +37,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -43,7 +47,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix index c92a1d84c0c..594397bdbbc 100644 --- a/pkgs/development/compilers/llvm/4/default.nix +++ b/pkgs/development/compilers/llvm/4/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook , libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -47,7 +49,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -57,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 63fb9831651..1f7619f7a37 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook , libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -47,7 +49,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -57,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index 61fee1542e7..be26a38e32e 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook , libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -47,7 +49,7 @@ let libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -57,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6d02b487f4..fb3d0942e47 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6706,30 +6706,40 @@ with pkgs; llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_37; + targetLlvmPackages = targetPackages.llvmPackages_37; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_38; + targetLlvmPackages = targetPackages.llvmPackages_38; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_39; + targetLlvmPackages = targetPackages.llvmPackages_39; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_4; + targetLlvmPackages = targetPackages.llvmPackages_4; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_5; + targetLlvmPackages = targetPackages.llvmPackages_5; } // stdenv.lib.optionalAttrs stdenv.isDarwin { cmake = cmake.override { isBootstrap = true; @@ -6743,6 +6753,8 @@ with pkgs; llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_6; + targetLlvmPackages = targetPackages.llvmPackages_6; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' });