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

Sean Silva via cfe-dev cfe-dev at lists.llvm.org
Sun Jan 22 21:53:44 PST 2017


On Sun, Jan 22, 2017 at 9:50 PM, Sean Silva <chisophugis at gmail.com> wrote:

>
>
> On Sun, Jan 22, 2017 at 4:00 AM, Stephen Kelly via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> Sean Silva via cfe-dev wrote:
>>
>> >> 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").
>>
>> I would be interested to hear more from Richard about this.
>>
>> > 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.
>>
>> That does sound like a problem.
>>
>> > 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'm not certain what you're referring to. Perhaps what you have in mind is
>> some standardization/conventions for buildsystems. I doubt that's
>> possible.
>> I think it would be better if Modules were designed to not have that
>> impact.
>>
>> >> 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.).
>>
>> I can't imagine how anyone would get something like that started.
>>
>> > It may be too early for that work to
>> > start,
>>
>> I don't agree with that. I think the design of C++ Modules and the impact
>> the design has on buildsystems are coupled. A brilliantly designed Modules
>> system which does not consider the buildsystem (or the impact on how
>> people
>> write code - what files they write and how they relate to each other in
>> the
>> way that .h and .cpp files do today etc) might not get the deserved
>> adoption.
>>
>> > 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!
>>
>> I'm not sure how appreciated it will be, but I have attempted to ask some
>> starting questions here:
>>
>>  https://groups.google.com/a/isocpp.org/forum/?fromgroups#!t
>> opic/modules/sDIYoU8Uljw
>>
>> Those are not all the questions I have, but you are correct that the
>> conversation about the impact of Modules on buildsystems does not
>> currently
>> exist at all, so starting smaller is better.
>>
>
> Thanks for getting the ball rolling on this. btw, if you weren't aware,
> Manuel actually has been involved with rolling out Clang's explicit modules
> (i.e. essentially a "-c step for headers" that produces a .pcm file) into
> Google's internal build system
>


Sorry, hit "send" by accident. I meant to link to Manuel's CppCon talk:
https://www.youtube.com/watch?v=dHFNpBfemDI

(google's internal build system is actually substantially open-sourced at
http://bazel.build/; I'm not sure how much of Manuel's work has made it
into the open source side though)

-- Sean Silva


>
>
> -- 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/7a510eb9/attachment.html>


More information about the cfe-dev mailing list