From: Darin Adler (darin_at_[hidden])
Date: 2001-11-08 01:21:09
on 11/7/01 10:09 PM, Jesse Jones at jesjones_at_[hidden] wrote:
> As best I can determine what happens is that posix_features.hpp
> defines BOOST_HAS_PTHREADS because _POSIX_THREADS is defined. But
> suffix.hpp doesn't define BOOST_HAS_THREADS because none of __MT__,
> _REENTRANT, or _PTHREADS are defined. CodeWarrior currently doesn't
> provide single-threaded runtime or C/C++ libraries so maybe one of
> these should be defined on Mach-O...
Ah, I see now.
Now that I look more carefully at the results of the regression, I see that
the CodeWarrior test did not define BOOST_HAS_THREADS even though it did
define BOOST_HAS_PTHREADS, so we're both getting the same results. I was
confused because the gcc test did define BOOST_HAS_THREADS, and it never
occurred to me that there was a compiler-specific aspect.
I'll fix this. The simplest fix is probably to add an unconditional
BOOST_HAS_THREADS define to metrowerks.hpp. This makes it clear that
CodeWarrior is effectively always in "multi-threaded mode". If no supported
thread API is discovered, then suffix.hpp will undef BOOST_HAS_THREADS, so
there's no need for "#ifdef __MACH__" or anything like that.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk