
On 08/04/2013 12:45 PM, Daniel James wrote:
Note that the libraries are all in an interdependent mesh. So attempting to use any one of them (not just the 'any' one of them :) ) results in requiring all of them.
http://thread.gmane.org/gmane.comp.programming.tools.ryppl.devel/9/focus=26 I tried deleting the unordered library from my repo and could still run
On Sun, 4 Aug 2013, at 12:27 PM, Stephen Kelly wrote: the any tests just fine. So unordered's compiler requirements don't affect boost::any's at all, even though it's in your list. Module dependencies are too coarse grained. They pull in a lot of transitive dependencies that don't affect actual use. Which is what determines compiler requirements.
That's not unexpected. I expect you did not use an old enough/platform specific enough compiler to require all the conditional dependencies. For example, if you used GCC3.3+ boost::config does not depend on boost::core for you. My test was with the cmake-powered repos. Each library in those repos searches for all dependencies of each library as hard dependencies currently, so the list we arrive at is a union of hard and optional dependencies for all platforms and compilers. There is of course an argument for trying to encode optional dependencies in the CMake files, and I do think that should be done. However, this is a candle we can burn at both ends. Thanks, Steve.