<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 20, 2015 at 4:02 PM, Greg Fitzgerald <span dir="ltr"><<a href="mailto:garious@gmail.com" target="_blank">garious@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":scf" class="a3s" style="overflow:hidden">Hi Chandler,<br>
<span class=""><br>
> Let's start with the purely link-level dependencies encoded in the CMake build<br>
<br>
</span>I've been playing around a bit with this.  Looks like we can solve<br>
most of the issues by dissolving lldReaderWriter.<br>
Reader.cpp/Writer.cpp go into lldCore and the rest go into lldDriver.<br>
I don't know if that makes conceptual sense, but it's what breaks the<br>
cyclic dependencies.</div></blockquote></div><br>Does that break just the *link time* dependencies?</div><div class="gmail_extra"><br></div><div class="gmail_extra">If you form a DAG of cross-library header inclusion and a DAG of the link time dependencies, they should be compatible, and that's the layering we should use.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I don't know much about LLD -- maybe it would help for you to describe the DAG you're envisioning?</div></div>