Boost logo

Boost :

Subject: [boost] To split, or not to split, or something else? RE: type_traits rewrite, modularization, dependencies, etc.
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2015-02-02 14:12:31


I keep reading emails about the effort to reduce dependencies, and to split
libraries into core/simple + whole/big.. And I keep thinking it's making
things more complex than they need to be. I can see the need to
compartmentalize the parts of a library that have minimal to little
dependencies. So here's a suggestions for structure of managing this. I see
options:

1. In each library allow for a "core" set of headers that are still in a
core subdir. But that we can tell is a subset of the library that has the
minimal dependencies. For example we would have:

  * libs/<lib>/include/boost/<lib>/core/..
  * libs/<lib>/include/boost/<lib>/<the-rest>..

This of course assumes that it's headers only that would be core. Second
option is to have each library have to explicit sublibs/parts. "core" and
"full". Structure would be:

  * libs/<lib>/core/(build, doc, include, meta, test)
  * libs/<lib>/full/(build, doc, include, meta, test)

Note, both core and full would be in the same git repo to make life easier
for library authors and users that visit a library git repo on github. As
it's only one place for everything for that one library.

As a user, release manager, testing manager, and library author this would
be easy to understand and manage than the current "some random set of
libraries have core or not and in different places".

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

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