Boost compatibility with Interix

Hello all, When including the boost libraries on a Windows XP SP3 machine via Interix v3.5 using gcc 3.4.6 I would receive a number of pre-compiler errors complaining that boost threads were "unavailable on this platform". I resolved this issue by prepending the following code to the first inclusion of a boost library: #ifdef ARCH_Interix // an internal definition # include <boost/config.hpp> # define BOOST_HAS_THREADS # define BOOST_HAS_PTHREADS #endif There must be a more eloquent way of setting the thread definitions for Interix from within files such as /boost/thread/detail/platform.hpp or boost/thread/detail/config.hpp but I'll leave that to the development teams prerogative. In any case, making the boost libraries comparable with Interix should not be overly complex. Please let me know if I can provide more information. Thanks, AKF

On 2013-03-25 06:41, Andrin K. Foster wrote:
#ifdef ARCH_Interix // an internal definition
Shouldn't this be __INTERIX ?
There must be a more eloquent way of setting the thread definitions for Interix from within files such as /boost/thread/detail/platform.hpp or boost/thread/detail/config.hpp
Have a look at boost/config/select_platform_config.hpp

#ifdef ARCH_Interix // an internal definition
Shouldn't this be __INTERIX ?
There must be a more eloquent way of setting the thread definitions for Interix from within files such as /boost/thread/detail/platform.hpp or boost/thread/detail/config.hpp
Have a look at boost/config/select_platform_config.hpp
What would be really helpful is if someone with access to that platform could: * Build and run libs/config/test/config_info.cpp and let me have the program output. * cd into libs/config and do a: ./configure --enable-test and let me have the result. Thanks, John.
participants (3)
-
Andrin K. Foster
-
Bjorn Reese
-
John Maddock