Boost logo

Boost :

From: Jim Douglas (jim_at_[hidden])
Date: 2006-02-13 02:28:51


Jim Douglas wrote:
> ...We have a solution for Boost.Python,
> but just haven't implemented it as yet. I was hoping for time to achieve
> something optimal, but the rush towards 1.34 means that it will be
> more of a kludge. I promise it will get done early next week.

David,

Here are the fixes that will ensure that the python library builds and
passes the regression tests under QNX6 (both libraries). Two files need
to be modified, type_id.cpp & python.jam. The diff files are attached.

In type_id.cpp I have left the original conditional code intact and
wrapped the additional QNX conditionals around it. The end result
favours clarity over optimisation. Please remove the additional comments
I added if you wish.

I sincerely hope these changes will not cause other platforms to fail.

Regards
Jim

Index: type_id.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/python/src/converter/type_id.cpp,v
retrieving revision 1.15
diff -r1.15 type_id.cpp
14a15,18
> #if defined(__QNXNTO__)
> # include <ostream>
> #else /* defined(__QNXNTO__) */
>
33a38
> #endif /* defined(__QNXNTO__) */
38,39c43,51
< # ifdef __GNUC__
< # if __GNUC__ < 3

---
> 
> #   if defined(__QNXNTO__)
> namespace cxxabi {
> extern "C" char* __cxa_demangle(char const*, char*, std::size_t*, int*);
> }
> #   else 					/*	defined(__QNXNTO__)	*/
> 
> #    ifdef __GNUC__
> #     if __GNUC__ < 3
43c55
< #    else
---
> #     else
47c59
< #     if __GNUC__ == 3 && __GNUC_MINOR__ == 0
---
> #      if __GNUC__ == 3 && __GNUC_MINOR__ == 0
52,54c64,67
< #     endif 
< #    endif
< #   endif 
---
> #      endif			/*	__GNUC__ == 3 && __GNUC_MINOR__ == 0	*/
> #     endif				/*	__GNUC__ < 3							*/
> #    endif 				/*	__GNUC__								*/ 
> #   endif 				/*	defined(__QNXNTO__)						*/ 

Index: python.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v1/python.jam,v
retrieving revision 1.94
diff -r1.94 python.jam
88a89,92
> else if $(OS) = QNXNTO
> {
> PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) ;
> }


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk