Boost logo

Boost :

Subject: Re: [boost] is review system in place is extremely slow? (was Re:[rfc] rcpp)
From: Jeffrey Bosboom (jbosboom_at_[hidden])
Date: 2010-02-24 19:57:00


On 2/24/2010 3:55 PM, Zachary Turner wrote:
> I have to agree with this. It is both annoying and unnecessary that if all
> I want is one simple library, I have to have almost every other library on
> my system.
>
> Things like mpl, regex, preprocessor, variant, unordered, etc should
> certainly be at a completely different layer than extremely high level
> libraries like GIL, wave, etc.
>
> How to define these layers is of course the question.
>
> Perhaps a first step would be to carefully draw up a chart of the current
> dependency graph between the entire set of libraries, and see what can be
> extracted from there.

We've done this kind of dependency analysis before, although I don't
have the chart handy. bcp also tries to do this intelligently, but it
doesn't seem to work well enough; I remember a discussion on this list
where BGL was pulling in MPI even though the user didn't need it,
because there was one source file that implemented MPI support and that
counted as a dependency.

What we might end up needing is a ports-like installer that can be told
'I want regex, unordered, variant and multi_index' and have it figure
out the dependencies and install just that set of libraries. There will
also need to be something like Gentoo's USE flags for optional support;
e.g., if you need MPI support, you specify USE=MPI and MPI will be
pulled in, otherwise it won't. This may need some #defines for
configuration of this support (BOOST_USE_MPI or whatever).

I'm working on a project (saiph, a NetHack-playing bot) that could
benefit greatly from boost libraries, but the other programmers aren't
willing to depend on Boost because it's too big. Modularity is important.

--Jeffrey Bosboom


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