Date: Thu, 14 Dec 2023 00:01:45 +0800
> To clarify. The metadata file would be provided by the standard library, but the compiler would be responsible to tell the build system where it is.
This sounds confusing to me. Currently, the default position of the standard library is highly related to the platforms. The compiler just finds it in different method in different platforms. It is somewhat hardcodings and not elegent.
And currently when we (the users) want to use a different standard library or different version of the same library, we (the users) will tell the location of the standard library to the build systems and it would be the job of the build systems to tell this to the compiler. Personally, I feel much better with this work flow. Then the metadata file for modules is a new thing. So if we can pursue the cleaner method with the new thing. I mean we can let the build systems to find the metadata for build systems directly. So that the compiler won't treat standard library as much as possible.
(Although I said the compiler can treat std modules specially several times, I feel the current direction is to treat std modules generally, so I feel better if the compiler can do less special works for std modules now)
Thanks,
Chuanqi
------------------------------------------------------------------
From:Daniel Ruoso <daniel_at_[hidden]>
Send Time:2023 Dec. 13 (Wed.) 23:43
To: SG15 <sg15_at_[hidden]>
Cc:Chuanqi <chuanqi.xcq_at_[hidden]c.com>
Subject:Re: [SG15] Proposal for module metadata format to be used by the std library and others
On Wed, Dec 13, 2023, 10:27 Chuanqi Xu via SG15 <sg15_at_[hidden] <mailto:sg15_at_[hidden] >> wrote:
I think the metadata file should be provided by the implementors of libraries (libc++ , libstdc++ and MSSTL in the case) instead of the compiler.
To clarify. The metadata file would be provided by the standard library, but the compiler would be responsible to tell the build system where it is.
That's because the compiler is the one better positioned to integrate with the standard library and provide a unified interface for the build system.
Daniel
This sounds confusing to me. Currently, the default position of the standard library is highly related to the platforms. The compiler just finds it in different method in different platforms. It is somewhat hardcodings and not elegent.
And currently when we (the users) want to use a different standard library or different version of the same library, we (the users) will tell the location of the standard library to the build systems and it would be the job of the build systems to tell this to the compiler. Personally, I feel much better with this work flow. Then the metadata file for modules is a new thing. So if we can pursue the cleaner method with the new thing. I mean we can let the build systems to find the metadata for build systems directly. So that the compiler won't treat standard library as much as possible.
(Although I said the compiler can treat std modules specially several times, I feel the current direction is to treat std modules generally, so I feel better if the compiler can do less special works for std modules now)
Thanks,
Chuanqi
------------------------------------------------------------------
From:Daniel Ruoso <daniel_at_[hidden]>
Send Time:2023 Dec. 13 (Wed.) 23:43
To: SG15 <sg15_at_[hidden]>
Cc:Chuanqi <chuanqi.xcq_at_[hidden]c.com>
Subject:Re: [SG15] Proposal for module metadata format to be used by the std library and others
On Wed, Dec 13, 2023, 10:27 Chuanqi Xu via SG15 <sg15_at_[hidden] <mailto:sg15_at_[hidden] >> wrote:
I think the metadata file should be provided by the implementors of libraries (libc++ , libstdc++ and MSSTL in the case) instead of the compiler.
To clarify. The metadata file would be provided by the standard library, but the compiler would be responsible to tell the build system where it is.
That's because the compiler is the one better positioned to integrate with the standard library and provide a unified interface for the build system.
Daniel
Received on 2023-12-13 16:01:50