[cfe-dev] [Modules TS] Have the file formats been decided?

Sean Silva via cfe-dev cfe-dev at lists.llvm.org
Sun Jan 22 03:29:27 PST 2017


On Sun, Jan 22, 2017 at 2:25 AM, Stephen Kelly via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Sean Silva via cfe-dev wrote:
>
> > 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.
>
> Social/historical issues are difficult to solve (how something is
> communicated might have to change - not just how the thing is implemented),
> and still can have an effect on adoption.


That's why I mentioned it :) Just wanted to clarify the distinction between
the mechanism and other barriers.

The social/historical barriers are indeed *very* strong.



> I don't know what the 'developer
> story' is apart from 'wait for all of your dependencies to update with
> modules support and wait for each buildsystem of your dependency to be
> compatible with all the others for creating and consuming modules and then
> you can start using modules'.
>

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").

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.

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).


>
> I realize this goes beyond Clang and the ModulesTS has buildsystem issues
> too...
>

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!

-- Sean Silva


>
> Thanks,
>
> Steve.
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170122/10ad531e/attachment.html>


More information about the cfe-dev mailing list