|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-06-19 13:09:43
Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:
> David Abrahams wrote:
>
>> "Ralf W. Grosse-Kunstleve" <rwgk_at_[hidden]> writes:
>
>>>>This is pretty bad because quite a few boost libraries depend on more than
>>>>only the C names as specified in the standard. (thread and fs at least,
>>>>IIRC, but I think there are more)
>>>
>>>In the hot days of Boost.Python development we were very careful to use only
>>>ANSI features. Anything else is non-portable and bound to break somewhere,
>>>sooner or later. I.e. I think the libraries that don't compile with -std
>>>strict_ansi should be fixed.
>>
>> pthreads is an extension to what's required by ANSI. I think that
>> might make Boost.Threads impossible.
>
> Well, every boost library that relies on more than ANSI would be
> affected. That is at least filesystem, thread and test because each of
> them needs some POSIX feature to work properly.
>
> And CXX is quite strict in strict ansi mode. Nothing is there besides
> the things promised in the standard. For boost.test for example that
> means, including <signal.h> doesn't give you sigaction, even not if the
> POSIX feature macros say it's there.
>
> So I think as long as the bug in iotraits is not fixed, boost.python
> will not work on this platform, at least not with the boost.build
> toolset. :-(
Note: when using Boost.Build you are supposed to #include one of its
headers first. That means boost/python/detail/prefix.hpp gets
#included before anything else, which gives you an opportunity to
play all sorts of nasty tricks like
#define ios_traits broken_ios_traits
#include <iotraits>
#undef ios_traits
struct ios_traits // the working version
{
}
to work around brokenness.
HTH,
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk