Boost logo

Boost :

Subject: Re: [boost] [modularization] Are modular releases a goal or a non-goal?
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-09-18 09:37:55

On 18 Sep 2014 at 12:05, Stephen Kelly wrote:

> > Oh now I see what you're saying. You're saying that the git submodule
> > boost.thread should be separately downloadable as
> > right?
> I am asking if that is a goal or a non-goal.

For the whole Boost org, I don't think anybody knows, and even if
they did, it ain't happening without a huge investment of time. There
are vague statements of "wouldn't it be nice", but that isn't "boots
on the ground" as it were.

Individual library maintainers have much stronger opinions. For
example, ASIO has been capable of standalone for a long time now. I
predict many more Boost libraries will become capable of standalone
too in the next few years, because no C++ 11/14 library wants to
force all of Boost onto its users if it expects to get any users.
Especially as STLs are pretty good now, and that makes using Boost
for the same facilities redundant.

> > Include paths are straightforward. My tool replicates the boost
> > header structure into a faked boost/* directory include structure, so
> > you simply use a different -Ipath and you're good to go.
> Let's say I want to use boostfoo and boostbar which you make available as
> standalone libraries in boostfoo.git and boostbar.git and I want to use both
> of them in myproj, which also uses git.
> So, you say the steps are:
> 1) I add boostfoo.git and boostbar.git as submodules to myproj.git
> 2) I run some tool to create a faked boost/ directory
> 3) I add -Ipath to my buildsystem for that faked boost directory.
> So, I need the tool at step 2, right? And when I also need boostflub.git I
> need to run it again? Or are you instead saying that the steps are
> 1) I add boostfoo.git and boostbar.git as submodules to myproj.git
> 2) I add -Ipath/foo and -Ipath/bar to my buildsystem
> In other words "the user will be responsible for adding the individual -
> Ifoo/include paths?" as I wrote before?

Yes, the latter. Or, seeing as we know they are submodules, you could
simply include the headers explicitly in your source code. I am
hoping that because no build system is needed, we need to neither
force nor require any build system on the users. Or unit test system
for that matter.

By standalone, I really mean standalone. Each standalone library has
its own faked boost headers suitable for it, but these shouldn't
spill outwards thanks to namespacing.


ned Productions Limited Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at