[lldb-dev] Host is now dependency free

Adrian Prantl via lldb-dev lldb-dev at lists.llvm.org
Fri Mar 8 16:26:45 PST 2019


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

-- adrian

> On Mar 8, 2019, at 1:00 PM, Zachary Turner via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> 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
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list