Skip to content

Commit

Permalink
llvm: Starting to fix Clang wrapping and stdenv building for cross
Browse files Browse the repository at this point in the history
  • Loading branch information
Ericson2314 committed May 23, 2018
1 parent 25e866a commit acc9843
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 14 deletions.
6 changes: 4 additions & 2 deletions pkgs/development/compilers/llvm/3.7/default.nix
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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: {
Expand All @@ -44,7 +46,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lldb = callPackage ./lldb.nix {};
Expand Down
10 changes: 7 additions & 3 deletions pkgs/development/compilers/llvm/3.8/default.nix
Original file line number Diff line number Diff line change
@@ -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; });

Expand Down Expand Up @@ -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: {
Expand All @@ -43,7 +47,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lldb = callPackage ./lldb.nix {};
Expand Down
10 changes: 7 additions & 3 deletions pkgs/development/compilers/llvm/3.9/default.nix
Original file line number Diff line number Diff line change
@@ -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; });

Expand Down Expand Up @@ -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: {
Expand All @@ -43,7 +47,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lldb = callPackage ./lldb.nix {};
Expand Down
6 changes: 4 additions & 2 deletions pkgs/development/compilers/llvm/4/default.nix
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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: {
Expand All @@ -57,7 +59,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lld = callPackage ./lld.nix {};
Expand Down
6 changes: 4 additions & 2 deletions pkgs/development/compilers/llvm/5/default.nix
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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: {
Expand All @@ -57,7 +59,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lld = callPackage ./lld.nix {};
Expand Down
6 changes: 4 additions & 2 deletions pkgs/development/compilers/llvm/6/default.nix
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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: {
Expand All @@ -57,7 +59,7 @@ let

libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});

lld = callPackage ./lld.nix {};
Expand Down
12 changes: 12 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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'
});
Expand Down

0 comments on commit acc9843

Please sign in to comment.