C++ Logo


Advanced search

Re: What is the outcome of the 12-12 meeting for the initial question: the location of std module units?

From: Michael Spencer <bigcheesegs_at_[hidden]>
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]>

> 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