summaryrefslogtreecommitdiff
path: root/recipes/boost/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/boost/files')
-rw-r--r--recipes/boost/files/01-no-serialization-test.patch12
-rw-r--r--recipes/boost/files/02-atomic-count-pthreads-on-arm.patch17
-rw-r--r--recipes/boost/files/03-exception-clone-destructor-fix.patch12
-rw-r--r--recipes/boost/files/1.41.0_uclibc.patch13
-rw-r--r--recipes/boost/files/arm-intrinsics.patch6
-rw-r--r--recipes/boost/files/gcc-44.diff304
-rw-r--r--recipes/boost/files/sscanf.patch13
-rw-r--r--recipes/boost/files/uclibc.patch13
8 files changed, 387 insertions, 3 deletions
diff --git a/recipes/boost/files/01-no-serialization-test.patch b/recipes/boost/files/01-no-serialization-test.patch
new file mode 100644
index 0000000000..f1c9ca8572
--- /dev/null
+++ b/recipes/boost/files/01-no-serialization-test.patch
@@ -0,0 +1,12 @@
+diff -purN orig/libs/serialization/build/Jamfile.v2 boost_1_36_0/libs/serialization/build/Jamfile.v2
+--- orig/libs/serialization/build/Jamfile.v2 2008-09-11 18:45:03.000000000 -0400
++++ boost_1_36_0/libs/serialization/build/Jamfile.v2 2008-09-11 18:45:40.000000000 -0400
+@@ -8,7 +8,7 @@
+
+ project boost/serialization
+ : source-location ../src
+- : requirements <dependency>../../config/test/all//BOOST_NO_STD_LOCALE
++ : requirements
+ <conditional>@include-spirit
+ ;
+
diff --git a/recipes/boost/files/02-atomic-count-pthreads-on-arm.patch b/recipes/boost/files/02-atomic-count-pthreads-on-arm.patch
new file mode 100644
index 0000000000..c6f2e19685
--- /dev/null
+++ b/recipes/boost/files/02-atomic-count-pthreads-on-arm.patch
@@ -0,0 +1,17 @@
+diff -purN orig/boost/detail/atomic_count.hpp boost_1_36_0/boost/detail/atomic_count.hpp
+--- orig/boost/detail/atomic_count.hpp 2008-09-12 11:48:45.000000000 -0400
++++ boost_1_36_0/boost/detail/atomic_count.hpp 2008-09-12 14:36:33.000000000 -0400
+@@ -93,6 +93,13 @@ typedef long atomic_count;
+
+ # include <boost/detail/atomic_count_pthreads.hpp>
+
++#elif defined(BOOST_HAS_PTHREADS) && defined(__arm__) && !defined(__ARM_ARCH_7A__) && !defined(__ARM_ARCH_6J__)
++
++// MLC: need this on ARM, otherwise it'll attempt to use atomic_count_sync,
++// which has no ARM implementation.
++# define BOOST_AC_USE_PTHREADS
++# include <boost/detail/atomic_count_pthreads.hpp>
++
+ #elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
+
+ # include <boost/detail/atomic_count_gcc_x86.hpp>
diff --git a/recipes/boost/files/03-exception-clone-destructor-fix.patch b/recipes/boost/files/03-exception-clone-destructor-fix.patch
new file mode 100644
index 0000000000..d78759b5e3
--- /dev/null
+++ b/recipes/boost/files/03-exception-clone-destructor-fix.patch
@@ -0,0 +1,12 @@
+diff -purN orig/boost/exception/enable_current_exception.hpp boost_1_36_0/boost/exception/enable_current_exception.hpp
+--- orig/boost/exception/enable_current_exception.hpp 2008-09-12 11:48:45.000000000 -0400
++++ boost_1_36_0/boost/exception/enable_current_exception.hpp 2008-09-12 15:13:06.000000000 -0400
+@@ -96,6 +96,8 @@ boost
+ *be1 = *be2;
+ }
+
++ ~exception_clone() throw() { }
++
+ private:
+
+ detail::atomic_count mutable count_;
diff --git a/recipes/boost/files/1.41.0_uclibc.patch b/recipes/boost/files/1.41.0_uclibc.patch
new file mode 100644
index 0000000000..21d12da095
--- /dev/null
+++ b/recipes/boost/files/1.41.0_uclibc.patch
@@ -0,0 +1,13 @@
+Index: boost-1.41.0.cmake0/libs/thread/src/pthread/thread.cpp
+===================================================================
+--- boost-1.41.0.cmake0.orig/libs/thread/src/pthread/thread.cpp
++++ boost-1.41.0.cmake0/libs/thread/src/pthread/thread.cpp
+@@ -380,7 +380,7 @@ namespace boost
+ {
+ #if defined(PTW32_VERSION) || defined(__hpux)
+ return pthread_num_processors_np();
+-#elif defined(_GNU_SOURCE)
++#elif defined(_GNU_SOURCE) && !defined(__UCLIBC__)
+ return get_nprocs();
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+ int count;
diff --git a/recipes/boost/files/arm-intrinsics.patch b/recipes/boost/files/arm-intrinsics.patch
index 860b6df67c..1f1eed684a 100644
--- a/recipes/boost/files/arm-intrinsics.patch
+++ b/recipes/boost/files/arm-intrinsics.patch
@@ -5,7 +5,7 @@ diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm
void operator++()
{
-+#ifdef __ARM_ARCH_7A__
++#if defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6J__)
+ int v1, tmp;
+ asm volatile ("1: \n\t"
+ "ldrex %0, %1 \n\t"
@@ -22,7 +22,7 @@ diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm
long operator--()
{
-+#ifdef __ARM_ARCH_7A__
++#if defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6J__)
+ int v1, tmp;
+ asm volatile ("1: \n\t"
+ "ldrex %0, %1 \n\t"
@@ -40,7 +40,7 @@ diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm
operator long() const
{
-+#if __ARM_ARCH_7A__
++#if defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6J__)
+ return value_;
+#else
return __sync_fetch_and_add( &value_, 0 );
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 );
+
diff --git a/recipes/boost/files/uclibc.patch b/recipes/boost/files/uclibc.patch
new file mode 100644
index 0000000000..738b8b947d
--- /dev/null
+++ b/recipes/boost/files/uclibc.patch
@@ -0,0 +1,13 @@
+Index: boost-1.40.0.cmake2/libs/thread/src/pthread/thread.cpp
+===================================================================
+--- boost-1.40.0.cmake2.orig/libs/thread/src/pthread/thread.cpp 2009-11-03 21:33:21.392444361 +0100
++++ boost-1.40.0.cmake2/libs/thread/src/pthread/thread.cpp 2009-11-03 21:36:04.748684550 +0100
+@@ -390,7 +390,7 @@
+ {
+ #if defined(PTW32_VERSION) || defined(__hpux)
+ return pthread_num_processors_np();
+-#elif defined(__linux__)
++#elif defined(__linux__) && !defined(__UCLIBC__)
+ return get_nprocs();
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+ int count;