clang-stdenv: use libstdcxxHook when targeting linux
This commit is contained in:
parent
0ea92a3c24
commit
907222098a
@ -1 +1,2 @@
|
|||||||
export NIX_CXXSTDLIB_COMPILE+="-isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)"
|
export NIX_CXXSTDLIB_COMPILE+="-isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)"
|
||||||
|
export NIX_CXXSTDLIB_LINK=" -stdlib=libstdc++"
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{ lowPrio, newScope, stdenv, cmake, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, darwin, ccWrapperFun }:
|
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
|
||||||
|
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
|
||||||
|
, darwin
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
|
|
||||||
@ -46,7 +50,12 @@ let
|
|||||||
extraPackages = [ self.libcxx self.libcxxabi ];
|
extraPackages = [ self.libcxx self.libcxxabi ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdenv = overrideCC stdenv self.clang;
|
stdenv = stdenv.override (drv: {
|
||||||
|
allowedRequisites = null;
|
||||||
|
cc = self.clang;
|
||||||
|
# Use the gcc libstdc++ when targeting linux.
|
||||||
|
extraBuildInputs = if stdenv.cc.isGNU then [ libstdcxxHook ] else drv.extraBuildInputs;
|
||||||
|
});
|
||||||
|
|
||||||
libcxxStdenv = overrideCC stdenv self.libcxxClang;
|
libcxxStdenv = overrideCC stdenv self.libcxxClang;
|
||||||
|
|
||||||
@ -58,4 +67,5 @@ let
|
|||||||
|
|
||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
};
|
};
|
||||||
|
|
||||||
in self
|
in self
|
||||||
|
Loading…
x
Reference in New Issue
Block a user