1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

boost: upgrade to 1.44.0

from version 1.36.0
which won't compile with gcc 4.5.0

also moved to meta form meta-moblin

changes:
  - .so files should go to -dev instead of sub packages
  - create libboostX-mt.{so,a} symlinks for compatibility
  - meta package 'boost' should set ALLOW_EMPTY
  - fix a bug that caused boost-dev being automatically renamed to
    libboost_prg_exec_monitor-dev, packages boost, boost-dev and
    boost-test now work as intended
  - rebased patch arm-intrinsic

Signed-off-by: Qing He <qing.he@intel.com>
This commit is contained in:
Qing He
2010-08-19 13:32:07 +08:00
committed by Richard Purdie
parent d1f7c3f9cc
commit adfd0e0434
12 changed files with 42 additions and 24 deletions
@@ -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}'
@@ -52,16 +52,16 @@ python __anonymous () {
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("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*"
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"
@@ -70,6 +70,7 @@ 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}"
+27
View File
@@ -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
}
@@ -1,9 +1,12 @@
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 @@
8/17/2010 - rebased to 1.44 by Qing He <qing.he@intel.com>
diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp
index b6359b5..78b1cc2 100644
--- a/boost/smart_ptr/detail/atomic_count_sync.hpp
+++ b/boost/smart_ptr/detail/atomic_count_sync.hpp
@@ -33,17 +33,46 @@ public:
void operator++()
long operator++()
{
+#ifdef __ARM_ARCH_7A__
+ int v1, tmp;
@@ -16,7 +19,7 @@ diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm
+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
+ );
+#else
__sync_add_and_fetch( &value_, 1 );
return __sync_add_and_fetch( &value_, 1 );
+#endif
}
@@ -48,4 +51,3 @@ diff -Nurd boost_1_36_0.orig/boost/detail/atomic_count_sync.hpp boost_1_36_0.arm
}
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