llvm-project/lldb
Stefan Granitz 110f97632e [CMake] `install-distribution` for LLDB on Darwin
Summary:
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 candidate to install LLDB. Based on D64399 (enable 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, 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.

Reviewers: xiaobai, compnerd, JDevlieghere, davide, labath, mgorny

Reviewed By: xiaobai, JDevlieghere

Subscribers: lldb-commits, #lldb

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D64408

llvm-svn: 365617
2019-07-10 11:09:29 +00:00
..
cmake [CMake] `install-distribution` for LLDB on Darwin 2019-07-10 11:09:29 +00:00
docs [Docs] Replace SVN revisions with lldb versions 2019-07-09 21:21:45 +00:00
examples [crashlog] Fix a mismatch between bytes and strings. 2019-07-09 01:05:12 +00:00
include/lldb [lldb] Fix two more issues in Windows following rL365226: Change LaunchThread interface to return an expected 2019-07-08 21:17:58 +00:00
lit [DWARF] Add one more type unit test 2019-07-02 07:57:08 +00:00
lldb.xcodeproj Remove install-headers 2019-07-08 21:53:22 +00:00
lldb.xcworkspace Remove lldb-perf 2019-07-08 21:38:34 +00:00
packages/Python/lldbsuite [lldb_test_suite] Fix lldb test suite targeting remote Android 2019-07-09 21:35:58 +00:00
resources [CMake] Revised LLDB.framework builds 2019-01-04 12:46:50 +00:00
scripts [swig] Don't mess with swig internals. 2019-07-02 22:18:35 +00:00
source [CMake] `install-distribution` for LLDB on Darwin 2019-07-10 11:09:29 +00:00
test [CMake] Folder structure for generated Xcode project to cover more targets 2019-05-28 09:29:05 +00:00
third_party/Python/module [lldb/thirdparty] Remove unneeded files, asked by Jonas. 2019-03-12 20:41:36 +00:00
tools [CMake] `install-distribution` for LLDB on Darwin 2019-07-10 11:09:29 +00:00
unittests Add a sanity check to the domain socket tests. 2019-06-27 16:45:23 +00:00
utils [CMake] Fix lldb-dotest for single-config generators in standalone builds 2019-06-13 17:35:43 +00:00
.arcconfig
.clang-format
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [CMake] Distribution builds for LLDB standalone 2019-07-10 11:09:11 +00:00
CODE_OWNERS.txt Fix/unify the spelling of Objective-C. 2018-06-13 16:21:24 +00:00
INSTALL.txt Fix build URL in new LLDB website 2019-05-01 09:55:00 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py