[PATCH] D22987: [lldb][cmake] Remove libclang as an lldbBase dependency (NFCI)

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 13:12:45 PDT 2016


vsk updated this revision to Diff 66536.
vsk added a comment.

Make it possible to build single object files in lldb libraries. This is done by making each library depend on all CLANG_USED_LIBS. Building a single object file now forces clang-tblgen to run, so we end up with the right headers in place. We still see the speed benefit of removing the libclang dependency:

| Target                   | Pre-patch # of dependencies | Post-patch # of dependencies |
| CommandObjectFrame.cpp.o | 1622                        | 126                          |
| lldb                     | 2642                        | 2188                         |


https://reviews.llvm.org/D22987

Files:
  cmake/modules/AddLLDB.cmake

Index: cmake/modules/AddLLDB.cmake
===================================================================
--- cmake/modules/AddLLDB.cmake
+++ cmake/modules/AddLLDB.cmake
@@ -84,10 +84,9 @@
     endif()
   endif()
 
-  # Hack: only some LLDB libraries depend on the clang autogenerated headers,
-  # but it is simple enough to make all of LLDB depend on some of those
-  # headers without negatively impacting much of anything.
-  add_dependencies(${name} libclang)
+  foreach(clang_dep IN LISTS ${CLANG_USED_LIBS})
+    add_dependencies(${name} ${clang_dep})
+  endforeach(clang_dep)
 
   set_target_properties(${name} PROPERTIES FOLDER "lldb libraries")
 endmacro(add_lldb_library)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22987.66536.patch
Type: text/x-patch
Size: 680 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160802/ce7fa744/attachment.bin>


More information about the llvm-commits mailing list