Host is now dependency free

It’s been a long time coming and a lot of work to get here, but Host is now dependency free. While this may not be enforced in the Xcode project (unless someone changes it to not link against any other libraries / targets), as of r355730 this is enforced in the CMake build, so if new dependencies are introduced, it will break most non-OSX build bots.

Mostly just throwing this out there so people are aware.

The good news is that this gets us one step closer to a shared libraries build as well as a real C++ modules build, as well as being able to create small debugger-related tools that are not full blown debuggers.

For the curious, the remaining cycles in the build graph (as well as their outgoing edge counts) are:

4 deps to break: lldb/Commands [3->] lldb/Expression [1->] lldb/Commands
5 deps to break: lldb/Plugins/SymbolFile/DWARF [4->] lldb/Expression [1->] lldb/Plugins/SymbolFile/DWARF
5 deps to break: lldb/Plugins/Language/ObjC [4->] lldb/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime [1->] lldb/Plugins/Language/ObjC
6 deps to break: lldb/Interpreter [1->] lldb/Breakpoint [5->] lldb/Interpreter
6 deps to break: lldb/Plugins/ScriptInterpreter/Python [2->] lldb/API [4->] lldb/Plugins/ScriptInterpreter/Python
13 deps to break: lldb/Plugins/Language/ObjC [12->] lldb/Symbol [1->] lldb/Plugins/Language/ObjC
14 deps to break: lldb/Interpreter [10->] lldb/DataFormatters [4->] lldb/Interpreter
22 deps to break: lldb/Plugins/SymbolFile/PDB [21->] lldb/Symbol [1->] lldb/Plugins/SymbolFile/PDB
23 deps to break: lldb/Target [3->] lldb/DataFormatters [20->] lldb/Target
26 deps to break: lldb/Expression [1->] lldb/Plugins/ExpressionParser/Clang [25->] lldb/Expression
29 deps to break: lldb/Plugins/Language/CPlusPlus [26->] lldb/Core [3->] lldb/Plugins/Language/CPlusPlus
29 deps to break: lldb/Plugins/Language/ObjC [27->] lldb/Core [2->] lldb/Plugins/Language/ObjC
29 deps to break: lldb/Core [14->] lldb/DataFormatters [15->] lldb/Core
33 deps to break: lldb/Expression [30->] lldb/Symbol [3->] lldb/Expression
37 deps to break: lldb/Expression [33->] lldb/Core [4->] lldb/Expression
38 deps to break: lldb/Target [1->] lldb/Plugins/Language/ObjC [37->] lldb/Target
42 deps to break: lldb/Interpreter [19->] lldb/Target [23->] lldb/Interpreter
42 deps to break: lldb/Breakpoint [39->] lldb/Core [3->] lldb/Breakpoint
49 deps to break: lldb/Interpreter [25->] lldb/Core [24->] lldb/Interpreter
51 deps to break: lldb/Target [4->] lldb/Plugins/ExpressionParser/Clang [47->] lldb/Target
55 deps to break: lldb/Plugins/SymbolFile/DWARF [54->] lldb/Symbol [1->] lldb/Plugins/SymbolFile/DWARF
62 deps to break: lldb/Plugins/ExpressionParser/Clang [58->] lldb/Symbol [4->] lldb/Plugins/ExpressionParser/Clang
69 deps to break: lldb/Target [38->] lldb/Breakpoint [31->] lldb/Target
72 deps to break: lldb/Target [13->] lldb/Expression [59->] lldb/Target
72 deps to break: lldb/Utility [71->] lldb [1->] lldb/Utility
104 deps to break: lldb/Target [64->] lldb/Symbol [40->] lldb/Target
128 deps to break: lldb/Target [7->] lldb/Plugins/Process/Utility [121->] lldb/Target
201 deps to break: lldb/Core [110->] lldb/Symbol [91->] lldb/Core
227 deps to break: lldb/Target [127->] lldb/Core [100->] lldb/Target

Found by running scripts/analyze-project-deps.py

That's great news! I'm looking forward to having more fine-grained LLDB C++ modules.

-- adrian

Awesome :slight_smile: Thanks much for working on this!