This is an archive of the discontinued LLVM Phabricator instance.

Invert dependency between lldb-framework and lldb-suite
ClosedPublic

Authored by xiaobai on Jul 16 2018, 3:59 PM.

Details

Summary

Currently, if you build lldb-framework the entire framework doesn't
actually build. In order to build the entire framework, you need to actually
build lldb-suite. This abstraction doesn't feel quite right because
lldb-framework truly does depend on lldb-suite (liblldb + related tools).

In this change I want to invert their dependency. This will mean that lldb and
finish_swig will depend on lldb-framework in a framework build, and lldb-suite
otherwise. Instead of adding conditional logic everywhere to handle this, I
introduce LLDB_SUITE_TARGET to handle it.

I tested this by building lldb with:

cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLDB_CODESIGN_IDENTITY=""
-DLLDB_BUILD_FRAMEWORK=1 -DLLDB_USE_SYSTEM_SIX=1 -DCMAKE_INSTALL_PREFIX=""

and

ninja lldb

Event Timeline

xiaobai created this revision.Jul 16 2018, 3:59 PM
xiaobai updated this revision to Diff 155790.Jul 16 2018, 5:02 PM

Accidentally merged the contents of two commits into one. Removing the contents of one of the commits from this one.

labath accepted this revision.Jul 17 2018, 1:19 AM

lgtm

This revision is now accepted and ready to land.Jul 17 2018, 1:19 AM
This revision was automatically updated to reflect the committed changes.