[nowide] cxx11_moveable_fstreams target

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[nowide] cxx11_moveable_fstreams target

Boost - Dev mailing list
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.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [nowide] cxx11_moveable_fstreams target

Boost - Dev mailing list
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/b9f551105dbad3cda08df6d69ac2976654f387b4/build/Jamfile.v2#L17

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




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [nowide] cxx11_moveable_fstreams target

Boost - Dev mailing list
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.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [nowide] cxx11_moveable_fstreams target

Boost - Dev mailing list
> -----Original Message-----
> From: Boost <[hidden email]> On Behalf Of Andrey Semashev via Boost
> Sent: 24 September 2020 09:30
> To: [hidden email]
> Cc: Andrey Semashev <[hidden email]>
> 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



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Configure check guidelines

Boost - Dev mailing list
>> 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?




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Configure check guidelines

Boost - Dev mailing list


> -----Original Message-----
> From: Boost <[hidden email]> On Behalf Of Alexander Grund via Boost
> Sent: 24 September 2020 11:59
> To: [hidden email]
> Cc: Alexander Grund <[hidden email]>
> 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-libraries-json-td4713445.html

HTH

Paul



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Configure check guidelines

Boost - Dev mailing list
On 9/24/20 2:30 PM, Paul A Bristow via Boost wrote:

>
>
>> -----Original Message-----
>> From: Boost <[hidden email]> On Behalf Of Alexander Grund via Boost
>> Sent: 24 September 2020 11:59
>> To: [hidden email]
>> Cc: Alexander Grund <[hidden email]>
>> 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-libraries-json-td4713445.html

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.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Configure check guidelines

Boost - Dev mailing list

> 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



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Configure check guidelines

Boost - Dev mailing list
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

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Configure check guidelines

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list

On 24/09/2020 11:58, Alexander Grund via Boost wrote:

>>> 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?

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


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost