llvm: support cross compilation with useLLVM flag

You can build (partially) with LLVM toolchain using the useLLVM flag.
This works like so:

  nix-build -A hello --arg crossSystem '{ system =
    "aarch64-unknown-linux-musl"; useLLVM = true }'

also don’t separate debug info in lldClang

It doesn’t work currently with that setup hook. Missing build-id?
This commit is contained in:
Matthew Bauer
2019-02-26 19:45:35 -05:00
parent 77d7d60d8c
commit b86e62d30d
9 changed files with 710 additions and 14 deletions
@@ -5,7 +5,6 @@
}:
let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation ({
name = "clang-${version}";
@@ -81,8 +80,8 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
inherit gcc;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {