From 290faacb884412fa2c08fc2541993ef150914341 Mon Sep 17 00:00:00 2001 From: jmmv Date: Thu, 24 Aug 2006 08:45:35 +0000 Subject: Workaround a GCC 3.4/4.x compiler bug that prevents -> and & being used in constant expressions; according to the GCC bug report this was fixed in 4.0.3 but still happens with NetBSD's 4.1.2: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23437 Fixes build of boost-python; found in one of the latest bulk build reports. --- meta-pkgs/boost/distinfo | 4 +++- meta-pkgs/boost/patches/patch-ai | 15 +++++++++++++++ meta-pkgs/boost/patches/patch-aj | 21 +++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 meta-pkgs/boost/patches/patch-ai create mode 100644 meta-pkgs/boost/patches/patch-aj (limited to 'meta-pkgs') diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo index ecbca327135..c4fecdc1278 100644 --- a/meta-pkgs/boost/distinfo +++ b/meta-pkgs/boost/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.8 2006/01/21 10:12:40 jmmv Exp $ +$NetBSD: distinfo,v 1.9 2006/08/24 08:45:35 jmmv Exp $ SHA1 (boost_1_33_1.tar.bz2) = 22682f75ff0d1ea548688e78c8cca83d599ca576 RMD160 (boost_1_33_1.tar.bz2) = 3d5999d321b558f74d786bec52ee1b1fcd7e7152 @@ -11,3 +11,5 @@ SHA1 (patch-ae) = e557356101204290a70084eb284d90ce8f4cbd71 SHA1 (patch-af) = 64a6fa2be7a526a0a3e6f47d5f703d7253a51615 SHA1 (patch-ag) = 6c862a0f50590327344d6973617ccc56df67fa76 SHA1 (patch-ah) = e16c08bb0f63e63ae082e9d83c588e3adcf9cb3b +SHA1 (patch-ai) = 1e2d946090093bb4b9ab8fa78ccfaa0189b1d145 +SHA1 (patch-aj) = 09d27fc296105d3a8141df26ce3e8942ca973746 diff --git a/meta-pkgs/boost/patches/patch-ai b/meta-pkgs/boost/patches/patch-ai new file mode 100644 index 00000000000..afa27ae3092 --- /dev/null +++ b/meta-pkgs/boost/patches/patch-ai @@ -0,0 +1,15 @@ +$NetBSD: patch-ai,v 1.1 2006/08/24 08:45:35 jmmv Exp $ + +--- boost/python/converter/rvalue_from_python_data.hpp.orig 2006-08-23 23:48:06.000000000 +0200 ++++ boost/python/converter/rvalue_from_python_data.hpp +@@ -94,7 +94,9 @@ struct rvalue_from_python_data : rvalue_ + # if (!defined(__MWERKS__) || __MWERKS__ >= 0x3000) \ + && (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 245) \ + && (!defined(__DECCXX_VER) || __DECCXX_VER > 60590014) \ +- && !defined(BOOST_PYTHON_SYNOPSIS) /* Synopsis' OpenCXX has trouble parsing this */ ++ && !defined(BOOST_PYTHON_SYNOPSIS) /* Synopsis' OpenCXX has trouble parsing this */ \ ++ && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, == 4)) \ ++ && !(BOOST_WORKAROUND(__GNUC__, == 4)) + // This must always be a POD struct with m_data its first member. + BOOST_STATIC_ASSERT(BOOST_PYTHON_OFFSETOF(rvalue_from_python_storage,stage1) == 0); + # endif diff --git a/meta-pkgs/boost/patches/patch-aj b/meta-pkgs/boost/patches/patch-aj new file mode 100644 index 00000000000..04fb3dab277 --- /dev/null +++ b/meta-pkgs/boost/patches/patch-aj @@ -0,0 +1,21 @@ +$NetBSD: patch-aj,v 1.1 2006/08/24 08:45:35 jmmv Exp $ + +--- boost/python/object/instance.hpp.orig 2006-08-23 23:48:06.000000000 +0200 ++++ boost/python/object/instance.hpp +@@ -41,9 +41,16 @@ struct additional_instance_size + { + typedef instance instance_data; + typedef instance instance_char; ++#if !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, == 4)) \ ++ && !(BOOST_WORKAROUND(__GNUC__, == 4)) + BOOST_STATIC_CONSTANT( + std::size_t, value = sizeof(instance_data) + - BOOST_PYTHON_OFFSETOF(instance_char,storage)); ++#else ++ BOOST_STATIC_CONSTANT( ++ std::size_t, value = sizeof(instance_data) ++ - (sizeof(PyVarObject) + sizeof(PyObject*) + sizeof(PyObject*) + sizeof(instance_holder*))); ++#endif + }; + + }}} // namespace boost::python::object -- cgit v1.2.3