<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 12 Feb 2019 at 21:38 Matthew Woehlke <<a href="mailto:mwoehlke.floss@gmail.com">mwoehlke.floss@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 12/02/2019 15.02, JF Bastien wrote:<br>
> On Tue, Feb 12, 2019 at 11:50 AM Ben Boeckel wrote:<br>
>> On Tue, Feb 12, 2019 at 19:32:45 +0000, Gabriel Dos Reis wrote:<br>
>>> IPR isn’t for distribution.<br>
>><br>
>> OK. Substitute whatever format we end up using for distribution of<br>
>> modules within RPM, DPKG, vcpkg, ports, etc. It just can't be "nothing"<br>
>> because otherwise modules are effectively only useful in monorepo<br>
>> build-the-world-from-scratch projects. Which is not how C++ works today<br>
>> in the realm of FOSS. And it is best if that format is compatible<br>
>> between otherwise-compatible compilers too.<br>
> <br>
> Can you elaborate on how modules are useless. You seem to say that a<br>
> codebase can't use TS modules if any of its dependencies (including<br>
> internal to that project!) aren't also modularized. I don't understand why<br>
> that would be the case.<br>
<br>
Huh? I don't know how you arrived at that conclusion...<br>
<br>
No, the problem is that libraries are distributed, and users use<br>
distributed libraries. In order for these libraries to be modularized,<br>
they have to ship something that allows BMI's to be generated.<br>
<br>
Right now, they ship headers. They can't ship BMI's because BMI's are<br>
not portable across compilers or quite possibly even compiler versions.<br>
Shipping raw source will not be an option for non-open-source libraries.<br></blockquote><div><br></div><div>Uh ?</div><div>Headers are raw source. Module header units are raw sources</div><div>there is absolutely no difference</div><div><br></div><div>If they need to hide implementation details, module implementations units exist.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We need an intermediate representation that is *portable*.<br>
<br>
-- <br>
Matthew<br>
_______________________________________________<br>
Tooling mailing list<br>
<a href="mailto:Tooling@isocpp.open-std.org" target="_blank">Tooling@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/tooling" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/tooling</a><br>
</blockquote></div></div>