summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/llvm/7/lldb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/7/lldb/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/7/lldb/default.nix45
1 files changed, 32 insertions, 13 deletions
diff --git a/pkgs/development/compilers/llvm/7/lldb/default.nix b/pkgs/development/compilers/llvm/7/lldb/default.nix
index b0e2d3210f53..3aa2bb3269e2 100644
--- a/pkgs/development/compilers/llvm/7/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/7/lldb/default.nix
@@ -7,32 +7,31 @@
, which
, libedit
, libxml2
-, llvm
-, clang-unwrapped
+, libllvm
+, libclang
, perl
, python3
, version
, darwin
}:
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
pname = "lldb";
inherit version;
src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v";
- nativeBuildInputs = [ cmake perl python3 which swig ];
- buildInputs = [ ncurses zlib libedit libxml2 llvm ]
- ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
-
+ patches = [
+ ./gnu-install-dirs.patch
+ ];
postPatch = ''
# Fix up various paths that assume llvm and clang are installed in the same place
- sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
+ sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \
cmake/modules/LLDBStandalone.cmake
- sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
+ sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \
cmake/modules/LLDBStandalone.cmake
- sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
+ sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
cmake/modules/LLDBStandalone.cmake
sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \
-e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \
@@ -42,9 +41,18 @@ stdenv.mkDerivation {
patchShebangs scripts
'';
- cmakeFlags = [
- "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
- "-DSKIP_DEBUGSERVER=ON"
+ outputs = [ "out" "lib" "dev" ];
+
+ nativeBuildInputs = [
+ cmake perl python3 which swig
+ ];
+
+ buildInputs = [
+ ncurses zlib libedit libxml2 libllvm
+ ] ++ lib.optionals stdenv.isDarwin [
+ darwin.libobjc
+ darwin.apple_sdk.libs.xpc
+ darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
];
env.CXXFLAGS = "-fno-rtti";
@@ -52,6 +60,17 @@ stdenv.mkDerivation {
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2";
+ cmakeFlags = [
+ "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
+ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+ "-DSKIP_DEBUGSERVER=ON"
+ ] ++ lib.optionals doCheck [
+ "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
+ "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
+ ];
+
+ doCheck = false;
+
postInstall = ''
mkdir -p $out/share/man/man1
cp ../docs/lldb.1 $out/share/man/man1/