Tyler Mandry wrote:
Are there some paths that bcp is taking that aren't really neccessary?
Unfortunately bcp isn't smart enough to not look into optional dependencies that are guarded by #ifdef. In this particular case it follows the dependency to detail/quick_allocator.hpp, which in turn brings in the type_traits and mpl libraries. But quick_allocator.hpp is only used if you #define BOOST_SP_USE_QUICK_ALLOCATOR.
Can I narrow this huge vat of files down to the ones that I *really* need, or is this it? How?
The only reliable way that I know of is to copy the required headers into a pristine include directory one by one until your program compiles. Not particularly elegant, but it works. In shared_ptr's case you need boost/assert.hpp boost/current_function.hpp boost/checked_delete.hpp boost/throw_exception.hpp Most of boost/detail/, so I just copy it wholesale boost/config/*