Boost logo

Boost :

Subject: [boost] To modularize, or not to modularize. What is the plan?
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2019-05-06 23:47:14


Bringing this up because of the recent discussion in the 1.70.1 thread. And
of course because this is the week that a certain BSC meets. Hence I
thought I would clarify what I've meant my a modular Boost all this time.

A modular Boost, to me, means a Boost that first and foremost a collection
of independently consumable C++ libraries. That would have the following
aspects to it:

* An end user or library author can obtain a single Boost library of their
choice and use it in their project, assuming they also obtain the
appropriate dependencies of that library.
* BoostOrg would not produce a monolithic, combined, merged, etc
distribution.
* BoostOrg would produce collectively tested milestone modular
distributions.

Sounds lovely right? ...I'll leave the discussion of merits to responses
herein ;-)

What would it take to reach that modular goal? Why do I keep saying we've
been working on this for ages and ages? Briefly here's what it would take
to get there (not in any particular order):

* Abandon the single header include tree.
* Abandon the monolithic build infrastructure.
* Ban relative use of inter-library dependencies.
* Explicit declaration of inter-library dependencies.
* Strict normalized library layout.
* Remove, and ban, dependency cycles at the inter-library user consumable
granularity.

There's probably more items that I've forgotten above. But this should be
enough to converse about.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- 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