summaryrefslogtreecommitdiff
path: root/meta-moblin
diff options
context:
space:
mode:
authorQing He <qing.he@intel.com>2010-08-19 13:32:07 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-31 17:18:55 +0100
commitadfd0e04343ad7770642eadf07a7f9185be6e25d (patch)
tree51888646c08a50095710f000ff83102a0f305b81 /meta-moblin
parentd1f7c3f9cc59477ef926c35eb980833d5a0246de (diff)
downloadopenembedded-core-adfd0e04343ad7770642eadf07a7f9185be6e25d.tar.gz
openembedded-core-adfd0e04343ad7770642eadf07a7f9185be6e25d.tar.bz2
openembedded-core-adfd0e04343ad7770642eadf07a7f9185be6e25d.zip
boost: upgrade to 1.44.0
from version 1.36.0 which won't compile with gcc 4.5.0 also moved to meta form meta-moblin changes: - .so files should go to -dev instead of sub packages - create libboostX-mt.{so,a} symlinks for compatibility - meta package 'boost' should set ALLOW_EMPTY - fix a bug that caused boost-dev being automatically renamed to libboost_prg_exec_monitor-dev, packages boost, boost-dev and boost-test now work as intended - rebased patch arm-intrinsic Signed-off-by: Qing He <qing.he@intel.com>
Diffstat (limited to 'meta-moblin')
-rw-r--r--meta-moblin/packages/boost/boost-36.inc148
-rw-r--r--meta-moblin/packages/boost/boost-jam-native.inc31
-rw-r--r--meta-moblin/packages/boost/boost-jam-native_3.1.16.bb4
-rw-r--r--meta-moblin/packages/boost/boost_1.36.0.bb12
-rw-r--r--meta-moblin/packages/boost/files/1.34.1-gcc43.patch224
-rw-r--r--meta-moblin/packages/boost/files/arm-intrinsics.patch51
-rw-r--r--meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch13
-rw-r--r--meta-moblin/packages/boost/files/gcc41.patch14
-rw-r--r--meta-moblin/packages/boost/files/gcc43.patch256
-rw-r--r--meta-moblin/packages/boost/files/linux-uclibc.patch10
-rw-r--r--meta-moblin/packages/boost/files/unit_test_log10f.patch20
11 files changed, 0 insertions, 783 deletions
diff --git a/meta-moblin/packages/boost/boost-36.inc b/meta-moblin/packages/boost/boost-36.inc
deleted file mode 100644
index d297dfb1af..0000000000
--- a/meta-moblin/packages/boost/boost-36.inc
+++ /dev/null
@@ -1,148 +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}"
-
-# 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-moblin/packages/boost/boost-jam-native.inc b/meta-moblin/packages/boost/boost-jam-native.inc
deleted file mode 100644
index fe181ad00f..0000000000
--- a/meta-moblin/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-moblin/packages/boost/boost-jam-native_3.1.16.bb b/meta-moblin/packages/boost/boost-jam-native_3.1.16.bb
deleted file mode 100644
index 2e92146a83..0000000000
--- a/meta-moblin/packages/boost/boost-jam-native_3.1.16.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-moblin/packages/boost/boost_1.36.0.bb b/meta-moblin/packages/boost/boost_1.36.0.bb
deleted file mode 100644
index 140ab290ba..0000000000
--- a/meta-moblin/packages/boost/boost_1.36.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-include boost-36.inc
-
-PR = "r6"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
- file://arm-intrinsics.patch;patch=1 \
- "
-
-BJAM_OPTS = '${BJAM_TOOLS} \
- --builddir=${S}/${TARGET_SYS} \
- ${BJAM_EXTRA}'
-
diff --git a/meta-moblin/packages/boost/files/1.34.1-gcc43.patch b/meta-moblin/packages/boost/files/1.34.1-gcc43.patch
deleted file mode 100644
index 4670ac4295..0000000000
--- a/meta-moblin/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-moblin/packages/boost/files/arm-intrinsics.patch b/meta-moblin/packages/boost/files/arm-intrinsics.patch
deleted file mode 100644
index 860b6df67c..0000000000
--- a/meta-moblin/packages/boost/files/arm-intrinsics.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm/boost/detail/atomic_count_sync.hpp
---- boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp 2007-11-23 12:03:14.000000000 -0500
-+++ boost_1_36_0.arm/boost/detail/atomic_count_sync.hpp 2008-09-09 13:15:21.000000000 -0400
-@@ -29,17 +29,46 @@
-
- void 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
- __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:
-Binary files boost_1_36_0.orig/boost/detail/.atomic_count_sync.hpp.swp and boost_1_36_0.arm/boost/detail/.atomic_count_sync.hpp.swp differ
diff --git a/meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch b/meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch
deleted file mode 100644
index 7d08e73550..0000000000
--- a/meta-moblin/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-moblin/packages/boost/files/gcc41.patch b/meta-moblin/packages/boost/files/gcc41.patch
deleted file mode 100644
index f91d1adf2b..0000000000
--- a/meta-moblin/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-moblin/packages/boost/files/gcc43.patch b/meta-moblin/packages/boost/files/gcc43.patch
deleted file mode 100644
index aefe0800c3..0000000000
--- a/meta-moblin/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-moblin/packages/boost/files/linux-uclibc.patch b/meta-moblin/packages/boost/files/linux-uclibc.patch
deleted file mode 100644
index 79f14dea88..0000000000
--- a/meta-moblin/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-moblin/packages/boost/files/unit_test_log10f.patch b/meta-moblin/packages/boost/files/unit_test_log10f.patch
deleted file mode 100644
index b235e12446..0000000000
--- a/meta-moblin/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