diff options
author | Henning Heinold <heinold@inf.fu-berlin.de> | 2009-11-11 22:59:51 +0100 |
---|---|---|
committer | Henning Heinold <heinold@inf.fu-berlin.de> | 2009-11-11 23:05:22 +0100 |
commit | 140929089dcaa82c1c322314bb82af786e12afab (patch) | |
tree | d455042ab24c2b9025dd981b17f43e81dda996a7 /recipes/boost | |
parent | 0276ace5fdb67a51ec17172c4535248b16d43420 (diff) |
boost-1.36.0: fix compiling with gcc-4.4
* bump PR
Diffstat (limited to 'recipes/boost')
-rw-r--r-- | recipes/boost/boost_1.36.0.bb | 5 | ||||
-rw-r--r-- | recipes/boost/files/gcc-44.diff | 304 | ||||
-rw-r--r-- | recipes/boost/files/sscanf.patch | 13 |
3 files changed, 321 insertions, 1 deletions
diff --git a/recipes/boost/boost_1.36.0.bb b/recipes/boost/boost_1.36.0.bb index 898d1b1603..f4fad8ced4 100644 --- a/recipes/boost/boost_1.36.0.bb +++ b/recipes/boost/boost_1.36.0.bb @@ -1,12 +1,15 @@ include boost-36.inc -PR = "r7" +PR = "r8" SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \ file://arm-intrinsics.patch;patch=1 \ file://01-no-serialization-test.patch;patch=1 \ file://02-atomic-count-pthreads-on-arm.patch;patch=1 \ file://03-exception-clone-destructor-fix.patch;patch=1 \ + file://gcc-44.diff;patch=1 \ + file://uclibc.patch;patch=1 \ + file://sscanf.patch;patch=1 \ " BJAM_OPTS = '${BJAM_TOOLS} \ diff --git a/recipes/boost/files/gcc-44.diff b/recipes/boost/files/gcc-44.diff new file mode 100644 index 0000000000..ae072e06d5 --- /dev/null +++ b/recipes/boost/files/gcc-44.diff @@ -0,0 +1,304 @@ +Index: /boost/python/call.hpp
+===================================================================
+--- /boost/python/call.hpp (revision 24055)
++++ /boost/python/call.hpp (revision 48960)
+@@ -39,5 +39,8 @@
+ # endif // CALL_DWA2002411_HPP
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -77,3 +80,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/object/value_holder.hpp
+===================================================================
+--- /boost/python/object/value_holder.hpp (revision 32284)
++++ /boost/python/object/value_holder.hpp (revision 48960)
+@@ -118,5 +118,8 @@
+ // --------------- value_holder ---------------
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -164,3 +167,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/object/make_holder.hpp
+===================================================================
+--- /boost/python/object/make_holder.hpp (revision 39191)
++++ /boost/python/object/make_holder.hpp (revision 48960)
+@@ -48,5 +48,8 @@
+ # endif // MAKE_HOLDER_DWA20011215_HPP
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -103,3 +106,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/object/pointer_holder.hpp
+===================================================================
+--- /boost/python/object/pointer_holder.hpp (revision 41521)
++++ /boost/python/object/pointer_holder.hpp (revision 48960)
+@@ -171,5 +171,8 @@
+
+ /* --------------- pointer_holder --------------- */
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -213,3 +216,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/call_method.hpp
+===================================================================
+--- /boost/python/call_method.hpp (revision 24614)
++++ /boost/python/call_method.hpp (revision 48960)
+@@ -38,5 +38,8 @@
+ # endif // CALL_METHOD_DWA2002411_HPP
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -77,3 +80,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/python/detail/target.hpp
+===================================================================
+--- /boost/python/detail/target.hpp (revision 24614)
++++ /boost/python/detail/target.hpp (revision 48960)
+@@ -38,5 +38,8 @@
+
+ /* --------------- function pointers --------------- */
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -80,3 +83,4 @@
+ # undef Q
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/detail/result.hpp
+===================================================================
+--- /boost/python/detail/result.hpp (revision 43799)
++++ /boost/python/detail/result.hpp (revision 48960)
+@@ -87,5 +87,8 @@
+
+ /* --------------- function pointers --------------- */
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
+@@ -129,3 +132,4 @@
+ # undef Q
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif
+Index: /boost/python/signature.hpp
+===================================================================
+--- /boost/python/signature.hpp (revision 24055)
++++ /boost/python/signature.hpp (revision 48960)
+@@ -114,5 +114,8 @@
+ # endif // SIGNATURE_JDG20020813_HPP
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)
+
+ # define N BOOST_PP_ITERATION()
+@@ -177,3 +180,4 @@
+ # undef N
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // !defined(BOOST_PP_IS_ITERATING)
+Index: /boost/mpl/aux_/numeric_op.hpp
+===================================================================
+--- /boost/mpl/aux_/numeric_op.hpp (revision 30670)
++++ /boost/mpl/aux_/numeric_op.hpp (revision 48960)
+@@ -288,5 +288,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+
+ # define i_ BOOST_PP_FRAME_ITERATION(1)
+@@ -309,3 +312,4 @@
+ # undef i_
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/aux_/advance_backward.hpp
+===================================================================
+--- /boost/mpl/aux_/advance_backward.hpp (revision 24874)
++++ /boost/mpl/aux_/advance_backward.hpp (revision 48960)
+@@ -80,5 +80,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ #define i_ BOOST_PP_FRAME_ITERATION(1)
+
+@@ -122,3 +125,4 @@
+ # undef AUX778076_ITER_0
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/aux_/full_lambda.hpp
+===================================================================
+--- /boost/mpl/aux_/full_lambda.hpp (revision 24896)
++++ /boost/mpl/aux_/full_lambda.hpp (revision 48960)
+@@ -228,5 +228,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ #define i_ BOOST_PP_FRAME_ITERATION(1)
+
+@@ -348,3 +351,4 @@
+
+ #undef i_
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/aux_/advance_forward.hpp
+===================================================================
+--- /boost/mpl/aux_/advance_forward.hpp (revision 24874)
++++ /boost/mpl/aux_/advance_forward.hpp (revision 48960)
+@@ -80,5 +80,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+ #define i_ BOOST_PP_FRAME_ITERATION(1)
+
+@@ -121,3 +124,4 @@
+ # undef AUX778076_ITER_0
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/unpack_args.hpp
+===================================================================
+--- /boost/mpl/unpack_args.hpp (revision 24874)
++++ /boost/mpl/unpack_args.hpp (revision 48960)
+@@ -112,5 +112,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+
+ # define i_ BOOST_PP_FRAME_ITERATION(1)
+@@ -144,3 +147,4 @@
+ # undef i_
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/bind.hpp
+===================================================================
+--- /boost/mpl/bind.hpp (revision 25875)
++++ /boost/mpl/bind.hpp (revision 48960)
+@@ -362,5 +362,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+
+ # define i_ BOOST_PP_FRAME_ITERATION(1)
+@@ -545,3 +548,4 @@
+ # undef j_
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/apply.hpp
+===================================================================
+--- /boost/mpl/apply.hpp (revision 24874)
++++ /boost/mpl/apply.hpp (revision 48960)
+@@ -136,5 +136,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+
+ # define i_ BOOST_PP_FRAME_ITERATION(1)
+@@ -223,3 +226,4 @@
+ # undef i_
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
+Index: /boost/mpl/apply_wrap.hpp
+===================================================================
+--- /boost/mpl/apply_wrap.hpp (revision 24892)
++++ /boost/mpl/apply_wrap.hpp (revision 48960)
+@@ -79,5 +79,8 @@
+ ///// iteration, depth == 1
+
+-#elif BOOST_PP_ITERATION_DEPTH() == 1
++// For gcc 4.4 compatability, we must include the
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
++#else // BOOST_PP_IS_ITERATING
++#if BOOST_PP_ITERATION_DEPTH() == 1
+
+ # define i_ BOOST_PP_FRAME_ITERATION(1)
+@@ -198,3 +201,4 @@
+ # undef j_
+
++#endif // BOOST_PP_ITERATION_DEPTH()
+ #endif // BOOST_PP_IS_ITERATING
diff --git a/recipes/boost/files/sscanf.patch b/recipes/boost/files/sscanf.patch new file mode 100644 index 0000000000..11d1c96a47 --- /dev/null +++ b/recipes/boost/files/sscanf.patch @@ -0,0 +1,13 @@ +Index: boost_1_36_0/boost/test/impl/debug.ipp +=================================================================== +--- boost_1_36_0.orig/boost/test/impl/debug.ipp 2009-11-11 22:45:05.239343879 +0100 ++++ boost_1_36_0/boost/test/impl/debug.ipp 2009-11-11 22:45:11.981848731 +0100 +@@ -277,7 +277,7 @@ + while( *name_end && *name_end != ')' ) + ++name_end; + +- std::sscanf( name_end+1, "%*s%d", &m_parent_pid ); ++ sscanf( name_end+1, "%*s%d", &m_parent_pid ); + + m_binary_name.assign( name_beg+1, name_end ); + |