<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 22, 2017 at 2:25 AM, Stephen Kelly via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">Sean Silva via cfe-dev wrote:<br>
<br>
> Explicit module maps (and the associated notion of explicit build steps to<br>
> build the .pcm files) provides the primitive mechanism which enables<br>
> robust integration of modules into build systems and all sorts of<br>
> flexibility. However, simply having the mechanism available does not<br>
> directly solve the issue linked in that bug or many related issues, which<br>
> are largely social / historical issues.<br>
<br>
</span>Social/historical issues are difficult to solve (how something is<br>
communicated might have to change - not just how the thing is implemented),<br>
and still can have an effect on adoption.</blockquote><div><br></div><div>That's why I mentioned it :) Just wanted to clarify the distinction between the mechanism and other barriers.</div><div><br></div><div>The social/historical barriers are indeed *very* strong.</div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> I don't know what the 'developer<br>
story' is apart from 'wait for all of your dependencies to update with<br>
modules support and wait for each buildsystem of your dependency to be<br>
compatible with all the others for creating and consuming modules and then<br>
you can start using modules'.<br></blockquote><div><br></div><div>The problem for C++ modules is actually worse than just "wait for your dependencies". You also may need to wait for your dependents since the modules syntax is incompatible with pre-modules compilers (though last I talked with Richard about this he had some pretty clear ideas for keeping the overhead down during the transition period, which for some projects will be "forever").</div><div><br></div><div>Waiting for your dependencies and dependents is a bit of a catch-22 unfortunately; we just need to hope that intermediate transitionary steps are available to break the deadlock.</div><div><br></div><div>Between different build systems, package managers, etc. the deadlock is even stronger (nobody wants to take the first step because nobody's first step adds any value without the others).</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I realize this goes beyond Clang and the ModulesTS has buildsystem issues<br>
too...<br></blockquote><div><br></div><div>One interesting point here is that it's clear that some sort of standardization is going to be needed "outside the ISO C++ Standard" (e.g. conventions for build systems etc.). It may be too early for that work to start, but I haven't seen much on that front (though admittedly I'm not actively following all this modules stuff in detail anymore). If you're in a position where you can contribute to that effort it would be *hugely* appreciated I'm sure!<br><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
Thanks,<br>
<br>
Steve.<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div></div>