llvm-project/lldb/source/API
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
..
CMakeLists.txt [CMake] `install-distribution` for LLDB on Darwin 2019-07-10 11:09:29 +00:00
SBAddress.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBAttachInfo.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBBlock.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBBreakpoint.cpp [ScriptInterpreter] Move ownership into debugger (NFC) 2019-04-26 22:43:16 +00:00
SBBreakpointLocation.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBBreakpointName.cpp [ScriptInterpreter] Move ownership into debugger (NFC) 2019-04-26 22:43:16 +00:00
SBBreakpointOptionCommon.cpp Fix file names in file headers. NFC 2019-05-13 04:42:32 +00:00
SBBreakpointOptionCommon.h C.128 override, virtual keyword handling 2019-05-03 10:03:28 +00:00
SBBroadcaster.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBCommandInterpreter.cpp [CommandInterpreter] Refactor SourceInitFile 2019-05-17 22:53:04 +00:00
SBCommandReturnObject.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBCommunication.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBCompileUnit.cpp Make CompileUnit::GetSupportFiles return a const list 2019-05-30 08:21:25 +00:00
SBData.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBDebugger.cpp [Reproducers] Make reproducer relocatable 2019-06-18 16:20:17 +00:00
SBDeclaration.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBError.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBEvent.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBExecutionContext.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBExpressionOptions.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBFileSpec.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBFileSpecList.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBFrame.cpp [NFC] Replace a plugin header with a non-plugin header 2019-06-13 23:40:34 +00:00
SBFunction.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBHostOS.cpp Change LaunchThread interface to return an expected. 2019-07-05 17:42:08 +00:00
SBInstruction.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBInstructionList.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBLanguageRuntime.cpp [lldb] [Reproducer] Move SBRegistry registration into declaring files 2019-03-19 17:13:13 +00:00
SBLaunchInfo.cpp [lldb] [Reproducer] Move SBRegistry registration into declaring files 2019-03-19 17:13:13 +00:00
SBLineEntry.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBListener.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBMemoryRegionInfo.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBMemoryRegionInfoList.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBModule.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBModuleSpec.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBPlatform.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBProcess.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBProcessInfo.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBQueue.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBQueueItem.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBReproducer.cpp [Reproducers] Simplify providers with nested Info struct (NFC) 2019-06-12 22:17:38 +00:00
SBReproducerPrivate.h [Reproducers] Simplify providers with nested Info struct (NFC) 2019-06-12 22:17:38 +00:00
SBSection.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBSourceManager.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBStream.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBStringList.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBStructuredData.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBSymbol.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBSymbolContext.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBSymbolContextList.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTarget.cpp [Symbol] Add DeclVendor::FindTypes 2019-07-02 19:53:07 +00:00
SBThread.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBThreadCollection.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBThreadPlan.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTrace.cpp [lldb] [Reproducer] Move SBRegistry registration into declaring files 2019-03-19 17:13:13 +00:00
SBTraceOptions.cpp [lldb] [Reproducer] Move SBRegistry registration into declaring files 2019-03-19 17:13:13 +00:00
SBType.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeCategory.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeEnumMember.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeFilter.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeFormat.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeNameSpecifier.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeSummary.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBTypeSynthetic.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBUnixSignals.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBValue.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBValueList.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SBVariablesOptions.cpp [Reproducers] Capture return values of functions returning by ptr/ref 2019-04-03 21:31:22 +00:00
SBWatchpoint.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
SystemInitializerFull.cpp [ABI] Implement Windows ABI for x86_64 2019-06-24 18:21:05 +00:00
SystemInitializerFull.h [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
Utils.h [SBAPI] Don't check IsValid in constructor 2019-03-06 00:05:55 +00:00
liblldb-private.exports Limit LLDB_EXPORT_ALL_SYMBOLS to lldb symbols 2016-10-29 00:29:15 +00:00
liblldb.exports Fix OSX cmake build 2016-02-18 17:01:40 +00:00
liblldb.xcode.exports