
Stefan,
Wave drags in threads only if it gets compiled in an environment requiring threads (BOOST_HAS_THREADS is defined). If you build Wave such that BOOST_HAS_THREADS is not defined, it won't depend on threads.
But having threads and using threads are not the same thing ! Also, I find this configuration-based approach a little too coarse-grained. Ideally the question of whether or not to use threads (or whatever it is boost.spirit uses that requires thread support) would be configured using a template parameter (policy / traits), so the same library could be used with and without threads without requiring a separate build.
Agreed. But this isn't possible using the existing libraries. As I said, threading support is needed for Spirit and Pool, both of which need to be configured by pp constants at compile time. Regards Hartmut