boost-1.36.0: fix compiling with gcc-4.4
authorHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 11 Nov 2009 21:59:51 +0000 (22:59 +0100)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 11 Nov 2009 22:05:22 +0000 (23:05 +0100)
* bump PR

recipes/boost/boost_1.36.0.bb
recipes/boost/files/gcc-44.diff [new file with mode: 0644]
recipes/boost/files/sscanf.patch [new file with mode: 0644]

index 898d1b1..f4fad8c 100644 (file)
@@ -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 (file)
index 0000000..ae072e0
--- /dev/null
@@ -0,0 +1,304 @@
+Index: /boost/python/call.hpp\r
+===================================================================\r
+--- /boost/python/call.hpp (revision 24055)\r
++++ /boost/python/call.hpp (revision 48960)\r
+@@ -39,5 +39,8 @@\r
+ # endif // CALL_DWA2002411_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/object/value_holder.hpp\r
+===================================================================\r
+--- /boost/python/object/value_holder.hpp (revision 32284)\r
++++ /boost/python/object/value_holder.hpp (revision 48960)\r
+@@ -118,5 +118,8 @@\r
+ // --------------- value_holder ---------------\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -164,3 +167,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/object/make_holder.hpp\r
+===================================================================\r
+--- /boost/python/object/make_holder.hpp (revision 39191)\r
++++ /boost/python/object/make_holder.hpp (revision 48960)\r
+@@ -48,5 +48,8 @@\r
+ # endif // MAKE_HOLDER_DWA20011215_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -103,3 +106,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/object/pointer_holder.hpp\r
+===================================================================\r
+--- /boost/python/object/pointer_holder.hpp (revision 41521)\r
++++ /boost/python/object/pointer_holder.hpp (revision 48960)\r
+@@ -171,5 +171,8 @@\r
\r
+ /* --------------- pointer_holder --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -213,3 +216,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/call_method.hpp\r
+===================================================================\r
+--- /boost/python/call_method.hpp (revision 24614)\r
++++ /boost/python/call_method.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
+ # endif // CALL_METHOD_DWA2002411_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/python/detail/target.hpp\r
+===================================================================\r
+--- /boost/python/detail/target.hpp (revision 24614)\r
++++ /boost/python/detail/target.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
\r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -80,3 +83,4 @@\r
+ # undef Q\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/detail/result.hpp\r
+===================================================================\r
+--- /boost/python/detail/result.hpp (revision 43799)\r
++++ /boost/python/detail/result.hpp (revision 48960)\r
+@@ -87,5 +87,8 @@\r
\r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -129,3 +132,4 @@\r
+ # undef Q\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /boost/python/signature.hpp\r
+===================================================================\r
+--- /boost/python/signature.hpp (revision 24055)\r
++++ /boost/python/signature.hpp (revision 48960)\r
+@@ -114,5 +114,8 @@\r
+ # endif // SIGNATURE_JDG20020813_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
\r
+ # define N BOOST_PP_ITERATION()\r
+@@ -177,3 +180,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // !defined(BOOST_PP_IS_ITERATING)\r
+Index: /boost/mpl/aux_/numeric_op.hpp\r
+===================================================================\r
+--- /boost/mpl/aux_/numeric_op.hpp (revision 30670)\r
++++ /boost/mpl/aux_/numeric_op.hpp (revision 48960)\r
+@@ -288,5 +288,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -309,3 +312,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/aux_/advance_backward.hpp\r
+===================================================================\r
+--- /boost/mpl/aux_/advance_backward.hpp (revision 24874)\r
++++ /boost/mpl/aux_/advance_backward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -122,3 +125,4 @@\r
+ #   undef AUX778076_ITER_0\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/aux_/full_lambda.hpp\r
+===================================================================\r
+--- /boost/mpl/aux_/full_lambda.hpp (revision 24896)\r
++++ /boost/mpl/aux_/full_lambda.hpp (revision 48960)\r
+@@ -228,5 +228,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -348,3 +351,4 @@\r
\r
+ #undef i_\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/aux_/advance_forward.hpp\r
+===================================================================\r
+--- /boost/mpl/aux_/advance_forward.hpp (revision 24874)\r
++++ /boost/mpl/aux_/advance_forward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -121,3 +124,4 @@\r
+ #   undef AUX778076_ITER_0\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/unpack_args.hpp\r
+===================================================================\r
+--- /boost/mpl/unpack_args.hpp (revision 24874)\r
++++ /boost/mpl/unpack_args.hpp (revision 48960)\r
+@@ -112,5 +112,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -144,3 +147,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/bind.hpp\r
+===================================================================\r
+--- /boost/mpl/bind.hpp (revision 25875)\r
++++ /boost/mpl/bind.hpp (revision 48960)\r
+@@ -362,5 +362,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -545,3 +548,4 @@\r
+ #   undef j_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/apply.hpp\r
+===================================================================\r
+--- /boost/mpl/apply.hpp (revision 24874)\r
++++ /boost/mpl/apply.hpp (revision 48960)\r
+@@ -136,5 +136,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -223,3 +226,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /boost/mpl/apply_wrap.hpp\r
+===================================================================\r
+--- /boost/mpl/apply_wrap.hpp (revision 24892)\r
++++ /boost/mpl/apply_wrap.hpp (revision 48960)\r
+@@ -79,5 +79,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -198,3 +201,4 @@\r
+ #   undef j_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
diff --git a/recipes/boost/files/sscanf.patch b/recipes/boost/files/sscanf.patch
new file mode 100644 (file)
index 0000000..11d1c96
--- /dev/null
@@ -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 );