C++ Logo


Advanced search

Re: Proposal for module metadata format to be used by the std library and others

From: Iain Sandoe <iain_at_[hidden]>
Date: Wed, 20 Dec 2023 15:22:17 +0000
Hi Folks,

> On 19 Dec 2023, at 19:55, Mark de Wever via SG15 <sg15_at_[hidden]> wrote:
> On Tue, Dec 12, 2023 at 04:56:32PM -0500, Daniel Ruoso via SG15 wrote:
>> As discussed in the meeting on 2023-12-12, I'm putting together a proposal
>> for the metadata format to be used both when discovering the std modules as
>> well as for pre-built libraries in general.
> Based on this proposal I've created a libc++ PR [1]. I got a lot of
> pushback regarding installing modules in a directory parallel to
> include. I've changed that directory. The current tentative location is
> <prefix>/usr/share/libc++/v1/

My recollection is that (amongst other things) the SG15 discussion identified that
the manifest/module recipe is more tied to the library binary than the headers.
For example, (at least for libc++) one set of headers might be designed to cater for
multiple ISAs or incompatible ABIs; nevertheless, those must be distinct in the
actual library binar(ies) [either as ABI slices, or as separate entities].

Manifests/module information files therefore might need to be identified on the
basis of user’s compile flags that determine one of a set of incompatible ABI

What is your plan for dealing with this in the proposed install?


> I'm still working on a Clang patch to provide the name of the manifest
> file.
> [1] https://github.com/llvm/llvm-project/pull/75741
> Cheers,
> Mark
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg15

Received on 2023-12-20 15:22:19