
David Abrahams wrote:
I'm willing to try any change you think is appropriate.
Attached is a patch which fixes the problem on my system. Given the complexity of the matter, I can make no promises for other systems. Maybe we could check it in and see what happens with the regression tests? Markus Index: wrap_python.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/python/detail/wrap_python.hpp,v retrieving revision 1.18 diff -u -r1.18 wrap_python.hpp --- wrap_python.hpp 26 Jul 2004 00:32:07 -0000 1.18 +++ wrap_python.hpp 31 Aug 2004 15:52:05 -0000 @@ -21,6 +21,23 @@ // 01 Mar 01 define PyObject_INIT() for Python 1.x (Dave Abrahams) // +// Get ahold of Python's version number +// +#include <patchlevel.h> + +// +// Include the python config file. This has to be done before including any +// system headers because it defines macros which might collide with default +// definitions. Namely these are _OSF_SOURCE, _POSIX_C_SOURCE, and +// _XOPEN_SOURCE. +// +#if PY_MAJOR_VERSION < 2 || PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION < 2 +# include <config.h> +#else +# include <pyconfig.h> +#endif + +// // Python's LongObject.h helpfully #defines ULONGLONG_MAX for us, // which confuses Boost's config // @@ -35,11 +52,6 @@ # define BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED #endif -// -// Get ahold of Python's version number -// -#include <patchlevel.h> - #ifdef _DEBUG # ifndef BOOST_DEBUG_PYTHON # undef _DEBUG // Don't let Python force the debug library just because we're debugging.