llvm: Starting to fix Clang wrapping and stdenv building for cross
This commit is contained in:
parent
25e866a7fe
commit
acc9843691
@ -1,5 +1,7 @@
|
|||||||
{ newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl
|
{ newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl
|
||||||
, overrideCC, wrapCCWith, darwin
|
, overrideCC, wrapCCWith, darwin
|
||||||
|
, buildLlvmPackages # ourself, but from the previous stage, for cross
|
||||||
|
, targetLlvmPackages # ourself, but from the next stage, for cross
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -34,7 +36,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -44,7 +46,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.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
|
let
|
||||||
callPackage = newScope (self // { inherit stdenv isl version fetch; });
|
callPackage = newScope (self // { inherit stdenv isl version fetch; });
|
||||||
|
|
||||||
@ -33,7 +37,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -43,7 +47,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.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
|
let
|
||||||
callPackage = newScope (self // { inherit stdenv isl version fetch; });
|
callPackage = newScope (self // { inherit stdenv isl version fetch; });
|
||||||
|
|
||||||
@ -33,7 +37,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -43,7 +47,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
||||||
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
||||||
, darwin
|
, darwin
|
||||||
|
, buildLlvmPackages # ourself, but from the previous stage, for cross
|
||||||
|
, targetLlvmPackages # ourself, but from the next stage, for cross
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -47,7 +49,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -57,7 +59,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
||||||
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
||||||
, darwin
|
, darwin
|
||||||
|
, buildLlvmPackages # ourself, but from the previous stage, for cross
|
||||||
|
, targetLlvmPackages # ourself, but from the next stage, for cross
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -47,7 +49,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -57,7 +59,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
||||||
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
|
||||||
, darwin
|
, darwin
|
||||||
|
, buildLlvmPackages # ourself, but from the previous stage, for cross
|
||||||
|
, targetLlvmPackages # ourself, but from the next stage, for cross
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -47,7 +49,7 @@ let
|
|||||||
|
|
||||||
libcxxClang = wrapCCWith {
|
libcxxClang = wrapCCWith {
|
||||||
cc = self.clang-unwrapped;
|
cc = self.clang-unwrapped;
|
||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = stdenv.override (drv: {
|
stdenv = stdenv.override (drv: {
|
||||||
@ -57,7 +59,7 @@ let
|
|||||||
|
|
||||||
libcxxStdenv = stdenv.override (drv: {
|
libcxxStdenv = stdenv.override (drv: {
|
||||||
allowedRequisites = null;
|
allowedRequisites = null;
|
||||||
cc = self.libcxxClang;
|
cc = buildLlvmPackages.libcxxClang;
|
||||||
});
|
});
|
||||||
|
|
||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
@ -6706,30 +6706,40 @@ with pkgs;
|
|||||||
|
|
||||||
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
|
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_37;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_37;
|
||||||
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
||||||
stdenv = overrideCC stdenv gcc6;
|
stdenv = overrideCC stdenv gcc6;
|
||||||
});
|
});
|
||||||
|
|
||||||
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
|
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_38;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_38;
|
||||||
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
||||||
stdenv = overrideCC stdenv gcc6;
|
stdenv = overrideCC stdenv gcc6;
|
||||||
});
|
});
|
||||||
|
|
||||||
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
|
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_39;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_39;
|
||||||
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
||||||
stdenv = overrideCC stdenv gcc6;
|
stdenv = overrideCC stdenv gcc6;
|
||||||
});
|
});
|
||||||
|
|
||||||
llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
|
llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_4;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_4;
|
||||||
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
||||||
stdenv = overrideCC stdenv gcc6;
|
stdenv = overrideCC stdenv gcc6;
|
||||||
});
|
});
|
||||||
|
|
||||||
llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
|
llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_5;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_5;
|
||||||
} // stdenv.lib.optionalAttrs stdenv.isDarwin {
|
} // stdenv.lib.optionalAttrs stdenv.isDarwin {
|
||||||
cmake = cmake.override {
|
cmake = cmake.override {
|
||||||
isBootstrap = true;
|
isBootstrap = true;
|
||||||
@ -6743,6 +6753,8 @@ with pkgs;
|
|||||||
|
|
||||||
llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
|
llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
|
||||||
inherit (stdenvAdapters) overrideCC;
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_6;
|
||||||
|
targetLlvmPackages = targetPackages.llvmPackages_6;
|
||||||
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
|
||||||
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
|
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user