summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2018-05-22 19:25:34 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-23 00:42:47 -0400
commitacc9843691c936bb807fb6c5c88e0b41782d6c29 (patch)
tree4eedbc2b6816d499a98d9cf6ca071a13442f089b /pkgs
parent25e866a7fe36045470e27a9b320703a35266d889 (diff)
downloadnixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar.gz
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar.bz2
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar.lz
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar.xz
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.tar.zst
nixlib-acc9843691c936bb807fb6c5c88e0b41782d6c29.zip
llvm: Starting to fix Clang wrapping and stdenv building for cross
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/llvm/3.7/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/3.8/default.nix10
-rw-r--r--pkgs/development/compilers/llvm/3.9/default.nix10
-rw-r--r--pkgs/development/compilers/llvm/4/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix12
7 files changed, 42 insertions, 14 deletions
diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix
index 3003a773cc60..8f73645afc06 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 6cb2c5676d05..a5f3b7759517 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 7d2ecd1a1563..4b69996473d4 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 c92a1d84c0c5..594397bdbbc0 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 63fb98316513..1f7619f7a371 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 61fee1542e77..be26a38e32ec 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 c6d02b487f45..fb3d0942e473 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'
   });