Add boost from OE.dev
This commit is contained in:
parent
4108e6f603
commit
43e94412c4
|
@ -0,0 +1,156 @@
|
|||
# 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}/${layout_prefix}"
|
||||
#PYTHON_VERSION = "2.5"
|
||||
|
||||
S = "${WORKDIR}/${BOOST_P}"
|
||||
|
||||
# Make a package for each library, plus -dev
|
||||
PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}"
|
||||
python __anonymous () {
|
||||
import bb
|
||||
|
||||
packages = []
|
||||
extras = []
|
||||
for lib in bb.data.getVar('BOOST_LIBS', d, 1).split( ):
|
||||
pkg = "boost-%s" % lib.replace("_", "-")
|
||||
extras.append("--with-%s" % lib)
|
||||
packages.append(pkg)
|
||||
if not bb.data.getVar("FILES_%s" % pkg, d, 1):
|
||||
bb.data.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so*" % lib, d)
|
||||
bb.data.setVar("BOOST_PACKAGES", " ".join(packages), d)
|
||||
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_stage() {
|
||||
set -ex
|
||||
bjam ${BJAM_OPTS} \
|
||||
--libdir=${STAGING_LIBDIR} \
|
||||
--includedir=${STAGING_INCDIR} \
|
||||
install
|
||||
}
|
||||
|
||||
do_install() {
|
||||
set -ex
|
||||
bjam ${BJAM_OPTS} \
|
||||
--libdir=${D}${libdir} \
|
||||
--includedir=${D}${includedir} \
|
||||
install
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
# 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_stage() {
|
||||
set -ex
|
||||
install -c -m 755 bin.*/bjam ${STAGING_BINDIR}/
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
include boost-jam-native.inc
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
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}'
|
||||
|
|
@ -0,0 +1,224 @@
|
|||
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
|
|
@ -0,0 +1,51 @@
|
|||
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
|
|
@ -0,0 +1,13 @@
|
|||
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
|
||||
{
|
|
@ -0,0 +1,14 @@
|
|||
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__)
|
|
@ -0,0 +1,256 @@
|
|||
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
|
|
@ -0,0 +1,10 @@
|
|||
--- /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
|
|
@ -0,0 +1,20 @@
|
|||
--- 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
|
Loading…
Reference in New Issue