
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. I known that some folks working on CMake build system and also need modularize boost. So my question is: Is there any plans to do refactoring/cleaning/reorganizing/... to make boost have more clean inter-libraries dependencies? Thanx