[Lldb-commits] [PATCH] D64408: [CMake] `install-distribution` for LLDB on Darwin

Stefan Gränitz via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Jul 9 05:59:01 PDT 2019


sgraenitz created this revision.
sgraenitz added reviewers: xiaobai, compnerd, JDevlieghere, davide, labath, mgorny.
Herald added a project: LLDB.

There's a number of requirements for installing LLDB on macOS that are untypical for LLVM projects: use special install-prefix for LLDB.framework, ship headers and tools as framework resources, patch RPATHs, externalize debug-info to dSYM's and strip binaries with `-ST`.
For some of it we could use `llvm_externalize_debuginfo()` in the past and just add special cases. However, this complicates the code for all projects and comes with the major drawback, that it adds all these actions at build-time. i.e. dSYM creation and stripping take a lot of time and don't make sense at build-time.

LLVM's distribution mechanism (https://llvm.org/docs/BuildingADistribution.html) appears to be the natural alternative. Based on D64399 <https://reviews.llvm.org/D64399>, which proposes to enable it in standalone builds, this patch integrates framework installation with the distribution mechanism and adds custom stripping flags and dSYM creation at install-time.
Unlike the abandoned D61952 <https://reviews.llvm.org/D61952>, it leaves build-tree binaries untouched, so there's no side-effects on testing. Potential install-order issues must be handled externally.

Please let me know what you think, while I run a few more tests and add remarks+documentation.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D64408

Files:
  lldb/cmake/caches/Apple-lldb-macOS.cmake
  lldb/cmake/modules/AddLLDB.cmake
  lldb/cmake/modules/LLDBConfig.cmake
  lldb/cmake/modules/LLDBFramework.cmake
  lldb/source/API/CMakeLists.txt
  lldb/tools/argdumper/CMakeLists.txt
  lldb/tools/darwin-debug/CMakeLists.txt
  lldb/tools/debugserver/source/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64408.208657.patch
Type: text/x-patch
Size: 12227 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190709/ce746ce7/attachment-0001.bin>


More information about the lldb-commits mailing list