Boost logo

Boost :

From: Sohail Somani (s.somani_at_[hidden])
Date: 2007-01-03 13:35:35

Hi Anthony,

Thanks for your response.

> defined and
> BOOST_HAS_PTHREADS is not; the implication is that if you
> can't use the
> Windows headers, then you can't use the Windows thread API,
> so if we haven't
> got pthread-win32 configured, you can't use Boost threads.

This pretty much sums it up, yes.

> I am not sure what we can do about this. One issue is that
> currently the
> thread lib requires windows.h, and therefore compiler
> extensions, when the
> library sources are built. I'm not sure whether it is safe to
> link something
> compiled with extensions on against something compiled with
> extensions off ---
> is the ABI the same? If it *is* safe, then we should remove
> this define from
> boost/config/suffix.hpp, since the boost thread headers don't
> explicitly
> include windows.h.

I think this is correct but I think the restriction only makes sense if
you are building the thread library. Atleast the 1.33.1 code appears to
have been written such that headers don't require language extensions.
My gut feeling is that a solution like this should work:

// BOOST_BUILDING is defined whenever building a boost library
#if defined(BOOST_BUILDING) && defined(BOOST_MSVC)
#include <boost/config/requires_threads.hpp>


> OTOH, someone put the restriction there for a reason, and I
> wouldn't want to
> remove it without careful thought.

Of course.

Thanks again,


Boost list run by bdawes at, gregod at, cpdaniel at, john at