<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 25 May 2017 3:46 am, "Boris Kolpackov" <<a href="mailto:boris@codesynthesis.com">boris@codesynthesis.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eric,<br>
<div class="quoted-text"><br>
Eric Fiselier <<a href="mailto:eric@efcs.ca">eric@efcs.ca</a>> writes:<br>
<br>
> Libc++ ships with a module.modulemap, so it should work out of the box with<br>
> Clang modules.<br>
<br>
</div>I may be wrong, but I don't think "old" modules support (-fmodules) is<br>
compatible with "new" (-fmodules-ts).<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">They are compatible, and designed and intended to be used together.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Even if it is, using a Clang-specific .modulemap file is not ideal in<br>
my case. I would much prefer to have "standard" (as in Modules TS) module<br>
interface units.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">For this, you'll probably need to wait for the modules TS to specify how the standard library is supposed to be modularized. (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0581r0.pdf">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0581r0.pdf</a> contains a suggestion of how this might look, but it has undergone no committee review so far).</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A bit more background: I am adding C++ modules support to a build system<br>
(build2) and trying to figure out how everything is going to fit together.<br>
Based on the discussion in this thread it's clear that the build system<br>
will need to pre-compile module interface units on the consumer side<br>
even for the standard library (because of different compilation options<br>
which may affect the result; but see earlier emails for details).<br>
<br>
Thanks,<br>
Boris<br>
</blockquote></div><br></div></div></div>