
BTW, I was told that if boost/config.hpp is included before any system headers, it will still be able to use _REENTRANT to detect if -pthread was specified on the command line.
That's correct AFAICT, but does not really help. There's already too much code that includes system headers before any boost headers.
If we're in the same situation as Python, which requires "python.h" be included before any system headers, it's a damn shame. I don't understand all the reasons for this situation -- is it POSIX's fault? Can we get them to fix this? AFAICT it's almost impossible to formulate consistent rules for using libraries together now. If someone wants to use python and boost together, what should she do?
No we're not in that situation: as of the current cvs state it doesn't matter what headers you include or in what order (as far as Boost is concerned anyway, I can't comment about Python), however if you are using gcc-3.4 then you may find threading support "always on" unless you define BOOST_DISABLE_THREADS. This is actually the same situation we had prior to the 1.31 release BTW. It's not ideal, but it is at least consistent, and once the gcc folks fix the libstdc++ setup, we can re-evaluate things again. John.