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. #233

Open
wants to merge 28 commits into
base: develop
Choose a base branch
from

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 Show resolved Hide resolved
build/Jamfile.v2 Show resolved Hide resolved
build/log-arch-config.jam Outdated Show resolved Hide resolved
build/log-build-config.jam Show resolved Hide resolved
build.jam Outdated Show resolved Hide resolved
build/log-arch-config.jam Show resolved Hide resolved
build/log-arch-config.jam Outdated Show resolved Hide resolved
build/log-platform-config.jam Show resolved Hide resolved
example/wide_char/Jamfile.v2 Outdated Show resolved Hide resolved
test/Jamfile.v2 Outdated Show resolved Hide resolved
@grafikrobot
Copy link
Member Author

General FYI.. I'm doing changes to the PR to account for your feedback (and all the other feedback in other PRs). Again, thanks for taking a careful look. Much appreciated!

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

Please review and merge this PR at your earliest convenience.

build.jam Outdated Show resolved Hide resolved
build/Jamfile.v2 Outdated Show resolved Hide resolved
build/Jamfile.v2 Show resolved Hide resolved
config/build.jam Outdated
Comment on lines 1 to 14
# Copyright René Ferdinand Rivera Morell
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

import-search /boost/predef/tools ;
import predef ;

project
: requirements
# Set these to computed values according to the build.
[ predef.address-model ]
[ predef.architecture ]
;
Copy link
Member

Choose a reason for hiding this comment

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

What is the purpose of this file? Is it actually needed?

Copy link
Member Author

Choose a reason for hiding this comment

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

It sets the address-model and architecture features to the platform detected values for all the config subprojects. Which is what allows this https://github.com/boostorg/log/pull/233/files#diff-b200e03281a7c4df9a1bfad85a764447a1a56954a2efc88f8ba8c212acb38686R18 to be just fetching the feature value.

Copy link
Member

Choose a reason for hiding this comment

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

I thought you said these properties are auto-detected and always set now, are they not?

Config projects are used from the main build Jamfile, are these (and all other) properties not forwarded to the config projects when they are compiled? I think, they need to be.

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.

2 participants