Skip to content

[boost] Use Boost Container as PMR for Boost Cobalt #26059

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

uilianries
Copy link
Member

@uilianries uilianries commented Nov 28, 2024

Summary

Changes to recipe: boost/[>=1.84]

Motivation

The Boost Cobalt not only need Boost containers by default, but also need polymorphic allocator feature. Such feature requires Clang 16, GCC 9 and MSVC 192 (see https://en.cppreference.com/w/cpp/compiler_support/20). The main problem is start filtering again which compiler has/no the feature available.

Still, Boost Cobalt has a exposed feature to elect which PMR should be used: https://github.com/boostorg/cobalt/blob/boost-1.84.0/build/Jamfile#L23

Right now, the current Conan recipe for Boost, does not forward any define, resulting that users will try to consume from <memory_resource> always: https://github.com/boostorg/cobalt/blob/boost-1.86.0/include/boost/cobalt/config.hpp#L38

However, we can use Boost Container (it's a dependency of Cobalt already) to provide such feature, so we do not need to manage it.

Another proposal would be exposing it as a recipe option, but too much IMO, as it will affect the package ID and Cobalt is a new library.

fixes #22548
closes #25831

Details

The current build using Clang 15 (Tried first with Clang 14, but is broken for C++20 on Linux), with Cobalt active:

boost-1.86.0-linux-cobalt.log

This PR should conflict to #26030. I hope the #26030 get merged first.


Signed-off-by: Uilian Ries <[email protected]>
@uilianries uilianries self-assigned this Nov 28, 2024
@uilianries uilianries mentioned this pull request Dec 10, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[package] boost/1.84.0: Boost component cobalt is missing libraries.
1 participant