[nowide] cxx11_moveable_fstreams target
Hi All, By way of context to the following query, I am trying to update the VCPKG boost port to v1.74. I noticed that the nowide library now has a jam file that has the following import statement: import ../../config/checks/config : requires ; Due to the way VCPKG works, I'm copying the config directory to where it is expected and then changing the import statement. But I then get a message that it can't find the cxx11_moveable_fstreams target. Does the nowide build process rely on any other parts of boost config? If not, where is the cxx11_moveable_fstreams defined? I should say that I'm new to the boost build system, so any help is apreciated. Thanks, Sean.
Am 23.09.20 um 20:50 schrieb Sean Farrow via Boost:
I noticed that the nowide library now has a jam file that has the following import statement: import ../../config/checks/config : requires ; Due to the way VCPKG works, I'm copying the config directory to where it is expected and then changing the import statement.
But I then get a message that it can't find the cxx11_moveable_fstreams target.
Does the nowide build process rely on any other parts of boost config?
If not, where is the cxx11_moveable_fstreams defined?
That import statement is quite common among Boost libraries, so it shouldn't cause trouble itself. It is also unrelated to the error although I'd like to improve it so patching isn't required. That target is defined 6 lines below that: https://github.com/boostorg/nowide/blob/b9f551105dbad3cda08df6d69ac2976654f3... I'm not sure what else you are doing, but is it possible you are removing the "test" folder? If so those checks could likely be moved to another folder. Is there some common practice where to put such configure checks that are required to build the library? Regards, Alex
On 9/24/20 11:19 AM, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library?
I'm putting configure/build time checks in the config directory at the top level of the library. But I don't think there is an official guideline wrt. this.
-----Original Message----- From: Boost
On Behalf Of Andrey Semashev via Boost Sent: 24 September 2020 09:30 To: boost@lists.boost.org Cc: Andrey Semashev Subject: Re: [boost] [nowide] cxx11_moveable_fstreams target On 9/24/20 11:19 AM, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library?
I'm putting configure/build time checks in the config directory at the top level of the library.
But I don't think there is an official guideline wrt. this.
I think there should be. And not just in JSON metadata. But it is a big job for some libraries, duplicating what is in jamfiles. Should we start a new thread to discuss specific proposals? Paul
On 9/24/20 11:19 AM, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library? I'm putting configure/build time checks in the config directory at the top level of the library. But I don't think there is an official guideline wrt. this. I think there should be. And not just in JSON metadata. But it is a big job for some libraries, duplicating what is in jamfiles.
Starting a new thread. TLDR: Where should (source)files go that are required during the "configure" step of a regular build? Not sure what is meant by JSON metadata as I don't see how that is related. Can you elaborate?
-----Original Message----- From: Boost
On Behalf Of Alexander Grund via Boost Sent: 24 September 2020 11:59 To: boost@lists.boost.org Cc: Alexander Grund Subject: [boost] Configure check guidelines On 9/24/20 11:19 AM, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library? I'm putting configure/build time checks in the config directory at the top level of the library. But I don't think there is an official guideline wrt. this. I think there should be. And not just in JSON metadata. But it is a big job for some libraries, duplicating what is in jamfiles.
Starting a new thread. TLDR: Where should (source)files go that are required during the "configure" step of a regular build?
Not sure what is meant by JSON metadata as I don't see how that is related. Can you elaborate?
This was Edward Diener's original suggestion that the Boost metadata currently giving name, author etc could include the C++ standard level applicable. It is the data for this list https://www.boost.org/doc/libs/ The discussion is here, for the record and new people joining this thread http://boost.2283326.n4.nabble.com/Proposal-for-adding-C-level-to-the-meta-l... HTH Paul
On 9/24/20 2:30 PM, Paul A Bristow via Boost wrote:
-----Original Message----- From: Boost
On Behalf Of Alexander Grund via Boost Sent: 24 September 2020 11:59 To: boost@lists.boost.org Cc: Alexander Grund Subject: [boost] Configure check guidelines On 9/24/20 11:19 AM, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library? I'm putting configure/build time checks in the config directory at the top level of the library. But I don't think there is an official guideline wrt. this. I think there should be. And not just in JSON metadata. But it is a big job for some libraries, duplicating what is in jamfiles.
Starting a new thread. TLDR: Where should (source)files go that are required during the "configure" step of a regular build?
Not sure what is meant by JSON metadata as I don't see how that is related. Can you elaborate?
This was Edward Diener's original suggestion that the Boost metadata currently giving name, author etc could include the C++ standard level applicable.
It is the data for this list https://www.boost.org/doc/libs/
The discussion is here, for the record and new people joining this thread
http://boost.2283326.n4.nabble.com/Proposal-for-adding-C-level-to-the-meta-l...
Configure checks that require source files typically do not check for C++ version or features. For that there are already pre-defined rules in Boost.Config. Configure checks typically test the environment for various features, such as available APIs, libraries, compiler capabilities, CPU features, that sort of stuff. I don't see how JSON metadata relates to this. To me, the existing practice (using config top level directory) seems fine. We might as well document it.
Configure checks that require source files typically do not check for C++ version or features. For that there are already pre-defined rules in Boost.Config. I had the need for one: Moveable streams which are C++11 but not implemented by all stdlibs -.-
To me, the existing practice (using config top level directory) seems fine. We might as well document it. +1 I see 7 other libs doing that, so making it official seems good
On 9/24/20 3:20 PM, Alexander Grund via Boost wrote:
Configure checks that require source files typically do not check for C++ version or features. For that there are already pre-defined rules in Boost.Config. I had the need for one: Moveable streams which are C++11 but not implemented by all stdlibs -.-
To me, the existing practice (using config top level directory) seems fine. We might as well document it. +1 I see 7 other libs doing that, so making it official seems good
I've created a PR: https://github.com/boostorg/website/pull/537
On 24/09/2020 11:58, Alexander Grund via Boost wrote:
Is there some common practice where to put such configure checks that are required to build the library? I'm putting configure/build time checks in the config directory at
On 9/24/20 11:19 AM, Alexander Grund via Boost wrote: the top level of the library. But I don't think there is an official guideline wrt. this. I think there should be. And not just in JSON metadata. But it is a big job for some libraries, duplicating what is in jamfiles.
Starting a new thread. TLDR: Where should (source)files go that are required during the "configure" step of a regular build?
I've always put them under /config. But there's nothing official about that. Placing them under /build would also be just fine I would think. John.
Not sure what is meant by JSON metadata as I don't see how that is related. Can you elaborate?
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
participants (5)
-
Alexander Grund
-
Andrey Semashev
-
John Maddock
-
pbristow@hetp.u-net.com
-
Sean Farrow