Date: Thu, 14 Dec 2023 01:51:18 -0800
On Wed, Dec 13, 2023 at 8:23 AM Chuanqi Xu via SG15 <sg15_at_[hidden]>
wrote:
> Hi Guys,
>
> I didn't take part in the meeting so I am curious. After the meeting, I
> see plenty of discussions about module metadata files. I am not against
> this.
> But I am wondering if the initial question got answered. I didn't see it
> anywhere. Sorry if I missed.
>
> In my mind, the motivation of the meeting should be the location of
> the std modules. Should it be <PREFIX>/modules/c++/v1? Should it be
> `/usr/include/c++/$version`? Or should it be `$PREFIX/share/c++/modules`?
> ....
>
> Do we have any consensus on this?
>
>
> Thanks,
> Chuanqi
>
To expand on Daniel's answer a bit more (still waiting on the meeting notes
to get posted).
We agreed that:
* We need a metadata file because there are additional flags needed and how
you compile it depends on the library binary you're linking against
* The compiler needs to say where that file is given a base command line
(so including target and ABI affecting flags)
* GCC compatible compiler drivers already have `-print-file-name` that
can be used for this purpose
* Ecosystem IS should document this
Also discussed that GCC and LLVM can talk to each other to coordinate on
filesystem layout, but isn't 100% required because of the metadata file
- Michael Spencer
wrote:
> Hi Guys,
>
> I didn't take part in the meeting so I am curious. After the meeting, I
> see plenty of discussions about module metadata files. I am not against
> this.
> But I am wondering if the initial question got answered. I didn't see it
> anywhere. Sorry if I missed.
>
> In my mind, the motivation of the meeting should be the location of
> the std modules. Should it be <PREFIX>/modules/c++/v1? Should it be
> `/usr/include/c++/$version`? Or should it be `$PREFIX/share/c++/modules`?
> ....
>
> Do we have any consensus on this?
>
>
> Thanks,
> Chuanqi
>
To expand on Daniel's answer a bit more (still waiting on the meeting notes
to get posted).
We agreed that:
* We need a metadata file because there are additional flags needed and how
you compile it depends on the library binary you're linking against
* The compiler needs to say where that file is given a base command line
(so including target and ABI affecting flags)
* GCC compatible compiler drivers already have `-print-file-name` that
can be used for this purpose
* Ecosystem IS should document this
Also discussed that GCC and LLVM can talk to each other to coordinate on
filesystem layout, but isn't 100% required because of the metadata file
- Michael Spencer
Received on 2023-12-14 09:51:35