Subject: Re: [boost] libraries dependencies
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2009-02-10 17:13:27
----- Original Message -----
From: "Konstantin Litvinenko" <to.darkangel_at_[hidden]>
Sent: Tuesday, February 10, 2009 10:58 PM
Subject: [boost] libraries dependencies
> I am working on a "yet another" build tool :) and as part of
> performance testing I am doing boost modularization. Boost was chosen
> because I work with it more then 5 years and it big enough and known to
> me. Modularization of boost 1.34.1 was successful and 31 (not all yet)
> libraries was tested. That was easy. But when I tried to modularize
> boost 1.36.0 I faced circular dependencies that I can't break. Some old
> part of boost that have enormous interheader dependencies I separated in
> /boost/core library(mpl + preprocessor + bind + utility + many small
> .hpp + details). For boost 1.34.1 I decided that throw_exception.hpp
> must reside in /boost/core library. For 1.36.0 I decided to put it in
> /boost/exception because it is natural place for that functionality. But
> /boost/exception is dependent on /boost/smart_ptr that dependent on
> /boost/exception. And ooops - we have circular dependency. I can place
> both /boost/exception and /boost/smart_ptr into /boost/core but that
> seams really wrong to me.
You should place them in Boost core, a lot of libraries use them and most of the Boost libraries use throw_exception. Once the other dependencies are clean you could see in the Core..
> I known that some folks working on CMake build
> system and also need modularize boost.
Have you a different core that CMake build? Please copy them.
> So my question is: Is there any plans to do
> refactoring/cleaning/reorganizing/... to make boost have more clean
> inter-libraries dependencies?
It seems evident to me that the work done seen the dependencies between libraries has this as a goal. I'm unable to say you when and how this will be done , but maybe you should post this tothe CMameML.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk