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 <dnljms-AT-gmail.com> wrote:

> On 23 June 2012 21:05, Dave Abrahams <dave_at_[hidden]> wrote:
>>
>> on Sat Jun 23 2012, Mathias Gaunard <mathias.gaunard-AT-ens-lyon.org> 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:
>>>>
>>>>       http://f.cl.ly/items/343N460u3b3039091C0g/deps.pdf
>>>>
>>>
>>> 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:
>> https://github.com/boost-lib/math/blob/master/CMakeLists.txt#L96).  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
>> http://f.cl.ly/items/3V2I3A103K1Y45113s3w/source-deps.pdf
>
> 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
;-)

Cheers,

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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