summaryrefslogtreecommitdiffstats
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)
downloadpoky-adfd0e04343ad7770642eadf07a7f9185be6e25d.tar.gz
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 @@
1# The Boost web site provides free peer-reviewed portable
2# C++ source libraries. The emphasis is on libraries which
3# work well with the C++ Standard Library. The libraries are
4# intended to be widely useful, and are in regular use by
5# thousands of programmers across a broad spectrum of applications.
6DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
7HOMEPAGE = "http://www.boost.org/"
8SECTION = "libs"
9DEPENDS = "boost-jam-native zlib"
10PRIORITY = "optional"
11LICENSE = "Boost Software License"
12PR = "r3"
13
14ARM_INSTRUCTION_SET = "arm"
15BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}"
16BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}"
17BOOST_P = "boost_${BOOST_VER}"
18
19BOOST_LIBS = "\
20 date_time \
21 filesystem \
22 graph \
23 iostreams \
24 program_options \
25 regex \
26 signals \
27 system \
28 test \
29 thread \
30 "
31
32# FIXME: for some reason this fails on powerpc
33#BOOST_LIBS += "serialization"
34
35# To enable python, uncomment the following:
36#BOOST_LIBS += "python"
37#DEPENDS += "python"
38#PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
39#PYTHON_VERSION = "2.5"
40
41S = "${WORKDIR}/${BOOST_P}"
42
43# Make a package for each library, plus -dev
44PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}"
45python __anonymous () {
46 import bb
47
48 packages = []
49 extras = []
50 for lib in bb.data.getVar('BOOST_LIBS', d, 1).split( ):
51 pkg = "boost-%s" % lib.replace("_", "-")
52 extras.append("--with-%s" % lib)
53 packages.append(pkg)
54 if not bb.data.getVar("FILES_%s" % pkg, d, 1):
55 bb.data.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so*" % lib, d)
56 bb.data.setVar("BOOST_PACKAGES", " ".join(packages), d)
57 bb.data.setVar("BJAM_EXTRA", " ".join(extras), d)
58}
59
60# Override the contents of specific packages
61FILES_boost-serialization = "${libdir}/libboost_serialization*.so* \
62 ${libdir}/libboost_wserialization*.so*"
63FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so \
64 ${libdir}/libboost_unit_test_framework*.so*"
65
66# -dev last to pick up the remaining stuff
67PACKAGES += "${PN}-dev"
68FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
69
70# "boost" is a metapackage which pulls in all boost librabries
71PACKAGES += "${PN}"
72RRECOMMENDS_${PN} += "${BOOST_PACKAGES}"
73
74# to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works
75TARGET_CC_ARCH += " ${LDFLAGS}"
76
77# Oh yippee, a new build system, it's sooo cooool I could eat my own
78# foot. inlining=on lets the compiler choose, I think. At least this
79# stuff is documented...
80# NOTE: if you leave <debug-symbols>on then in a debug build the build sys
81# objcopy will be invoked, and that won't work. Building debug apparently
82# requires hacking gcc-tools.jam
83#
84# Sometimes I wake up screaming. Famous figures are gathered in the nightmare,
85# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just
86# standing there, waiting, but the truely terrifying thing is what they carry
87# in their hands. At first sight each seems to bear the same thing, but it is
88# not so for the forms in their grasp are ever so slightly different one from
89# the other. Each is twisted in some grotesque way from the other to make each
90# an unspeakable perversion impossible to perceive without the onset of madness.
91# True insanity awaits anyone who perceives all of these horrors together.
92#
93# Quotation marks, there might be an easier way to do this, but I can't find
94# it. The problem is that the user.hpp configuration file must receive a
95# pre-processor macro defined as the appropriate string - complete with "'s
96# around it. (<> is a possibility here but the danger to that is that the
97# failure case interprets the < and > as shell redirections, creating
98# random files in the source tree.)
99#
100#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"'
101#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'"
102SQD = '"'
103EQD = '\"'
104#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..."
105BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}"
106
107# bzip2 and zip are disabled because... they're broken - the compilation simply
108# isn't working with bjam. I guess they will fix it, but who needs it? This
109# only affects the (new in 33) iostream library.
110BJAM_TOOLS = "-sTOOLS=gcc \
111 '-sGCC=${CC} '${BJAM_CONF} \
112 '-sGXX=${CXX} '${BJAM_CONF} \
113 '-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
114 '-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
115 '-sNO_BZIP2=1' \
116 '-sNO_ZLIB=1' \
117 '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
118 '-sPYTHON_VERSION=${PYTHON_VERSION}' \
119 '--layout=system' \
120 "
121
122BJAM_OPTS = '${BJAM_TOOLS} \
123 --builddir=${S}/${TARGET_SYS} \
124 --with-python-root=${PYTHON_ROOT} \
125 ${BJAM_EXTRA}'
126
127
128do_configure_prepend() {
129 cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
130
131 echo 'using gcc : 4.3.1 : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;' >> ${S}/tools/build/v2/user-config.jam
132}
133
134do_compile() {
135 set -ex
136 bjam ${BJAM_OPTS} --prefix=${prefix} \
137 --exec-prefix=${exec_prefix} \
138 --libdir=${libdir} \
139 --includedir=${includedir}
140}
141
142do_install() {
143 set -ex
144 bjam ${BJAM_OPTS} \
145 --libdir=${D}${libdir} \
146 --includedir=${D}${includedir} \
147 install
148}
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 @@
1# The Boost web site provides free peer-reviewed portable
2# C++ source libraries. The emphasis is on libraries which
3# work well with the C++ Standard Library. The libraries are
4# intended to be widely useful, and are in regular use by
5# thousands of programmers across a broad spectrum of applications.
6DESCRIPTION = "Make system for boost (native)"
7HOMEPAGE = "http://www.boost.org/"
8SECTION = "devel"
9PRIORITY = "optional"
10LICENSE = "Boost Software License"
11PR = "r0"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
14S = "${WORKDIR}/boost-jam-${PV}"
15
16inherit native
17
18do_compile() {
19 set -ex
20 rm -rf bin.*
21 ./build.sh gcc
22}
23
24# This is too terrible - the build script doesn't give any good
25# way I can see to find out where the binaries are placed, so
26# rely on only one bin.foo directory being created.
27do_install () {
28 set -ex
29 install -d ${D}${bindir}/
30 install -c -m 755 bin.*/bjam ${D}${bindir}/
31}
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 @@
1include boost-jam-native.inc
2
3SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
4
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 @@
1include boost-36.inc
2
3PR = "r6"
4
5SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
6 file://arm-intrinsics.patch;patch=1 \
7 "
8
9BJAM_OPTS = '${BJAM_TOOLS} \
10 --builddir=${S}/${TARGET_SYS} \
11 ${BJAM_EXTRA}'
12
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 @@
1Index: boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
2===================================================================
3--- boost_1_34_1.orig/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100
4+++ boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2008-09-20 20:55:21.000000000 +0200
5@@ -17,6 +17,7 @@
6 // See http://www.boost.org for updates, documentation, and revision history.
7
8 #include <cstddef> // std::size_t
9+#include <climits>
10 #include <boost/config.hpp>
11
12 #if defined(BOOST_NO_STDC_NAMESPACE)
13Index: boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
14===================================================================
15--- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp 2006-02-12 06:43:06.000000000 +0100
16+++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-09-20 20:55:21.000000000 +0200
17@@ -17,6 +17,7 @@
18 // See http://www.boost.org for updates, documentation, and revision history.
19
20 #include <cstddef> // size_t
21+#include <climits>
22 #include <string>
23
24 #include <boost/config.hpp>
25Index: boost_1_34_1/boost/date_time/date_facet.hpp
26===================================================================
27--- boost_1_34_1.orig/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200
28+++ boost_1_34_1/boost/date_time/date_facet.hpp 2008-09-20 20:55:21.000000000 +0200
29@@ -429,7 +429,7 @@
30 typedef std::basic_string<CharT> string_type;
31 typedef CharT char_type;
32 typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
33- typedef special_values_parser<date_type,CharT> special_values_parser_type;
34+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
35 typedef std::vector<std::basic_string<CharT> > input_collection_type;
36 typedef format_date_parser<date_type, CharT> format_date_parser_type;
37 // date_generators stuff goes here
38Index: boost_1_34_1/boost/mpl/zip_view.hpp
39===================================================================
40--- boost_1_34_1.orig/boost/mpl/zip_view.hpp 2004-09-02 17:40:42.000000000 +0200
41+++ boost_1_34_1/boost/mpl/zip_view.hpp 2008-09-20 20:55:21.000000000 +0200
42@@ -37,7 +37,7 @@
43 typedef zip_iterator<
44 typename transform1<
45 IteratorSeq
46- , next<_1>
47+ , boost::mpl::next<_1>
48 >::type
49 > next;
50 };
51@@ -48,8 +48,8 @@
52 struct zip_view
53 {
54 private:
55- typedef typename transform1< Sequences, begin<_1> >::type first_ones_;
56- typedef typename transform1< Sequences, end<_1> >::type last_ones_;
57+ typedef typename transform1< Sequences, boost::mpl::begin<_1> >::type first_ones_;
58+ typedef typename transform1< Sequences, boost::mpl::end<_1> >::type last_ones_;
59
60 public:
61 typedef nested_begin_end_tag tag;
62Index: boost_1_34_1/boost/python/detail/def_helper.hpp
63===================================================================
64--- boost_1_34_1.orig/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200
65+++ boost_1_34_1/boost/python/detail/def_helper.hpp 2008-09-20 20:55:21.000000000 +0200
66@@ -155,7 +155,7 @@
67 , T3 const&
68 , T4 const&
69 , default_call_policies
70- , keywords<0>
71+ , boost::python::detail::keywords<0>
72 , char const*
73 , void(not_specified::*)() // A function pointer type which is never an
74 // appropriate default implementation
75Index: boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
76===================================================================
77--- boost_1_34_1.orig/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200
78+++ boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2008-09-20 20:55:21.000000000 +0200
79@@ -24,6 +24,8 @@
80 # include BOOST_ABI_PREFIX
81 #endif
82
83+#include <climits>
84+
85 namespace boost{
86
87 namespace re_detail{
88Index: boost_1_34_1/boost/regex/v4/basic_regex.hpp
89===================================================================
90--- boost_1_34_1.orig/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200
91+++ boost_1_34_1/boost/regex/v4/basic_regex.hpp 2008-09-20 20:55:21.000000000 +0200
92@@ -23,6 +23,8 @@
93 # include BOOST_ABI_PREFIX
94 #endif
95
96+#include <climits>
97+
98 namespace boost{
99 #ifdef BOOST_MSVC
100 #pragma warning(push)
101Index: boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
102===================================================================
103--- boost_1_34_1.orig/boost/regex/v4/basic_regex_parser.hpp 2006-12-20 18:19:05.000000000 +0100
104+++ boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-09-20 20:55:21.000000000 +0200
105@@ -23,6 +23,8 @@
106 # include BOOST_ABI_PREFIX
107 #endif
108
109+#include <climits>
110+
111 namespace boost{
112 namespace re_detail{
113
114Index: boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
115===================================================================
116--- boost_1_34_1.orig/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100
117+++ boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2008-09-20 20:55:21.000000000 +0200
118@@ -41,6 +41,7 @@
119
120 #include <istream>
121 #include <ios>
122+#include <climits>
123
124 #ifdef BOOST_HAS_ABI_HEADERS
125 # include BOOST_ABI_PREFIX
126Index: boost_1_34_1/boost/regex/v4/perl_matcher.hpp
127===================================================================
128--- boost_1_34_1.orig/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200
129+++ boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2008-09-20 20:55:21.000000000 +0200
130@@ -18,6 +18,8 @@
131 # include BOOST_ABI_PREFIX
132 #endif
133
134+#include <climits>
135+
136 namespace boost{
137 namespace re_detail{
138
139Index: boost_1_34_1/boost/regex/v4/regex_split.hpp
140===================================================================
141--- boost_1_34_1.orig/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100
142+++ boost_1_34_1/boost/regex/v4/regex_split.hpp 2008-09-20 20:55:21.000000000 +0200
143@@ -21,6 +21,8 @@
144 #ifndef BOOST_REGEX_SPLIT_HPP
145 #define BOOST_REGEX_SPLIT_HPP
146
147+#include <climits>
148+
149 namespace boost{
150
151 #ifdef BOOST_HAS_ABI_HEADERS
152Index: boost_1_34_1/boost/regex/v4/states.hpp
153===================================================================
154--- boost_1_34_1.orig/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200
155+++ boost_1_34_1/boost/regex/v4/states.hpp 2008-09-20 20:55:21.000000000 +0200
156@@ -23,6 +23,8 @@
157 # include BOOST_ABI_PREFIX
158 #endif
159
160+#include <climits>
161+
162 namespace boost{
163 namespace re_detail{
164
165Index: boost_1_34_1/boost/serialization/collection_traits.hpp
166===================================================================
167--- boost_1_34_1.orig/boost/serialization/collection_traits.hpp 2005-06-21 07:19:04.000000000 +0200
168+++ boost_1_34_1/boost/serialization/collection_traits.hpp 2008-09-20 20:55:21.000000000 +0200
169@@ -22,6 +22,7 @@
170 // compiles recognize the same set of primitive types, the possibility
171 // exists for archives to be non-portable if class information for primitive
172 // types is included. This is addressed by the following macros.
173+#include <climits>
174 #include <boost/config.hpp>
175 #include <boost/mpl/integral_c.hpp>
176 #include <boost/mpl/integral_c_tag.hpp>
177Index: boost_1_34_1/boost/spirit/phoenix/operators.hpp
178===================================================================
179--- boost_1_34_1.orig/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200
180+++ boost_1_34_1/boost/spirit/phoenix/operators.hpp 2008-09-20 20:55:21.000000000 +0200
181@@ -24,6 +24,7 @@
182 #include <boost/spirit/phoenix/composite.hpp>
183 #include <boost/config.hpp>
184 #include <boost/mpl/if.hpp>
185+#include <climits>
186
187 ///////////////////////////////////////////////////////////////////////////////
188 namespace phoenix {
189Index: boost_1_34_1/boost/test/test_tools.hpp
190===================================================================
191--- boost_1_34_1.orig/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100
192+++ boost_1_34_1/boost/test/test_tools.hpp 2008-09-20 20:55:21.000000000 +0200
193@@ -42,6 +42,7 @@
194 #include <boost/mpl/or.hpp>
195
196 // STL
197+#include <climits>
198 #include <cstddef> // for std::size_t
199 #include <iosfwd>
200
201Index: boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
202===================================================================
203--- boost_1_34_1.orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100
204+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-09-20 20:55:21.000000000 +0200
205@@ -16,6 +16,7 @@
206 #include <string>
207 #include <cstdio>
208 #include <cstdarg>
209+#include <cstring>
210 #if defined(BOOST_SPIRIT_DEBUG)
211 #include <iostream>
212 #endif // defined(BOOST_SPIRIT_DEBUG)
213Index: boost_1_34_1/boost/wave/util/flex_string.hpp
214===================================================================
215--- boost_1_34_1.orig/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200
216+++ boost_1_34_1/boost/wave/util/flex_string.hpp 2008-09-20 20:55:21.000000000 +0200
217@@ -94,6 +94,7 @@
218 #include <limits>
219 #include <stdexcept>
220 #include <cstddef>
221+#include <cstring>
222
223 // this must occur after all of the includes and before any code appears
224 #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 @@
1diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm/boost/detail/atomic_count_sync.hpp
2--- boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp 2007-11-23 12:03:14.000000000 -0500
3+++ boost_1_36_0.arm/boost/detail/atomic_count_sync.hpp 2008-09-09 13:15:21.000000000 -0400
4@@ -29,17 +29,46 @@
5
6 void operator++()
7 {
8+#ifdef __ARM_ARCH_7A__
9+ int v1, tmp;
10+ asm volatile ("1: \n\t"
11+ "ldrex %0, %1 \n\t"
12+ "add %0 ,%0, #1 \n\t"
13+ "strex %2, %0, %1 \n\t"
14+ "cmp %2, #0 \n\t"
15+ "bne 1b \n\t"
16+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
17+ );
18+#else
19 __sync_add_and_fetch( &value_, 1 );
20+#endif
21 }
22
23 long operator--()
24 {
25+#ifdef __ARM_ARCH_7A__
26+ int v1, tmp;
27+ asm volatile ("1: \n\t"
28+ "ldrex %0, %1 \n\t"
29+ "sub %0 ,%0, #1 \n\t"
30+ "strex %2, %0, %1 \n\t"
31+ "cmp %2, #0 \n\t"
32+ "bne 1b \n\t"
33+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
34+ );
35+ return value_;
36+#else
37 return __sync_add_and_fetch( &value_, -1 );
38+#endif
39 }
40
41 operator long() const
42 {
43+#if __ARM_ARCH_7A__
44+ return value_;
45+#else
46 return __sync_fetch_and_add( &value_, 0 );
47+#endif
48 }
49
50 private:
51Binary 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 @@
1Index: boost_1_33_1/boost/detail/atomic_count_gcc.hpp
2===================================================================
3--- boost_1_33_1.orig/boost/detail/atomic_count_gcc.hpp 2008-05-01 20:43:45.000000000 +0200
4+++ boost_1_33_1/boost/detail/atomic_count_gcc.hpp 2008-05-01 20:43:55.000000000 +0200
5@@ -17,7 +17,7 @@
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8
9-#include <bits/atomicity.h>
10+#include <ext/atomicity.h>
11
12 namespace boost
13 {
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 @@
1diff -ur boost_1_33_1.orig/boost/bind.hpp boost_1_33_1/boost/bind.hpp
2--- boost_1_33_1.orig/boost/bind.hpp 2008-10-11 10:30:03.000000000 +0200
3+++ boost_1_33_1/boost/bind.hpp 2008-10-11 10:41:25.000000000 +0200
4@@ -28,6 +28,10 @@
5 #include <boost/bind/arg.hpp>
6 #include <boost/detail/workaround.hpp>
7
8+#if __GNUC__ == 4 && __GNUC_MINOR__ == 1
9+# include <boost/visit_each.hpp>
10+#endif
11+
12 // Borland-specific bug, visit_each() silently fails to produce code
13
14 #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 @@
1diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
2--- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp 2005-12-11 00:12:51.000000000 -0600
3+++ boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2008-03-03 03:08:59.000000000 -0600
4@@ -17,6 +17,7 @@
5 // See http://www.boost.org for updates, documentation, and revision history.
6
7 #include <cstddef> // std::size_t
8+#include <climits>
9 #include <boost/config.hpp>
10
11 #if defined(BOOST_NO_STDC_NAMESPACE)
12diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
13--- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp 2006-02-11 23:43:06.000000000 -0600
14+++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-03-03 03:08:59.000000000 -0600
15@@ -17,6 +17,7 @@
16 // See http://www.boost.org for updates, documentation, and revision history.
17
18 #include <cstddef> // size_t
19+#include <climits>
20 #include <string>
21
22 #include <boost/config.hpp>
23diff -aNru boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp boost_1_34_1/boost/date_time/date_facet.hpp
24--- boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp 2005-09-05 16:10:50.000000000 -0500
25+++ boost_1_34_1/boost/date_time/date_facet.hpp 2008-03-03 03:08:59.000000000 -0600
26@@ -429,7 +429,7 @@
27 typedef std::basic_string<CharT> string_type;
28 typedef CharT char_type;
29 typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
30- typedef special_values_parser<date_type,CharT> special_values_parser_type;
31+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
32 typedef std::vector<std::basic_string<CharT> > input_collection_type;
33 typedef format_date_parser<date_type, CharT> format_date_parser_type;
34 // date_generators stuff goes here
35diff -aNru boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp boost_1_34_1/boost/mpl/zip_view.hpp
36--- boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp 2004-09-02 10:40:42.000000000 -0500
37+++ boost_1_34_1/boost/mpl/zip_view.hpp 2008-03-03 03:08:59.000000000 -0600
38@@ -37,7 +37,7 @@
39 typedef zip_iterator<
40 typename transform1<
41 IteratorSeq
42- , next<_1>
43+ , boost::mpl::next<_1>
44 >::type
45 > next;
46 };
47@@ -48,8 +48,8 @@
48 struct zip_view
49 {
50 private:
51- typedef typename transform1< Sequences, begin<_1> >::type first_ones_;
52- typedef typename transform1< Sequences, end<_1> >::type last_ones_;
53+ typedef typename transform1< Sequences, boost::mpl::begin<_1> >::type first_ones_;
54+ typedef typename transform1< Sequences, boost::mpl::end<_1> >::type last_ones_;
55
56 public:
57 typedef nested_begin_end_tag tag;
58diff -aNru boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp boost_1_34_1/boost/python/detail/def_helper.hpp
59--- boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp 2004-09-15 20:00:28.000000000 -0500
60+++ boost_1_34_1/boost/python/detail/def_helper.hpp 2008-03-03 03:08:59.000000000 -0600
61@@ -155,7 +155,7 @@
62 , T3 const&
63 , T4 const&
64 , default_call_policies
65- , keywords<0>
66+ , boost::python::detail::keywords<0>
67 , char const*
68 , void(not_specified::*)() // A function pointer type which is never an
69 // appropriate default implementation
70diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
71--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 11:06:38.000000000 -0500
72+++ boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2008-03-03 03:08:59.000000000 -0600
73@@ -24,6 +24,8 @@
74 # include BOOST_ABI_PREFIX
75 #endif
76
77+#include <climits>
78+
79 namespace boost{
80
81 namespace re_detail{
82diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp boost_1_34_1/boost/regex/v4/basic_regex.hpp
83--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp 2007-06-05 12:28:18.000000000 -0500
84+++ boost_1_34_1/boost/regex/v4/basic_regex.hpp 2008-03-03 03:08:59.000000000 -0600
85@@ -23,6 +23,8 @@
86 # include BOOST_ABI_PREFIX
87 #endif
88
89+#include <climits>
90+
91 namespace boost{
92 #ifdef BOOST_MSVC
93 #pragma warning(push)
94diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
95--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp 2006-12-20 11:19:05.000000000 -0600
96+++ boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-03-03 03:08:59.000000000 -0600
97@@ -23,6 +23,8 @@
98 # include BOOST_ABI_PREFIX
99 #endif
100
101+#include <climits>
102+
103 namespace boost{
104 namespace re_detail{
105
106diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
107--- boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 05:09:44.000000000 -0600
108+++ boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2008-03-03 03:08:59.000000000 -0600
109@@ -41,6 +41,7 @@
110
111 #include <istream>
112 #include <ios>
113+#include <climits>
114
115 #ifdef BOOST_HAS_ABI_HEADERS
116 # include BOOST_ABI_PREFIX
117diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp boost_1_34_1/boost/regex/v4/perl_matcher.hpp
118--- boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp 2006-10-18 07:55:30.000000000 -0500
119+++ boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2008-03-03 03:08:59.000000000 -0600
120@@ -18,6 +18,8 @@
121 # include BOOST_ABI_PREFIX
122 #endif
123
124+#include <climits>
125+
126 namespace boost{
127 namespace re_detail{
128
129diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp boost_1_34_1/boost/regex/v4/regex_split.hpp
130--- boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp 2005-01-21 11:22:38.000000000 -0600
131+++ boost_1_34_1/boost/regex/v4/regex_split.hpp 2008-03-03 03:08:59.000000000 -0600
132@@ -21,6 +21,8 @@
133 #ifndef BOOST_REGEX_SPLIT_HPP
134 #define BOOST_REGEX_SPLIT_HPP
135
136+#include <climits>
137+
138 namespace boost{
139
140 #ifdef BOOST_HAS_ABI_HEADERS
141diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp boost_1_34_1/boost/regex/v4/states.hpp
142--- boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp 2005-09-20 07:01:25.000000000 -0500
143+++ boost_1_34_1/boost/regex/v4/states.hpp 2008-03-03 03:08:59.000000000 -0600
144@@ -23,6 +23,8 @@
145 # include BOOST_ABI_PREFIX
146 #endif
147
148+#include <climits>
149+
150 namespace boost{
151 namespace re_detail{
152
153diff -aNru boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp boost_1_34_1/boost/serialization/collection_traits.hpp
154--- boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp 2005-06-21 00:19:04.000000000 -0500
155+++ boost_1_34_1/boost/serialization/collection_traits.hpp 2008-03-03 03:09:49.000000000 -0600
156@@ -22,6 +22,7 @@
157 // compiles recognize the same set of primitive types, the possibility
158 // exists for archives to be non-portable if class information for primitive
159 // types is included. This is addressed by the following macros.
160+#include <climits>
161 #include <boost/config.hpp>
162 #include <boost/mpl/integral_c.hpp>
163 #include <boost/mpl/integral_c_tag.hpp>
164diff -aNru boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp boost_1_34_1/boost/spirit/phoenix/operators.hpp
165--- boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp 2006-08-25 11:27:30.000000000 -0500
166+++ boost_1_34_1/boost/spirit/phoenix/operators.hpp 2008-03-03 03:08:59.000000000 -0600
167@@ -24,6 +24,7 @@
168 #include <boost/spirit/phoenix/composite.hpp>
169 #include <boost/config.hpp>
170 #include <boost/mpl/if.hpp>
171+#include <climits>
172
173 ///////////////////////////////////////////////////////////////////////////////
174 namespace phoenix {
175diff -aNru boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp boost_1_34_1/boost/test/test_tools.hpp
176--- boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp 2007-02-22 11:57:29.000000000 -0600
177+++ boost_1_34_1/boost/test/test_tools.hpp 2008-03-03 03:08:59.000000000 -0600
178@@ -42,6 +42,7 @@
179 #include <boost/mpl/or.hpp>
180
181 // STL
182+#include <climits>
183 #include <cstddef> // for std::size_t
184 #include <iosfwd>
185
186diff -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
187--- boost_1_34_1-ORIGINAL/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 10:38:24.000000000 -0600
188+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-03-03 03:08:59.000000000 -0600
189@@ -16,6 +16,7 @@
190 #include <string>
191 #include <cstdio>
192 #include <cstdarg>
193+#include <cstring>
194 #if defined(BOOST_SPIRIT_DEBUG)
195 #include <iostream>
196 #endif // defined(BOOST_SPIRIT_DEBUG)
197diff -aNru boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp boost_1_34_1/boost/wave/util/flex_string.hpp
198--- boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp 2006-04-25 12:21:01.000000000 -0500
199+++ boost_1_34_1/boost/wave/util/flex_string.hpp 2008-03-03 03:08:59.000000000 -0600
200@@ -94,6 +94,7 @@
201 #include <limits>
202 #include <stdexcept>
203 #include <cstddef>
204+#include <cstring>
205
206 // this must occur after all of the includes and before any code appears
207 #ifdef BOOST_HAS_ABI_HEADERS
208
209--- boost_1_33_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-07-05 01:50:04.000000000 +0200
210+++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100
211@@ -295,17 +325,20 @@
212
213 lex_functor(IteratorT const &first, IteratorT const &last,
214 PositionT const &pos, boost::wave::language_support language)
215- : lexer(first, last, pos, language)
216+ : re2c_lexer(first, last, pos, language)
217 {}
218 virtual ~lex_functor() {}
219
220 // get the next token from the input stream
221- token_type get() { return lexer.get(); }
222- void set_position(PositionT const &pos)
223- { lexer.set_position(pos); }
224+ token_type get() { return re2c_lexer.get(); }
225+ void set_position(PositionT const &pos) { re2c_lexer.set_position(pos); }
226+#if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0
227+ bool has_include_guards(std::string& guard_name) const
228+ { return re2c_lexer.has_include_guards(guard_name); }
229+#endif
230
231 private:
232- lexer<IteratorT, PositionT> lexer;
233+ lexer<IteratorT, PositionT> re2c_lexer;
234 };
235
236 ///////////////////////////////////////////////////////////////////////////////
237@@ -338,7 +371,7 @@
238 // It is coupled to the iterator type to allow to decouple the lexer/iterator
239 // configurations at compile time.
240 //
241-// This function is declared inside the cpp_slex_token.hpp file, which is
242+// This function is declared inside the cpp_lex_token.hpp file, which is
243 // referenced by the source file calling the lexer and the source file, which
244 // instantiates the lex_functor. But is is defined here, so it will be
245 // instantiated only while compiling the source file, which instantiates the
246@@ -356,8 +389,8 @@
247 IteratorT const &last, PositionT const &pos,
248 boost::wave::language_support language)
249 {
250- return new re2clex::lex_functor<IteratorT, PositionT>(first, last, pos,
251- language);
252+ using re2clex::lex_functor;
253+ return new lex_functor<IteratorT, PositionT>(first, last, pos, language);
254 }
255
256 #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 @@
1--- /dev/null 1969-12-31 16:00:00.000000000 -0800
2+++ boost_1_32_0/boost/config/platform/linux-uclibc.hpp 2005-07-05 14:51:56.237294460 -0700
3@@ -0,0 +1,7 @@
4+// Modifications required to support uClibC libc implementation.
5+// Default to Linux...
6+#include "linux.hpp"
7+
8+// Override anything uClibC doesn't support.
9+// At present (0.9.27) the nl_types.h header exists but is not implemented
10+#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 @@
1--- boost_1_32_0/libs/test/src/unit_test_result.cpp.orig 2005-07-05 11:00:53.887594850 -0700
2+++ boost_1_32_0/libs/test/src/unit_test_result.cpp 2005-07-05 11:01:20.683533034 -0700
3@@ -144,7 +144,7 @@
4 unit_test_counter num_passed, unit_test_counter num_failed )
5 {
6 unit_test_counter total_test_cases = num_passed + num_failed;
7- std::size_t width = static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1;
8+ std::size_t width = static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1;
9
10 where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed
11 << " test " << ps_name( num_passed != 1, "case" ) << " out of " << total_test_cases << " passed\n"
12@@ -158,7 +158,7 @@
13 {
14 unit_test_counter total_assertions = num_passed + num_failed;
15 std::size_t width = total_assertions > 0
16- ? static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1
17+ ? static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1
18 : 1;
19
20 where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed