Boost logo

Boost :

From: René Ferdinand Rivera Morell (grafikrobot_at_[hidden])
Date: 2024-01-14 05:41:16


Dear fellow Boost authors,

As some of you may have heard.. Some of us have been working on making
it possible to fully consume Boost in a modular arrangement. First
some FAQs about this:

Q: What is a "modular arrangement"?
A: It's when the libraries can be used, and hence built, without
creating the monolithic headers, without needing the root build files,
and without needing the libraries to be arranged in the usual
root/libs/<name>.

Q: Will a modular Boost remove the Boost release?
A: No. The collection of libraries is still a single release. See
recent discussions about this.

Q: Will this change the testing?
A: No, unless you want to. You will still be able to test the same
non-modular way. But you could also test the modular way.

Q: Will this require that we change the current Boost source structure?
A: Yes. Unfortunately there is one restriction that adhering to a
modular Boost requires. We would not allow sublibs. That is, that we
can't support having libraries in root/libs/thing/<library> style
locations. All libraries must be single libraries under the root/libs
directory. Thankfully there's only a handful of such libraries. The
root/libs/numeric/* group of libraries.

Q: Why do we want a modular Boost?
A: I'm not going to enumerate the reasons here. But let me just say..
That we've wanted a way to reduce, i.e. modularize, Boost since at
least 19 years ago. When we added the "--without-<library>" build
option to the root build file
<https://github.com/boostorg/boost/blame/master/Jamroot#L107>.

Now the work part.. Over the past year or so I've been making patches
to the Boost build files, in my own repo, that cleans up the many,
many, problems that make libraries depend on the current source
structure. I've also made changes to B2 to make it
easier/possible/automatic to deal with the new modular freedom. The B2
changes were naturally easy to put in since I control the repo and
distribution. And the last bit of them shipped with the 1.83 release
last Summer. But now I need to start pushing the changes to the many
Boost repos to get this finished. A couple of weeks ago I started
posting PRs to incrementally, and unobtrusively, make the changes to
the Jamfiles. So far I have these:

<https://github.com/boostorg/ublas/pull/189>
<https://github.com/boostorg/interval/pull/38>

I'm not sure how else to say this so.. PLEASE, PLEASE, merge those and
future PRs ASAP.

-- 
-- René Ferdinand Rivera Morell
-- Don't Assume Anything  -- No Supone Nada
-- Robot Dreams - http://robot-dreams.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk