summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/llvm/12/lld/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/12/lld/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/12/lld/default.nix24
1 files changed, 15 insertions, 9 deletions
diff --git a/pkgs/development/compilers/llvm/12/lld/default.nix b/pkgs/development/compilers/llvm/12/lld/default.nix
index 18b72a904071..d46f25b68b31 100644
--- a/pkgs/development/compilers/llvm/12/lld/default.nix
+++ b/pkgs/development/compilers/llvm/12/lld/default.nix
@@ -1,9 +1,10 @@
{ lib, stdenv, llvm_meta
+, buildLlvmTools
, fetch
, libunwind
, cmake
, libxml2
-, llvm
+, libllvm
, version
}:
@@ -13,8 +14,20 @@ stdenv.mkDerivation rec {
src = fetch pname "1zakyxk5bwnh7jarckcd4rbmzi58jgn2dbah5j5cwcyfyfbx9drc";
+ patches = [
+ ./gnu-install-dirs.patch
+ ];
+
nativeBuildInputs = [ cmake ];
- buildInputs = [ llvm libxml2 ];
+ buildInputs = [ libllvm libxml2 ];
+
+ cmakeFlags = [
+ "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+ ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
+ ];
+
+ outputs = [ "out" "lib" "dev" ];
postPatch = ''
substituteInPlace MachO/CMakeLists.txt --replace \
@@ -23,13 +36,6 @@ stdenv.mkDerivation rec {
tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/"
'';
- outputs = [ "out" "dev" ];
-
- postInstall = ''
- moveToOutput include "$dev"
- moveToOutput lib "$dev"
- '';
-
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";