diff options
Diffstat (limited to 'pkgs/development/compilers/llvm/9/clang/default.nix')
| -rw-r--r-- | pkgs/development/compilers/llvm/9/clang/default.nix | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/development/compilers/llvm/9/clang/default.nix b/pkgs/development/compilers/llvm/9/clang/default.nix index 87b29163f43e..f1c21083bb66 100644 --- a/pkgs/development/compilers/llvm/9/clang/default.nix +++ b/pkgs/development/compilers/llvm/9/clang/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +, buildLlvmTools , fixDarwinDylibNames , enableManpages ? false , enablePolly ? false # TODO: get this info from llvm (passthru?) @@ -23,18 +24,22 @@ let ++ lib.optional enableManpages python3.pkgs.sphinx ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ libxml2 llvm lld ]; + buildInputs = [ libxml2 libllvm ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DCLANGD_BUILD_XPC=OFF" "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" + "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" ] ++ lib.optionals enablePolly [ "-DWITH_POLLY=ON" "-DLINK_POLLY_INTO_TOOLS=ON" @@ -46,6 +51,7 @@ let ./compiler-rt-baremetal.patch # make clang -xhip use $PATH to find executables ./HIP-use-PATH-9.patch + ./gnu-install-dirs.patch ]; postPatch = '' @@ -62,12 +68,12 @@ let --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; - outputs = [ "out" "lib" "python" ]; + outputs = [ "out" "lib" "dev" "python" ]; # Clang expects to find LLVMgold in its own prefix postInstall = '' - if [ -e ${llvm}/lib/LLVMgold.so ]; then - ln -sv ${llvm}/lib/LLVMgold.so $out/lib + if [ -e ${libllvm.lib}/lib/LLVMgold.so ]; then + ln -sv ${libllvm.lib}/lib/LLVMgold.so $lib/lib fi ln -sv $out/bin/clang $out/bin/cpp @@ -86,11 +92,14 @@ let fi mv $out/share/clang/*.py $python/share/clang rm $out/bin/c-index-test + + mkdir -p $dev/bin + cp bin/clang-tblgen $dev/bin ''; passthru = { isClang = true; - inherit llvm; + inherit libllvm; }; meta = { |
