<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 12 Feb 2019 at 21:52 Ben Boeckel &lt;<a href="mailto:ben.boeckel@kitware.com">ben.boeckel@kitware.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Feb 12, 2019 at 21:28:50 +0100, Corentin wrote:<br>
&gt; Similarly vcpkg and ports are, very sanely, source-based.<br>
&gt; They wouldn&#39;t function differently than today.<br>
<br>
I think they have the same issue as Linux distributions, but may have<br>
better or more easily available optimization opportunities via BMIs.<br>
<br>
They still do &quot;build A, install A, build B, install B&quot; steps (optionally<br>
with &quot;remove build tree&quot; after each install). If B can&#39;t consume A<br>
without A&#39;s build tree still laying around… There&#39;s also nothing<br>
stopping B from using a different compiler than A today. Hooking up C++<br>
together through BMIs exclusively (rather than as an optimization)<br>
breaks things or ends up duplicating work for a GCC-built stack and a<br>
Clang-built stack of packages. Nevermind what&#39;s supposed to happen when<br>
you want to link together two projects which don&#39;t have an intersection<br>
of supported compilers.<br>
<br>
&gt; * Reason 47 to have a deterministic mapping from module name to Module<br>
&gt; Interface Units identifier.<br>
<br>
If this is how the build tools decide what to do with external modules,<br>
so be it. But, I&#39;m fine with it being a format output as the result of a<br>
build that compilers or build tools can generate (like a .so or .dll)<br>
and consumed via CMake&#39;s usage requirements or extracted from special<br>
values in .pc files. I certainly don&#39;t want to be required to write or<br>
maintain such a thing by hand.<br></blockquote><div><br></div><div><br></div><div>I was talking of encoding the module name in the filename of the interface header unit file.</div><div>Let&#39;s not maintain unmaintainable files by hand :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
--Ben<br>
</blockquote></div></div>