forked from mirrors/nixpkgs
a7f062d898
The version will initially remain the same so that no additional changes to the packaging are required (i.e. this commit only includes the required changes to build from the mono repository instead of individual tarballs).
45 lines
1.2 KiB
Nix
45 lines
1.2 KiB
Nix
{ lib, stdenv, llvm_meta
|
|
, buildLlvmTools
|
|
, src
|
|
, cmake
|
|
, libxml2
|
|
, libllvm
|
|
, version
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "lld";
|
|
inherit version;
|
|
|
|
inherit src;
|
|
sourceRoot = "source/${pname}";
|
|
|
|
patches = [
|
|
./gnu-install-dirs.patch
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
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" ];
|
|
|
|
meta = llvm_meta // {
|
|
homepage = "https://lld.llvm.org/";
|
|
description = "The LLVM linker";
|
|
longDescription = ''
|
|
LLD is a linker from the LLVM project that is a drop-in replacement for
|
|
system linkers and runs much faster than them. It also provides features
|
|
that are useful for toolchain developers.
|
|
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
|
WebAssembly in descending order of completeness. Internally, LLD consists
|
|
of several different linkers.
|
|
'';
|
|
};
|
|
}
|