|
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