From adfd0e04343ad7770642eadf07a7f9185be6e25d Mon Sep 17 00:00:00 2001 From: Qing He Date: Thu, 19 Aug 2010 13:32:07 +0800 Subject: 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 --- meta-moblin/packages/boost/boost-36.inc | 148 ------------ meta-moblin/packages/boost/boost-jam-native.inc | 31 --- .../packages/boost/boost-jam-native_3.1.16.bb | 4 - meta-moblin/packages/boost/boost_1.36.0.bb | 12 - .../packages/boost/files/1.34.1-gcc43.patch | 224 ------------------ .../packages/boost/files/arm-intrinsics.patch | 51 ---- .../boost/files/atomic_count_gcc_atomicity.patch | 13 -- meta-moblin/packages/boost/files/gcc41.patch | 14 -- meta-moblin/packages/boost/files/gcc43.patch | 256 --------------------- .../packages/boost/files/linux-uclibc.patch | 10 - .../packages/boost/files/unit_test_log10f.patch | 20 -- meta/packages/boost/boost-36.inc | 149 ++++++++++++ meta/packages/boost/boost-jam-native.inc | 31 +++ meta/packages/boost/boost-jam-native_3.1.18.bb | 4 + meta/packages/boost/boost_1.44.0.bb | 27 +++ meta/packages/boost/files/1.34.1-gcc43.patch | 224 ++++++++++++++++++ meta/packages/boost/files/arm-intrinsics.patch | 53 +++++ .../boost/files/atomic_count_gcc_atomicity.patch | 13 ++ meta/packages/boost/files/gcc41.patch | 14 ++ meta/packages/boost/files/gcc43.patch | 256 +++++++++++++++++++++ meta/packages/boost/files/linux-uclibc.patch | 10 + meta/packages/boost/files/unit_test_log10f.patch | 20 ++ 22 files changed, 801 insertions(+), 783 deletions(-) delete mode 100644 meta-moblin/packages/boost/boost-36.inc delete mode 100644 meta-moblin/packages/boost/boost-jam-native.inc delete mode 100644 meta-moblin/packages/boost/boost-jam-native_3.1.16.bb delete mode 100644 meta-moblin/packages/boost/boost_1.36.0.bb delete mode 100644 meta-moblin/packages/boost/files/1.34.1-gcc43.patch delete mode 100644 meta-moblin/packages/boost/files/arm-intrinsics.patch delete mode 100644 meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch delete mode 100644 meta-moblin/packages/boost/files/gcc41.patch delete mode 100644 meta-moblin/packages/boost/files/gcc43.patch delete mode 100644 meta-moblin/packages/boost/files/linux-uclibc.patch delete mode 100644 meta-moblin/packages/boost/files/unit_test_log10f.patch create mode 100644 meta/packages/boost/boost-36.inc create mode 100644 meta/packages/boost/boost-jam-native.inc create mode 100644 meta/packages/boost/boost-jam-native_3.1.18.bb create mode 100644 meta/packages/boost/boost_1.44.0.bb create mode 100644 meta/packages/boost/files/1.34.1-gcc43.patch create mode 100644 meta/packages/boost/files/arm-intrinsics.patch create mode 100644 meta/packages/boost/files/atomic_count_gcc_atomicity.patch create mode 100644 meta/packages/boost/files/gcc41.patch create mode 100644 meta/packages/boost/files/gcc43.patch create mode 100644 meta/packages/boost/files/linux-uclibc.patch create mode 100644 meta/packages/boost/files/unit_test_log10f.patch diff --git a/meta-moblin/packages/boost/boost-36.inc b/meta-moblin/packages/boost/boost-36.inc deleted file mode 100644 index d297dfb1a..000000000 --- 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 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 space on 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 fe181ad00..000000000 --- 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 2e92146a8..000000000 --- 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 140ab290b..000000000 --- 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 4670ac429..000000000 --- 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 // std::size_t -+#include - #include - - #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 // size_t -+#include - #include - - #include -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 string_type; - typedef CharT char_type; - typedef boost::date_time::period_parser period_parser_type; -- typedef special_values_parser special_values_parser_type; -+ typedef boost::date_time::special_values_parser special_values_parser_type; - typedef std::vector > input_collection_type; - typedef format_date_parser 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 -+ - 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 -+ - 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 -+ - 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 - #include -+#include - - #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 -+ - 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 -+ - 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 -+ - 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 - #include - #include - #include -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 - #include - #include -+#include - - /////////////////////////////////////////////////////////////////////////////// - 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 - - // STL -+#include - #include // for std::size_t - #include - -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 - #include - #include -+#include - #if defined(BOOST_SPIRIT_DEBUG) - #include - #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 - #include - #include -+#include - - // 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 860b6df67..000000000 --- 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 7d08e7355..000000000 --- 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 -+#include - - 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 f91d1adf2..000000000 --- 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 - #include - -+#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 -+# include -+#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 aefe0800c..000000000 --- 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 // std::size_t -+#include - #include - - #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 // size_t -+#include - #include - - #include -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 string_type; - typedef CharT char_type; - typedef boost::date_time::period_parser period_parser_type; -- typedef special_values_parser special_values_parser_type; -+ typedef boost::date_time::special_values_parser special_values_parser_type; - typedef std::vector > input_collection_type; - typedef format_date_parser 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 -+ - 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 -+ - 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 -+ - 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 - #include -+#include - - #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 -+ - 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 -+ - 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 -+ - 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 - #include - #include - #include -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 - #include - #include -+#include - - /////////////////////////////////////////////////////////////////////////////// - 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 - - // STL -+#include - #include // for std::size_t - #include - -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 - #include - #include -+#include - #if defined(BOOST_SPIRIT_DEBUG) - #include - #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 - #include - #include -+#include - - // 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 lexer; -+ lexer 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(first, last, pos, -- language); -+ using re2clex::lex_functor; -+ return new lex_functor(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 79f14dea8..000000000 --- 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 b235e1244..000000000 --- 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::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1; -+ std::size_t width = static_cast( 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::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1 -+ ? static_cast( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1 - : 1; - - where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed diff --git a/meta/packages/boost/boost-36.inc b/meta/packages/boost/boost-36.inc new file mode 100644 index 000000000..5d2d1280b --- /dev/null +++ b/meta/packages/boost/boost-36.inc @@ -0,0 +1,149 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Free peer-reviewed portable C++ source libraries" +HOMEPAGE = "http://www.boost.org/" +SECTION = "libs" +DEPENDS = "boost-jam-native zlib" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r3" + +ARM_INSTRUCTION_SET = "arm" +BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}" +BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" + +BOOST_LIBS = "\ + date_time \ + filesystem \ + graph \ + iostreams \ + program_options \ + regex \ + signals \ + system \ + test \ + thread \ + " + +# FIXME: for some reason this fails on powerpc +#BOOST_LIBS += "serialization" + +# To enable python, uncomment the following: +#BOOST_LIBS += "python" +#DEPENDS += "python" +#PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}" +#PYTHON_VERSION = "2.5" + +S = "${WORKDIR}/${BOOST_P}" + +# Make a package for each library, plus -dev +PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}" +python __anonymous () { + import bb + + packages = [] + extras = [] + for lib in bb.data.getVar('BOOST_LIBS', d, 1).split( ): + pkg = "boost-%s" % lib.replace("_", "-") + extras.append("--with-%s" % lib) + packages.append(pkg) + if not bb.data.getVar("FILES_%s" % pkg, d, 1): + bb.data.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so.*" % lib, d) + bb.data.setVar("BOOST_PACKAGES", " ".join(packages), d) + bb.data.setVar("BJAM_EXTRA", " ".join(extras), d) +} + +# Override the contents of specific packages +FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \ + ${libdir}/libboost_wserialization*.so.*" +FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ + ${libdir}/libboost_unit_test_framework*.so.*" + +# -dev last to pick up the remaining stuff +PACKAGES += "${PN}-dev" +FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a" + +# "boost" is a metapackage which pulls in all boost librabries +PACKAGES += "${PN}" +RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" +ALLOW_EMPTY_${PN} = "1" + +# to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works +TARGET_CC_ARCH += " ${LDFLAGS}" + +# Oh yippee, a new build system, it's sooo cooool I could eat my own +# foot. inlining=on lets the compiler choose, I think. At least this +# stuff is documented... +# NOTE: if you leave 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 space on off' \ + '-sPYTHON_VERSION=${PYTHON_VERSION}' \ + '--layout=system' \ + " + +BJAM_OPTS = '${BJAM_TOOLS} \ + --builddir=${S}/${TARGET_SYS} \ + --with-python-root=${PYTHON_ROOT} \ + ${BJAM_EXTRA}' + + +do_configure_prepend() { + cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp + + echo 'using gcc : 4.3.1 : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;' >> ${S}/tools/build/v2/user-config.jam +} + +do_compile() { + set -ex + bjam ${BJAM_OPTS} --prefix=${prefix} \ + --exec-prefix=${exec_prefix} \ + --libdir=${libdir} \ + --includedir=${includedir} +} + +do_install() { + set -ex + bjam ${BJAM_OPTS} \ + --libdir=${D}${libdir} \ + --includedir=${D}${includedir} \ + install +} diff --git a/meta/packages/boost/boost-jam-native.inc b/meta/packages/boost/boost-jam-native.inc new file mode 100644 index 000000000..fe181ad00 --- /dev/null +++ b/meta/packages/boost/boost-jam-native.inc @@ -0,0 +1,31 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Make system for boost (native)" +HOMEPAGE = "http://www.boost.org/" +SECTION = "devel" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz" +S = "${WORKDIR}/boost-jam-${PV}" + +inherit native + +do_compile() { + set -ex + rm -rf bin.* + ./build.sh gcc +} + +# This is too terrible - the build script doesn't give any good +# way I can see to find out where the binaries are placed, so +# rely on only one bin.foo directory being created. +do_install () { + set -ex + install -d ${D}${bindir}/ + install -c -m 755 bin.*/bjam ${D}${bindir}/ +} diff --git a/meta/packages/boost/boost-jam-native_3.1.18.bb b/meta/packages/boost/boost-jam-native_3.1.18.bb new file mode 100644 index 000000000..2e92146a8 --- /dev/null +++ b/meta/packages/boost/boost-jam-native_3.1.18.bb @@ -0,0 +1,4 @@ +include boost-jam-native.inc + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz" + diff --git a/meta/packages/boost/boost_1.44.0.bb b/meta/packages/boost/boost_1.44.0.bb new file mode 100644 index 000000000..81a2e53ba --- /dev/null +++ b/meta/packages/boost/boost_1.44.0.bb @@ -0,0 +1,27 @@ +include boost-36.inc + +LICENSE = "boost" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \ + file://arm-intrinsics.patch \ + " + +BJAM_OPTS = '${BJAM_TOOLS} \ + --builddir=${S}/${TARGET_SYS} \ + ${BJAM_EXTRA}' + +# build only mt libraries and install symlinks for compatibility +BJAM_EXTRA += "threading=multi" +do_install_append() { + for lib in ${BOOST_LIBS}; do + if [ -e ${D}${libdir}/libboost_${lib}.a ]; then + ln -s libboost_${lib}.a ${D}${libdir}/libboost_${lib}-mt.a + fi + if [ -e ${D}${libdir}/libboost_${lib}.so ]; then + ln -s libboost_${lib}.so ${D}${libdir}/libboost_${lib}-mt.so + fi + done +} diff --git a/meta/packages/boost/files/1.34.1-gcc43.patch b/meta/packages/boost/files/1.34.1-gcc43.patch new file mode 100644 index 000000000..4670ac429 --- /dev/null +++ b/meta/packages/boost/files/1.34.1-gcc43.patch @@ -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 // std::size_t ++#include + #include + + #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 // size_t ++#include + #include + + #include +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 string_type; + typedef CharT char_type; + typedef boost::date_time::period_parser period_parser_type; +- typedef special_values_parser special_values_parser_type; ++ typedef boost::date_time::special_values_parser special_values_parser_type; + typedef std::vector > input_collection_type; + typedef format_date_parser 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 ++ + 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 ++ + 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 ++ + 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 + #include ++#include + + #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 ++ + 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 ++ + 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 ++ + 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 + #include + #include + #include +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 + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + 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 + + // STL ++#include + #include // for std::size_t + #include + +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 + #include + #include ++#include + #if defined(BOOST_SPIRIT_DEBUG) + #include + #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 + #include + #include ++#include + + // this must occur after all of the includes and before any code appears + #ifdef BOOST_HAS_ABI_HEADERS diff --git a/meta/packages/boost/files/arm-intrinsics.patch b/meta/packages/boost/files/arm-intrinsics.patch new file mode 100644 index 000000000..3f9c620eb --- /dev/null +++ b/meta/packages/boost/files/arm-intrinsics.patch @@ -0,0 +1,53 @@ +8/17/2010 - rebased to 1.44 by Qing He + +diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp +index b6359b5..78b1cc2 100644 +--- a/boost/smart_ptr/detail/atomic_count_sync.hpp ++++ b/boost/smart_ptr/detail/atomic_count_sync.hpp +@@ -33,17 +33,46 @@ public: + + long operator++() + { ++#ifdef __ARM_ARCH_7A__ ++ int v1, tmp; ++ asm volatile ("1: \n\t" ++ "ldrex %0, %1 \n\t" ++ "add %0 ,%0, #1 \n\t" ++ "strex %2, %0, %1 \n\t" ++ "cmp %2, #0 \n\t" ++ "bne 1b \n\t" ++ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) ++ ); ++#else + return __sync_add_and_fetch( &value_, 1 ); ++#endif + } + + long operator--() + { ++#ifdef __ARM_ARCH_7A__ ++ int v1, tmp; ++ asm volatile ("1: \n\t" ++ "ldrex %0, %1 \n\t" ++ "sub %0 ,%0, #1 \n\t" ++ "strex %2, %0, %1 \n\t" ++ "cmp %2, #0 \n\t" ++ "bne 1b \n\t" ++ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) ++ ); ++ return value_; ++#else + return __sync_add_and_fetch( &value_, -1 ); ++#endif + } + + operator long() const + { ++#if __ARM_ARCH_7A__ ++ return value_; ++#else + return __sync_fetch_and_add( &value_, 0 ); ++#endif + } + + private: diff --git a/meta/packages/boost/files/atomic_count_gcc_atomicity.patch b/meta/packages/boost/files/atomic_count_gcc_atomicity.patch new file mode 100644 index 000000000..7d08e7355 --- /dev/null +++ b/meta/packages/boost/files/atomic_count_gcc_atomicity.patch @@ -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 ++#include + + namespace boost + { diff --git a/meta/packages/boost/files/gcc41.patch b/meta/packages/boost/files/gcc41.patch new file mode 100644 index 000000000..f91d1adf2 --- /dev/null +++ b/meta/packages/boost/files/gcc41.patch @@ -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 + #include + ++#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 ++# include ++#endif ++ + // Borland-specific bug, visit_each() silently fails to produce code + + #if defined(__BORLANDC__) diff --git a/meta/packages/boost/files/gcc43.patch b/meta/packages/boost/files/gcc43.patch new file mode 100644 index 000000000..aefe0800c --- /dev/null +++ b/meta/packages/boost/files/gcc43.patch @@ -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 // std::size_t ++#include + #include + + #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 // size_t ++#include + #include + + #include +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 string_type; + typedef CharT char_type; + typedef boost::date_time::period_parser period_parser_type; +- typedef special_values_parser special_values_parser_type; ++ typedef boost::date_time::special_values_parser special_values_parser_type; + typedef std::vector > input_collection_type; + typedef format_date_parser 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 ++ + 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 ++ + 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 ++ + 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 + #include ++#include + + #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 ++ + 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 ++ + 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 ++ + 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 + #include + #include + #include +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 + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + 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 + + // STL ++#include + #include // for std::size_t + #include + +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 + #include + #include ++#include + #if defined(BOOST_SPIRIT_DEBUG) + #include + #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 + #include + #include ++#include + + // 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 lexer; ++ lexer 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(first, last, pos, +- language); ++ using re2clex::lex_functor; ++ return new lex_functor(first, last, pos, language); + } + + #undef BOOST_WAVE_RE2C_NEW_LEXER_INLINE diff --git a/meta/packages/boost/files/linux-uclibc.patch b/meta/packages/boost/files/linux-uclibc.patch new file mode 100644 index 000000000..79f14dea8 --- /dev/null +++ b/meta/packages/boost/files/linux-uclibc.patch @@ -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 diff --git a/meta/packages/boost/files/unit_test_log10f.patch b/meta/packages/boost/files/unit_test_log10f.patch new file mode 100644 index 000000000..b235e1244 --- /dev/null +++ b/meta/packages/boost/files/unit_test_log10f.patch @@ -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::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1; ++ std::size_t width = static_cast( 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::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1 ++ ? static_cast( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1 + : 1; + + where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed -- cgit v1.2.3