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

Sean Silva via cfe-dev cfe-dev at lists.llvm.org
Sat Jan 21 20:50:55 PST 2017


On Wed, Jan 18, 2017 at 3:12 AM, Manuel Klimek via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> On Wed, Jan 18, 2017 at 1:15 AM Stephen Kelly via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> Richard Smith via cfe-dev wrote:
>>
>> > This does mean that build systems will need to track interface
>> > dependencies in a way they didn't before (you need to know which module
>> > interfaces should be built before which other module interfaces), and
>> that
>> > information will either need to be provided or detected by the build
>> > system. If a build system wishes to automate this, it would not be
>> > dissimilar to the #include scanning that some existing build systems
>> > already perform.
>>
>> In my perspective the biggest problem with clang modules (and the reason I
>> stopped investigating it from a buildsystem perspective) is
>>
>>  https://llvm.org/bugs/show_bug.cgi?id=21593
>>
>> I tried reaching out several times about that issue, but so far I still
>> don't know how you will solve it.
>>
>> After that is reported as solvable or solved (is the situation different
>> today compared to 2014?), I'd like to investigate other buildsystem
>> related
>> issues with modules in CMake. Unless I'm missing something, that's
>> currently
>> a waste of time for me given that I'm on linux and I can't see a future
>> for
>> the current design there. I hope I'm just missing something.
>>
>
> I believe explicit module maps solve your problem, but your bug doesn't
> contain enough information to know what you want :)
> Generally, a lot has changed since 2014. I believe explicit modules fully
> solve your problem, but on the other hand, I don't think we're ready for
> modular builds via package distributors for quite some time yet.
>

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. One such such problem is ensuring that C++ code using
modules can interoperate across different build systems.

-- Sean Silva


>
>
>> Thanks,
>>
>> Steve.
>>
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>
> _______________________________________________
> 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/20170121/19d41ef8/attachment.html>


More information about the cfe-dev mailing list