Boost logo

Boost :

Subject: Re: [boost] Boost and exceptions
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-06-23 20:55:06

on Sat Jun 23 2012, Daniel James <> wrote:

> On 23 June 2012 21:05, Dave Abrahams <dave_at_[hidden]> wrote:
>> on Sat Jun 23 2012, Mathias Gaunard <> wrote:
>>> On 06/22/2012 08:33 PM, Dave Abrahams wrote:
>>>> Good question.  We do have two problematic dependency loops in Boost, but
>>>> it's not caused by this sort of header structure:
>>> What are the loops here?
>>> What do the colored boxes and arrows mean?
>> Each set of same-colored boxes is a SCC in the build dependency graph.
>> Heavy black arrows are direct dependencies. Dashed arrows are
>> dependencies introduced by usage-requirements (such as these:
>>  The
>> blue ones are members of a transitive reduction of those usage
>> dependencies.  Ignoring the gray ones *might* make the structure easier
>> to see.
> Is this something we should be doing something about?

Yes, eventually.

> I guess the Boost.Math circle could possibly be broken by splitting
> Boost.Math into smaller modules (obviously up to John).

There are a few libraries that are substantially, but not completely,
usable without their compiled component. That is to say, they're
header-only except for a few features. If in each case, those few
features were split into their own module, this issue would go away.

>>> Also this doesn't seem to cover all of Boost.
>> You don't want to see that graph :-).  It looks something like
> That's pretty crazy. Do you know if separating test dependencies would
> make much of a difference?

They're already separated, along with documentation dependencies. You
*really* don't want to see the graph that includes the test dependencies


Dave Abrahams
BoostPro Computing

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