The somewhat annoying thing about it is that without omitting graph from the build, it just fails. Fortunately, I have no interest in graph, so I just omitted it. It would be kind of nice from the perspective of the user if graph would realize that it was attempting the impossible and that graph would just automatically be eliminated from the build with an appropriate warning. That kind of internal understanding of what was being attempted would have saved me many wasted hours. But I'm aware that saving me wasted time is not a high priority for you guys. :)
If Boost had a proper modular build system with dependencies, then it would do just that.
Really? I don't see how it would make any difference in this case - the graph lib would still fail to compile as before. You could add a configure step - "is xpressive usable on this compiler?" - before attempting to build the graph lib, but of course we could do that right now with Boost.Build.... John.