Skip to content
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

Add support for modular build structure. #1292

Merged
merged 25 commits into from
Aug 20, 2024

Conversation

grafikrobot
Copy link
Member

@grafikrobot grafikrobot commented Jul 20, 2024

This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.

This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:

This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.

build.jam Outdated
<library>/boost/mpl//boost_mpl
<library>/boost/multiprecision//boost_multiprecision
<library>/boost/numeric_conversion//boost_numeric_conversion
<library>/boost/polygon//boost_polygon
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to distinguish between real dependencies (the library uses it)
and other dependencies?
Other depencie scan be:

  • optional adaptations
  • dependency for test only
  • dependency for examples only

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not that easy and this is probably generated.
I'm doubting how we should organize our library such that this is more clear.

For the test, it looks good to me, thanks for your efforts!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can investigate making tweaks after the initial merge. Optional deps are difficult to deal with. Especially since a goal of these changes is to make it possible for more automatic package manager use. So optional things need a human touch to put in appropriate logic. Maybe add a git issue to investigate later?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you mean by dependencies for test or examples. These are the dependencies as listed here https://pdimov.github.io/boostdep-report/develop/geometry.html .. Which are only for the public library headers.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All right, it's fine for now, you made already a huge effort in all libraries. Thanks again, great work.
We will look at it ourselves later.

example/Jamfile Outdated Show resolved Hide resolved
Copy link
Collaborator

@barendgehrels barendgehrels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved already (for convenience - I realize it's still in draft mode, but the approval will stay)

Copy link
Member

@vissarion vissarion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I am also approving this PR.

@grafikrobot
Copy link
Member Author

FYI.. There are more changes coming. Because of general comments from other PRs. So you get to approve again. :-)

@vissarion
Copy link
Member

FYI.. There are more changes coming. Because of general comments from other PRs. So you get to approve again. :-)

OK I will review it again when in "ready for review" state. Thanks again.

@grafikrobot grafikrobot marked this pull request as ready for review August 18, 2024 15:19
@grafikrobot
Copy link
Member Author

Please review and merge this PR at your earliest convenience.

@barendgehrels
Copy link
Collaborator

Still looks great to me, I'll merge.
Thanks again.

@barendgehrels barendgehrels merged commit 19865f5 into boostorg:develop Aug 20, 2024
24 checks passed
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.

3 participants