summaryrefslogtreecommitdiff
path: root/meta/packages/boost
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-09-01 19:09:11 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-01 19:09:57 +0100
commitd62ee7eaf2ba025c3f64b2d4e10dc7cec4637612 (patch)
treef36fe3008f36ff75cbdd31b630f8f13f1f205ebb /meta/packages/boost
parentcaab7fc509bf27706ff3248689f6afd04225cfda (diff)
downloadopenembedded-core-d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612.tar.gz
openembedded-core-d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612.tar.bz2
openembedded-core-d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612.tar.xz
openembedded-core-d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612.zip
packages: Separate out most of the remaining packages into recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/boost')
-rw-r--r--meta/packages/boost/boost-36.inc149
-rw-r--r--meta/packages/boost/boost-jam-native.inc31
-rw-r--r--meta/packages/boost/boost-jam-native_3.1.18.bb4
-rw-r--r--meta/packages/boost/boost_1.44.0.bb27
-rw-r--r--meta/packages/boost/files/1.34.1-gcc43.patch224
-rw-r--r--meta/packages/boost/files/arm-intrinsics.patch53
-rw-r--r--meta/packages/boost/files/atomic_count_gcc_atomicity.patch13
-rw-r--r--meta/packages/boost/files/gcc41.patch14
-rw-r--r--meta/packages/boost/files/gcc43.patch256
-rw-r--r--meta/packages/boost/files/linux-uclibc.patch10
-rw-r--r--meta/packages/boost/files/unit_test_log10f.patch20
11 files changed, 0 insertions, 801 deletions
diff --git a/meta/packages/boost/boost-36.inc b/meta/packages/boost/boost-36.inc
deleted file mode 100644
index 5d2d1280b..000000000
--- a/meta/packages/boost/boost-36.inc
+++ /dev/null
@@ -1,149 +0,0 @@
-# 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 = "boost-jam-native zlib"
-PRIORITY = "optional"
-LICENSE = "Boost Software License"
-PR = "r3"
-
-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}"
-
-BOOST_LIBS = "\
- date_time \
- filesystem \
- graph \
- iostreams \
- program_options \
- regex \
- 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}/${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)
- bb.data.setVar("BJAM_EXTRA", " ".join(extras), 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}"
-ALLOW_EMPTY_${PN} = "1"
-
-# to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works
-TARGET_CC_ARCH += " ${LDFLAGS}"
-
-# Oh yippee, a new build system, it's sooo cooool I could eat my own
-# foot. inlining=on lets the compiler choose, I think. At least this
-# stuff is documented...
-# NOTE: if you leave <debug-symbols>on then in a debug build the build sys
-# objcopy will be invoked, and that won't work. Building debug apparently
-# requires hacking gcc-tools.jam
-#
-# Sometimes I wake up screaming. Famous figures are gathered in the nightmare,
-# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just
-# standing there, waiting, but the truely terrifying thing is what they carry
-# in their hands. At first sight each seems to bear the same thing, but it is
-# not so for the forms in their grasp are ever so slightly different one from
-# the other. Each is twisted in some grotesque way from the other to make each
-# an unspeakable perversion impossible to perceive without the onset of madness.
-# True insanity awaits anyone who perceives all of these horrors together.
-#
-# Quotation marks, there might be an easier way to do this, but I can't find
-# it. The problem is that the user.hpp configuration file must receive a
-# pre-processor macro defined as the appropriate string - complete with "'s
-# around it. (<> is a possibility here but the danger to that is that the
-# failure case interprets the < and > as shell redirections, creating
-# random files in the source tree.)
-#
-#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"'
-#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'"
-SQD = '"'
-EQD = '\"'
-#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..."
-BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}"
-
-# bzip2 and zip are disabled because... they're broken - the compilation simply
-# isn't working with bjam. I guess they will fix it, but who needs it? This
-# only affects the (new in 33) iostream library.
-BJAM_TOOLS = "-sTOOLS=gcc \
- '-sGCC=${CC} '${BJAM_CONF} \
- '-sGXX=${CXX} '${BJAM_CONF} \
- '-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
- '-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
- '-sNO_BZIP2=1' \
- '-sNO_ZLIB=1' \
- '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
- '-sPYTHON_VERSION=${PYTHON_VERSION}' \
- '--layout=system' \
- "
-
-BJAM_OPTS = '${BJAM_TOOLS} \
- --builddir=${S}/${TARGET_SYS} \
- --with-python-root=${PYTHON_ROOT} \
- ${BJAM_EXTRA}'
-
-
-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
-}
-
-do_compile() {
- set -ex
- bjam ${BJAM_OPTS} --prefix=${prefix} \
- --exec-prefix=${exec_prefix} \
- --libdir=${libdir} \
- --includedir=${includedir}
-}
-
-do_install() {
- set -ex
- bjam ${BJAM_OPTS} \
- --libdir=${D}${libdir} \
- --includedir=${D}${includedir} \
- install
-}
diff --git a/meta/packages/boost/boost-jam-native.inc b/meta/packages/boost/boost-jam-native.inc
deleted file mode 100644
index fe181ad00..000000000
--- a/meta/packages/boost/boost-jam-native.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-# 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 = "Make system for boost (native)"
-HOMEPAGE = "http://www.boost.org/"
-SECTION = "devel"
-PRIORITY = "optional"
-LICENSE = "Boost Software License"
-PR = "r0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
-S = "${WORKDIR}/boost-jam-${PV}"
-
-inherit native
-
-do_compile() {
- set -ex
- rm -rf bin.*
- ./build.sh gcc
-}
-
-# This is too terrible - the build script doesn't give any good
-# way I can see to find out where the binaries are placed, so
-# rely on only one bin.foo directory being created.
-do_install () {
- set -ex
- install -d ${D}${bindir}/
- install -c -m 755 bin.*/bjam ${D}${bindir}/
-}
diff --git a/meta/packages/boost/boost-jam-native_3.1.18.bb b/meta/packages/boost/boost-jam-native_3.1.18.bb
deleted file mode 100644
index 2e92146a8..000000000
--- a/meta/packages/boost/boost-jam-native_3.1.18.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-include boost-jam-native.inc
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
-
diff --git a/meta/packages/boost/boost_1.44.0.bb b/meta/packages/boost/boost_1.44.0.bb
deleted file mode 100644
index 81a2e53ba..000000000
--- a/meta/packages/boost/boost_1.44.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-include boost-36.inc
-
-LICENSE = "boost"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-PR = "r0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
- file://arm-intrinsics.patch \
- "
-
-BJAM_OPTS = '${BJAM_TOOLS} \
- --builddir=${S}/${TARGET_SYS} \
- ${BJAM_EXTRA}'
-
-# build only mt libraries and install symlinks for compatibility
-BJAM_EXTRA += "threading=multi"
-do_install_append() {
- for lib in ${BOOST_LIBS}; do
- if [ -e ${D}${libdir}/libboost_${lib}.a ]; then
- ln -s libboost_${lib}.a ${D}${libdir}/libboost_${lib}-mt.a
- fi
- if [ -e ${D}${libdir}/libboost_${lib}.so ]; then
- ln -s libboost_${lib}.so ${D}${libdir}/libboost_${lib}-mt.so
- fi
- done
-}
diff --git a/meta/packages/boost/files/1.34.1-gcc43.patch b/meta/packages/boost/files/1.34.1-gcc43.patch
deleted file mode 100644
index 4670ac429..000000000
--- a/meta/packages/boost/files/1.34.1-gcc43.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-Index: boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
-===================================================================
---- boost_1_34_1.orig/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100
-+++ boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -17,6 +17,7 @@
- // See http://www.boost.org for updates, documentation, and revision history.
-
- #include <cstddef> // std::size_t
-+#include <climits>
- #include <boost/config.hpp>
-
- #if defined(BOOST_NO_STDC_NAMESPACE)
-Index: boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
-===================================================================
---- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp 2006-02-12 06:43:06.000000000 +0100
-+++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -17,6 +17,7 @@
- // See http://www.boost.org for updates, documentation, and revision history.
-
- #include <cstddef> // size_t
-+#include <climits>
- #include <string>
-
- #include <boost/config.hpp>
-Index: boost_1_34_1/boost/date_time/date_facet.hpp
-===================================================================
---- boost_1_34_1.orig/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200
-+++ boost_1_34_1/boost/date_time/date_facet.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -429,7 +429,7 @@
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
-- typedef special_values_parser<date_type,CharT> special_values_parser_type;
-+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
- typedef std::vector<std::basic_string<CharT> > input_collection_type;
- typedef format_date_parser<date_type, CharT> format_date_parser_type;
- // date_generators stuff goes here
-Index: boost_1_34_1/boost/mpl/zip_view.hpp
-===================================================================
---- boost_1_34_1.orig/boost/mpl/zip_view.hpp 2004-09-02 17:40:42.000000000 +0200
-+++ boost_1_34_1/boost/mpl/zip_view.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -37,7 +37,7 @@
- typedef zip_iterator<
- typename transform1<
- IteratorSeq
-- , next<_1>
-+ , boost::mpl::next<_1>
- >::type
- > next;
- };
-@@ -48,8 +48,8 @@
- struct zip_view
- {
- private:
-- typedef typename transform1< Sequences, begin<_1> >::type first_ones_;
-- typedef typename transform1< Sequences, end<_1> >::type last_ones_;
-+ typedef typename transform1< Sequences, boost::mpl::begin<_1> >::type first_ones_;
-+ typedef typename transform1< Sequences, boost::mpl::end<_1> >::type last_ones_;
-
- public:
- typedef nested_begin_end_tag tag;
-Index: boost_1_34_1/boost/python/detail/def_helper.hpp
-===================================================================
---- boost_1_34_1.orig/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200
-+++ boost_1_34_1/boost/python/detail/def_helper.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -155,7 +155,7 @@
- , T3 const&
- , T4 const&
- , default_call_policies
-- , keywords<0>
-+ , boost::python::detail::keywords<0>
- , char const*
- , void(not_specified::*)() // A function pointer type which is never an
- // appropriate default implementation
-Index: boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200
-+++ boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -24,6 +24,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
-
- namespace re_detail{
-Index: boost_1_34_1/boost/regex/v4/basic_regex.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200
-+++ boost_1_34_1/boost/regex/v4/basic_regex.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- #ifdef BOOST_MSVC
- #pragma warning(push)
-Index: boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/basic_regex_parser.hpp 2006-12-20 18:19:05.000000000 +0100
-+++ boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-Index: boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100
-+++ boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -41,6 +41,7 @@
-
- #include <istream>
- #include <ios>
-+#include <climits>
-
- #ifdef BOOST_HAS_ABI_HEADERS
- # include BOOST_ABI_PREFIX
-Index: boost_1_34_1/boost/regex/v4/perl_matcher.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200
-+++ boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -18,6 +18,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-Index: boost_1_34_1/boost/regex/v4/regex_split.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100
-+++ boost_1_34_1/boost/regex/v4/regex_split.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -21,6 +21,8 @@
- #ifndef BOOST_REGEX_SPLIT_HPP
- #define BOOST_REGEX_SPLIT_HPP
-
-+#include <climits>
-+
- namespace boost{
-
- #ifdef BOOST_HAS_ABI_HEADERS
-Index: boost_1_34_1/boost/regex/v4/states.hpp
-===================================================================
---- boost_1_34_1.orig/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200
-+++ boost_1_34_1/boost/regex/v4/states.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-Index: boost_1_34_1/boost/serialization/collection_traits.hpp
-===================================================================
---- boost_1_34_1.orig/boost/serialization/collection_traits.hpp 2005-06-21 07:19:04.000000000 +0200
-+++ boost_1_34_1/boost/serialization/collection_traits.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -22,6 +22,7 @@
- // compiles recognize the same set of primitive types, the possibility
- // exists for archives to be non-portable if class information for primitive
- // types is included. This is addressed by the following macros.
-+#include <climits>
- #include <boost/config.hpp>
- #include <boost/mpl/integral_c.hpp>
- #include <boost/mpl/integral_c_tag.hpp>
-Index: boost_1_34_1/boost/spirit/phoenix/operators.hpp
-===================================================================
---- boost_1_34_1.orig/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200
-+++ boost_1_34_1/boost/spirit/phoenix/operators.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -24,6 +24,7 @@
- #include <boost/spirit/phoenix/composite.hpp>
- #include <boost/config.hpp>
- #include <boost/mpl/if.hpp>
-+#include <climits>
-
- ///////////////////////////////////////////////////////////////////////////////
- namespace phoenix {
-Index: boost_1_34_1/boost/test/test_tools.hpp
-===================================================================
---- boost_1_34_1.orig/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100
-+++ boost_1_34_1/boost/test/test_tools.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -42,6 +42,7 @@
- #include <boost/mpl/or.hpp>
-
- // STL
-+#include <climits>
- #include <cstddef> // for std::size_t
- #include <iosfwd>
-
-Index: boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
-===================================================================
---- boost_1_34_1.orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100
-+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -16,6 +16,7 @@
- #include <string>
- #include <cstdio>
- #include <cstdarg>
-+#include <cstring>
- #if defined(BOOST_SPIRIT_DEBUG)
- #include <iostream>
- #endif // defined(BOOST_SPIRIT_DEBUG)
-Index: boost_1_34_1/boost/wave/util/flex_string.hpp
-===================================================================
---- boost_1_34_1.orig/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200
-+++ boost_1_34_1/boost/wave/util/flex_string.hpp 2008-09-20 20:55:21.000000000 +0200
-@@ -94,6 +94,7 @@
- #include <limits>
- #include <stdexcept>
- #include <cstddef>
-+#include <cstring>
-
- // this must occur after all of the includes and before any code appears
- #ifdef BOOST_HAS_ABI_HEADERS
diff --git a/meta/packages/boost/files/arm-intrinsics.patch b/meta/packages/boost/files/arm-intrinsics.patch
deleted file mode 100644
index 3f9c620eb..000000000
--- a/meta/packages/boost/files/arm-intrinsics.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-8/17/2010 - rebased to 1.44 by Qing He <qing.he@intel.com>
-
-diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp
-index b6359b5..78b1cc2 100644
---- a/boost/smart_ptr/detail/atomic_count_sync.hpp
-+++ b/boost/smart_ptr/detail/atomic_count_sync.hpp
-@@ -33,17 +33,46 @@ public:
-
- long operator++()
- {
-+#ifdef __ARM_ARCH_7A__
-+ int v1, tmp;
-+ asm volatile ("1: \n\t"
-+ "ldrex %0, %1 \n\t"
-+ "add %0 ,%0, #1 \n\t"
-+ "strex %2, %0, %1 \n\t"
-+ "cmp %2, #0 \n\t"
-+ "bne 1b \n\t"
-+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
-+ );
-+#else
- return __sync_add_and_fetch( &value_, 1 );
-+#endif
- }
-
- long operator--()
- {
-+#ifdef __ARM_ARCH_7A__
-+ int v1, tmp;
-+ asm volatile ("1: \n\t"
-+ "ldrex %0, %1 \n\t"
-+ "sub %0 ,%0, #1 \n\t"
-+ "strex %2, %0, %1 \n\t"
-+ "cmp %2, #0 \n\t"
-+ "bne 1b \n\t"
-+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
-+ );
-+ return value_;
-+#else
- return __sync_add_and_fetch( &value_, -1 );
-+#endif
- }
-
- operator long() const
- {
-+#if __ARM_ARCH_7A__
-+ return value_;
-+#else
- return __sync_fetch_and_add( &value_, 0 );
-+#endif
- }
-
- private:
diff --git a/meta/packages/boost/files/atomic_count_gcc_atomicity.patch b/meta/packages/boost/files/atomic_count_gcc_atomicity.patch
deleted file mode 100644
index 7d08e7355..000000000
--- a/meta/packages/boost/files/atomic_count_gcc_atomicity.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: boost_1_33_1/boost/detail/atomic_count_gcc.hpp
-===================================================================
---- boost_1_33_1.orig/boost/detail/atomic_count_gcc.hpp 2008-05-01 20:43:45.000000000 +0200
-+++ boost_1_33_1/boost/detail/atomic_count_gcc.hpp 2008-05-01 20:43:55.000000000 +0200
-@@ -17,7 +17,7 @@
- // http://www.boost.org/LICENSE_1_0.txt)
- //
-
--#include <bits/atomicity.h>
-+#include <ext/atomicity.h>
-
- namespace boost
- {
diff --git a/meta/packages/boost/files/gcc41.patch b/meta/packages/boost/files/gcc41.patch
deleted file mode 100644
index f91d1adf2..000000000
--- a/meta/packages/boost/files/gcc41.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ur boost_1_33_1.orig/boost/bind.hpp boost_1_33_1/boost/bind.hpp
---- boost_1_33_1.orig/boost/bind.hpp 2008-10-11 10:30:03.000000000 +0200
-+++ boost_1_33_1/boost/bind.hpp 2008-10-11 10:41:25.000000000 +0200
-@@ -28,6 +28,10 @@
- #include <boost/bind/arg.hpp>
- #include <boost/detail/workaround.hpp>
-
-+#if __GNUC__ == 4 && __GNUC_MINOR__ == 1
-+# include <boost/visit_each.hpp>
-+#endif
-+
- // Borland-specific bug, visit_each() silently fails to produce code
-
- #if defined(__BORLANDC__)
diff --git a/meta/packages/boost/files/gcc43.patch b/meta/packages/boost/files/gcc43.patch
deleted file mode 100644
index aefe0800c..000000000
--- a/meta/packages/boost/files/gcc43.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
---- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp 2005-12-11 00:12:51.000000000 -0600
-+++ boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -17,6 +17,7 @@
- // See http://www.boost.org for updates, documentation, and revision history.
-
- #include <cstddef> // std::size_t
-+#include <climits>
- #include <boost/config.hpp>
-
- #if defined(BOOST_NO_STDC_NAMESPACE)
-diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
---- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp 2006-02-11 23:43:06.000000000 -0600
-+++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -17,6 +17,7 @@
- // See http://www.boost.org for updates, documentation, and revision history.
-
- #include <cstddef> // size_t
-+#include <climits>
- #include <string>
-
- #include <boost/config.hpp>
-diff -aNru boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp boost_1_34_1/boost/date_time/date_facet.hpp
---- boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp 2005-09-05 16:10:50.000000000 -0500
-+++ boost_1_34_1/boost/date_time/date_facet.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -429,7 +429,7 @@
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
-- typedef special_values_parser<date_type,CharT> special_values_parser_type;
-+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
- typedef std::vector<std::basic_string<CharT> > input_collection_type;
- typedef format_date_parser<date_type, CharT> format_date_parser_type;
- // date_generators stuff goes here
-diff -aNru boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp boost_1_34_1/boost/mpl/zip_view.hpp
---- boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp 2004-09-02 10:40:42.000000000 -0500
-+++ boost_1_34_1/boost/mpl/zip_view.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -37,7 +37,7 @@
- typedef zip_iterator<
- typename transform1<
- IteratorSeq
-- , next<_1>
-+ , boost::mpl::next<_1>
- >::type
- > next;
- };
-@@ -48,8 +48,8 @@
- struct zip_view
- {
- private:
-- typedef typename transform1< Sequences, begin<_1> >::type first_ones_;
-- typedef typename transform1< Sequences, end<_1> >::type last_ones_;
-+ typedef typename transform1< Sequences, boost::mpl::begin<_1> >::type first_ones_;
-+ typedef typename transform1< Sequences, boost::mpl::end<_1> >::type last_ones_;
-
- public:
- typedef nested_begin_end_tag tag;
-diff -aNru boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp boost_1_34_1/boost/python/detail/def_helper.hpp
---- boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp 2004-09-15 20:00:28.000000000 -0500
-+++ boost_1_34_1/boost/python/detail/def_helper.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -155,7 +155,7 @@
- , T3 const&
- , T4 const&
- , default_call_policies
-- , keywords<0>
-+ , boost::python::detail::keywords<0>
- , char const*
- , void(not_specified::*)() // A function pointer type which is never an
- // appropriate default implementation
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 11:06:38.000000000 -0500
-+++ boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -24,6 +24,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
-
- namespace re_detail{
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp boost_1_34_1/boost/regex/v4/basic_regex.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp 2007-06-05 12:28:18.000000000 -0500
-+++ boost_1_34_1/boost/regex/v4/basic_regex.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- #ifdef BOOST_MSVC
- #pragma warning(push)
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp 2006-12-20 11:19:05.000000000 -0600
-+++ boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 05:09:44.000000000 -0600
-+++ boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -41,6 +41,7 @@
-
- #include <istream>
- #include <ios>
-+#include <climits>
-
- #ifdef BOOST_HAS_ABI_HEADERS
- # include BOOST_ABI_PREFIX
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp boost_1_34_1/boost/regex/v4/perl_matcher.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp 2006-10-18 07:55:30.000000000 -0500
-+++ boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -18,6 +18,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp boost_1_34_1/boost/regex/v4/regex_split.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp 2005-01-21 11:22:38.000000000 -0600
-+++ boost_1_34_1/boost/regex/v4/regex_split.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -21,6 +21,8 @@
- #ifndef BOOST_REGEX_SPLIT_HPP
- #define BOOST_REGEX_SPLIT_HPP
-
-+#include <climits>
-+
- namespace boost{
-
- #ifdef BOOST_HAS_ABI_HEADERS
-diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp boost_1_34_1/boost/regex/v4/states.hpp
---- boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp 2005-09-20 07:01:25.000000000 -0500
-+++ boost_1_34_1/boost/regex/v4/states.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -23,6 +23,8 @@
- # include BOOST_ABI_PREFIX
- #endif
-
-+#include <climits>
-+
- namespace boost{
- namespace re_detail{
-
-diff -aNru boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp boost_1_34_1/boost/serialization/collection_traits.hpp
---- boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp 2005-06-21 00:19:04.000000000 -0500
-+++ boost_1_34_1/boost/serialization/collection_traits.hpp 2008-03-03 03:09:49.000000000 -0600
-@@ -22,6 +22,7 @@
- // compiles recognize the same set of primitive types, the possibility
- // exists for archives to be non-portable if class information for primitive
- // types is included. This is addressed by the following macros.
-+#include <climits>
- #include <boost/config.hpp>
- #include <boost/mpl/integral_c.hpp>
- #include <boost/mpl/integral_c_tag.hpp>
-diff -aNru boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp boost_1_34_1/boost/spirit/phoenix/operators.hpp
---- boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp 2006-08-25 11:27:30.000000000 -0500
-+++ boost_1_34_1/boost/spirit/phoenix/operators.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -24,6 +24,7 @@
- #include <boost/spirit/phoenix/composite.hpp>
- #include <boost/config.hpp>
- #include <boost/mpl/if.hpp>
-+#include <climits>
-
- ///////////////////////////////////////////////////////////////////////////////
- namespace phoenix {
-diff -aNru boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp boost_1_34_1/boost/test/test_tools.hpp
---- boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp 2007-02-22 11:57:29.000000000 -0600
-+++ boost_1_34_1/boost/test/test_tools.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -42,6 +42,7 @@
- #include <boost/mpl/or.hpp>
-
- // STL
-+#include <climits>
- #include <cstddef> // for std::size_t
- #include <iosfwd>
-
-diff -aNru boost_1_34_1-ORIGINAL/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
---- boost_1_34_1-ORIGINAL/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 10:38:24.000000000 -0600
-+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -16,6 +16,7 @@
- #include <string>
- #include <cstdio>
- #include <cstdarg>
-+#include <cstring>
- #if defined(BOOST_SPIRIT_DEBUG)
- #include <iostream>
- #endif // defined(BOOST_SPIRIT_DEBUG)
-diff -aNru boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp boost_1_34_1/boost/wave/util/flex_string.hpp
---- boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp 2006-04-25 12:21:01.000000000 -0500
-+++ boost_1_34_1/boost/wave/util/flex_string.hpp 2008-03-03 03:08:59.000000000 -0600
-@@ -94,6 +94,7 @@
- #include <limits>
- #include <stdexcept>
- #include <cstddef>
-+#include <cstring>
-
- // this must occur after all of the includes and before any code appears
- #ifdef BOOST_HAS_ABI_HEADERS
-
---- boost_1_33_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-07-05 01:50:04.000000000 +0200
-+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100
-@@ -295,17 +325,20 @@
-
- lex_functor(IteratorT const &first, IteratorT const &last,
- PositionT const &pos, boost::wave::language_support language)
-- : lexer(first, last, pos, language)
-+ : re2c_lexer(first, last, pos, language)
- {}
- virtual ~lex_functor() {}
-
- // get the next token from the input stream
-- token_type get() { return lexer.get(); }
-- void set_position(PositionT const &pos)
-- { lexer.set_position(pos); }
-+ token_type get() { return re2c_lexer.get(); }
-+ void set_position(PositionT const &pos) { re2c_lexer.set_position(pos); }
-+#if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0
-+ bool has_include_guards(std::string& guard_name) const
-+ { return re2c_lexer.has_include_guards(guard_name); }
-+#endif
-
- private:
-- lexer<IteratorT, PositionT> lexer;
-+ lexer<IteratorT, PositionT> re2c_lexer;
- };
-
- ///////////////////////////////////////////////////////////////////////////////
-@@ -338,7 +371,7 @@
- // It is coupled to the iterator type to allow to decouple the lexer/iterator
- // configurations at compile time.
- //
--// This function is declared inside the cpp_slex_token.hpp file, which is
-+// This function is declared inside the cpp_lex_token.hpp file, which is
- // referenced by the source file calling the lexer and the source file, which
- // instantiates the lex_functor. But is is defined here, so it will be
- // instantiated only while compiling the source file, which instantiates the
-@@ -356,8 +389,8 @@
- IteratorT const &last, PositionT const &pos,
- boost::wave::language_support language)
- {
-- return new re2clex::lex_functor<IteratorT, PositionT>(first, last, pos,
-- language);
-+ using re2clex::lex_functor;
-+ return new lex_functor<IteratorT, PositionT>(first, last, pos, language);
- }
-
- #undef BOOST_WAVE_RE2C_NEW_LEXER_INLINE
diff --git a/meta/packages/boost/files/linux-uclibc.patch b/meta/packages/boost/files/linux-uclibc.patch
deleted file mode 100644
index 79f14dea8..000000000
--- a/meta/packages/boost/files/linux-uclibc.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /dev/null 1969-12-31 16:00:00.000000000 -0800
-+++ boost_1_32_0/boost/config/platform/linux-uclibc.hpp 2005-07-05 14:51:56.237294460 -0700
-@@ -0,0 +1,7 @@
-+// Modifications required to support uClibC libc implementation.
-+// Default to Linux...
-+#include "linux.hpp"
-+
-+// Override anything uClibC doesn't support.
-+// At present (0.9.27) the nl_types.h header exists but is not implemented
-+#undef BOOST_HAS_NL_TYPES_H
diff --git a/meta/packages/boost/files/unit_test_log10f.patch b/meta/packages/boost/files/unit_test_log10f.patch
deleted file mode 100644
index b235e1244..000000000
--- a/meta/packages/boost/files/unit_test_log10f.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- boost_1_32_0/libs/test/src/unit_test_result.cpp.orig 2005-07-05 11:00:53.887594850 -0700
-+++ boost_1_32_0/libs/test/src/unit_test_result.cpp 2005-07-05 11:01:20.683533034 -0700
-@@ -144,7 +144,7 @@
- unit_test_counter num_passed, unit_test_counter num_failed )
- {
- unit_test_counter total_test_cases = num_passed + num_failed;
-- std::size_t width = static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1;
-+ std::size_t width = static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1;
-
- where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed
- << " test " << ps_name( num_passed != 1, "case" ) << " out of " << total_test_cases << " passed\n"
-@@ -158,7 +158,7 @@
- {
- unit_test_counter total_assertions = num_passed + num_failed;
- std::size_t width = total_assertions > 0
-- ? static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1
-+ ? static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1
- : 1;
-
- where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed