<br><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 22, 2017, 5:50 AM Sean Silva <<a href="mailto:chisophugis@gmail.com">chisophugis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Wed, Jan 18, 2017 at 3:12 AM, Manuel Klimek via cfe-dev <span dir="ltr" class="gmail_msg"><<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><span class="gmail_msg"><div dir="ltr" class="gmail_msg">On Wed, Jan 18, 2017 at 1:15 AM Stephen Kelly via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Richard Smith via cfe-dev wrote:<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> This does mean that build systems will need to track interface<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> dependencies in a way they didn't before (you need to know which module<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> interfaces should be built before which other module interfaces), and that<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> information will either need to be provided or detected by the build<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> system. If a build system wishes to automate this, it would not be<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> dissimilar to the #include scanning that some existing build systems<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
> already perform.<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
In my perspective the biggest problem with clang modules (and the reason I<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
stopped investigating it from a buildsystem perspective) is<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<a href="https://llvm.org/bugs/show_bug.cgi?id=21593" rel="noreferrer" class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=21593</a><br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
I tried reaching out several times about that issue, but so far I still<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
don't know how you will solve it.<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
After that is reported as solvable or solved (is the situation different<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
today compared to 2014?), I'd like to investigate other buildsystem related<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
issues with modules in CMake. Unless I'm missing something, that's currently<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
a waste of time for me given that I'm on linux and I can't see a future for<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
the current design there. I hope I'm just missing something.<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg"></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></span><div class="gmail_msg">I believe explicit module maps solve your problem, but your bug doesn't contain enough information to know what you want :)</div><div class="gmail_msg">Generally, a lot has changed since 2014. I believe explicit modules fully solve your problem, but on the other hand, I don't think we're ready for modular builds via package distributors for quite some time yet.</div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">Explicit module maps (and the associated notion of explicit build steps to build the .pcm files) provides the primitive mechanism which enables robust integration of modules into build systems and all sorts of flexibility. However, simply having the mechanism available does not directly solve the issue linked in that bug or many related issues, which are largely social / historical issues. One such such problem is ensuring that C++ code using modules can interoperate across different build systems.</div></div></div></div></blockquote></div><div><br></div><div>Correct.</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">-- Sean Silva</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><span class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
Thanks,<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
Steve.<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
_______________________________________________<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
cfe-dev mailing list<br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<a href="mailto:cfe-dev@lists.llvm.org" class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a><br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br class="m_-6379202189431733126m_800503647302197003gmail_msg gmail_msg">
</blockquote></span></div></div>
<br class="gmail_msg">_______________________________________________<br class="gmail_msg">
cfe-dev mailing list<br class="gmail_msg">
<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br class="gmail_msg">
<br class="gmail_msg"></blockquote></div></div></div></blockquote></div>