diff options
Diffstat (limited to 'recipes/boost')
| -rw-r--r-- | recipes/boost/boost-14x.inc | 84 | ||||
| -rw-r--r-- | recipes/boost/boost-36.inc | 2 | ||||
| -rw-r--r-- | recipes/boost/boost_1.36.0.bb | 8 | ||||
| -rw-r--r-- | recipes/boost/boost_1.40.0.bb | 10 | ||||
| -rw-r--r-- | recipes/boost/boost_1.41.0.bb | 16 | ||||
| -rw-r--r-- | recipes/boost/files/01-no-serialization-test.patch | 12 | ||||
| -rw-r--r-- | recipes/boost/files/02-atomic-count-pthreads-on-arm.patch | 17 | ||||
| -rw-r--r-- | recipes/boost/files/03-exception-clone-destructor-fix.patch | 12 | ||||
| -rw-r--r-- | recipes/boost/files/1.41.0_uclibc.patch | 13 | ||||
| -rw-r--r-- | recipes/boost/files/arm-intrinsics.patch | 6 | ||||
| -rw-r--r-- | recipes/boost/files/gcc-44.diff | 304 | ||||
| -rw-r--r-- | recipes/boost/files/sscanf.patch | 13 | ||||
| -rw-r--r-- | recipes/boost/files/uclibc.patch | 13 |
13 files changed, 505 insertions, 5 deletions
diff --git a/recipes/boost/boost-14x.inc b/recipes/boost/boost-14x.inc new file mode 100644 index 0000000000..0a530013e2 --- /dev/null +++ b/recipes/boost/boost-14x.inc @@ -0,0 +1,84 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Free peer-reviewed portable C++ source libraries" +HOMEPAGE = "http://www.boost.org/" +SECTION = "libs" +DEPENDS = "zlib bzip2 python expat" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r0" + +ARM_INSTRUCTION_SET = "arm" +BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}" +BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" + +inherit cmake + +EXTRA_OECMAKE = "-DBUILD_SHARED=ON \ + -DBUILD_MULTI_THREADED=ON \ + -DBUILD_RELEASE=ON \ + -DBUILD_DEBUG=OFF \ + -DWITH_MPI:BOOL=OFF \ + -DINSTALL_VERSIONED:BOOL=OFF \ + " + +BOOST_LIBS = "\ + date_time \ + filesystem \ + graph \ + iostreams \ + program_options \ + python \ + regex \ + serialization \ + signals \ + system \ + test \ + thread \ + " + +# FIXME: for some reason this fails on powerpc +#BOOST_LIBS += "serialization" + +# To enable python, uncomment the following: +#BOOST_LIBS += "python" +#DEPENDS += "python" +#PYTHON_ROOT = "${STAGING_DIR_HOST}/${layout_prefix}" +#PYTHON_VERSION = "2.5" + +S = "${WORKDIR}/${BOOST_P}" + +# Make a package for each library, plus -dev +PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}" +python __anonymous () { + import bb + + packages = [] + extras = [] + for lib in bb.data.getVar('BOOST_LIBS', d, 1).split( ): + pkg = "boost-%s" % lib.replace("_", "-") + extras.append("--with-%s" % lib) + packages.append(pkg) + if not bb.data.getVar("FILES_%s" % pkg, d, 1): + bb.data.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so*" % lib, d) + bb.data.setVar("BOOST_PACKAGES", " ".join(packages), d) +} + +# Override the contents of specific packages +FILES_boost-serialization = "${libdir}/libboost_serialization*.so* \ + ${libdir}/libboost_wserialization*.so*" +FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so \ + ${libdir}/libboost_unit_test_framework*.so*" + +# -dev last to pick up the remaining stuff +PACKAGES += "${PN}-dev" +FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a" + +# "boost" is a metapackage which pulls in all boost librabries +PACKAGES += "${PN}" +RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" + diff --git a/recipes/boost/boost-36.inc b/recipes/boost/boost-36.inc index 4bd065f13a..1200e9a5a6 100644 --- a/recipes/boost/boost-36.inc +++ b/recipes/boost/boost-36.inc @@ -128,7 +128,7 @@ BJAM_OPTS = '${BJAM_TOOLS} \ do_configure_prepend() { cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp - echo 'using gcc : 4.3.1 : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;' >> ${S}/tools/build/v2/user-config.jam + echo "using gcc : $(${CXX} -dumpversion) : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;" >> ${S}/tools/build/v2/user-config.jam } do_compile() { diff --git a/recipes/boost/boost_1.36.0.bb b/recipes/boost/boost_1.36.0.bb index 140ab290ba..f4fad8ced4 100644 --- a/recipes/boost/boost_1.36.0.bb +++ b/recipes/boost/boost_1.36.0.bb @@ -1,9 +1,15 @@ include boost-36.inc -PR = "r6" +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/boost_1.40.0.bb b/recipes/boost/boost_1.40.0.bb new file mode 100644 index 0000000000..5db3b4a301 --- /dev/null +++ b/recipes/boost/boost_1.40.0.bb @@ -0,0 +1,10 @@ +require boost-14x.inc + +PR = "r0" + +SRC_URI = "http://sodium.resophonic.com/boost-cmake/1.40.0.cmake2/boost-1.40.0.cmake2.tar.gz \ + file://uclibc.patch;patch=1 \ + " +S = "${WORKDIR}/boost-1.40.0.cmake2" + +DEFAULT_PREFERENCE = "-1" diff --git a/recipes/boost/boost_1.41.0.bb b/recipes/boost/boost_1.41.0.bb new file mode 100644 index 0000000000..a4c9287f79 --- /dev/null +++ b/recipes/boost/boost_1.41.0.bb @@ -0,0 +1,16 @@ +require boost-14x.inc + +PR = "r0" + +SRC_URI = "http://sodium.resophonic.com/boost-cmake/1.41.0.cmake0/boost-1.41.0.cmake0.tar.gz;name=tarball \ + file://1.41.0_uclibc.patch;patch=1 \ + " +S = "${WORKDIR}/boost-1.41.0.cmake0" + +SRC_URI[tarball.md5sum] = "351747d991e3e391fea5623d4b5c038a" +SRC_URI[tarball.sha256sum] = "78b7e72d34b057847ff99b291719d5bf1b76ed080bebfa3122549c231cc8fbed" + +DEPENDS += " icu " + +DEFAULT_PREFERENCE = "-1" + 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; |
