From adfd0e04343ad7770642eadf07a7f9185be6e25d Mon Sep 17 00:00:00 2001 From: Qing He Date: Thu, 19 Aug 2010 13:32:07 +0800 Subject: [PATCH] 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_1.36.0.bb | 12 --------- .../packages/boost/boost-36.inc | 11 ++++---- .../packages/boost/boost-jam-native.inc | 0 .../packages/boost/boost-jam-native_3.1.18.bb | 0 meta/packages/boost/boost_1.44.0.bb | 27 +++++++++++++++++++ .../packages/boost/files/1.34.1-gcc43.patch | 0 .../packages/boost/files/arm-intrinsics.patch | 16 ++++++----- .../files/atomic_count_gcc_atomicity.patch | 0 .../packages/boost/files/gcc41.patch | 0 .../packages/boost/files/gcc43.patch | 0 .../packages/boost/files/linux-uclibc.patch | 0 .../boost/files/unit_test_log10f.patch | 0 12 files changed, 42 insertions(+), 24 deletions(-) delete mode 100644 meta-moblin/packages/boost/boost_1.36.0.bb rename {meta-moblin => meta}/packages/boost/boost-36.inc (96%) rename {meta-moblin => meta}/packages/boost/boost-jam-native.inc (100%) rename meta-moblin/packages/boost/boost-jam-native_3.1.16.bb => meta/packages/boost/boost-jam-native_3.1.18.bb (100%) create mode 100644 meta/packages/boost/boost_1.44.0.bb rename {meta-moblin => meta}/packages/boost/files/1.34.1-gcc43.patch (100%) rename {meta-moblin => meta}/packages/boost/files/arm-intrinsics.patch (68%) rename {meta-moblin => meta}/packages/boost/files/atomic_count_gcc_atomicity.patch (100%) rename {meta-moblin => meta}/packages/boost/files/gcc41.patch (100%) rename {meta-moblin => meta}/packages/boost/files/gcc43.patch (100%) rename {meta-moblin => meta}/packages/boost/files/linux-uclibc.patch (100%) rename {meta-moblin => meta}/packages/boost/files/unit_test_log10f.patch (100%) diff --git a/meta-moblin/packages/boost/boost_1.36.0.bb b/meta-moblin/packages/boost/boost_1.36.0.bb deleted file mode 100644 index 140ab290ba..0000000000 --- a/meta-moblin/packages/boost/boost_1.36.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -include boost-36.inc - -PR = "r6" - -SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \ - file://arm-intrinsics.patch;patch=1 \ - " - -BJAM_OPTS = '${BJAM_TOOLS} \ - --builddir=${S}/${TARGET_SYS} \ - ${BJAM_EXTRA}' - diff --git a/meta-moblin/packages/boost/boost-36.inc b/meta/packages/boost/boost-36.inc similarity index 96% rename from meta-moblin/packages/boost/boost-36.inc rename to meta/packages/boost/boost-36.inc index d297dfb1af..5d2d1280be 100644 --- a/meta-moblin/packages/boost/boost-36.inc +++ b/meta/packages/boost/boost-36.inc @@ -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}" diff --git a/meta-moblin/packages/boost/boost-jam-native.inc b/meta/packages/boost/boost-jam-native.inc similarity index 100% rename from meta-moblin/packages/boost/boost-jam-native.inc rename to meta/packages/boost/boost-jam-native.inc diff --git a/meta-moblin/packages/boost/boost-jam-native_3.1.16.bb b/meta/packages/boost/boost-jam-native_3.1.18.bb similarity index 100% rename from meta-moblin/packages/boost/boost-jam-native_3.1.16.bb rename to meta/packages/boost/boost-jam-native_3.1.18.bb 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 0000000000..81a2e53ba3 --- /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-moblin/packages/boost/files/1.34.1-gcc43.patch b/meta/packages/boost/files/1.34.1-gcc43.patch similarity index 100% rename from meta-moblin/packages/boost/files/1.34.1-gcc43.patch rename to meta/packages/boost/files/1.34.1-gcc43.patch diff --git a/meta-moblin/packages/boost/files/arm-intrinsics.patch b/meta/packages/boost/files/arm-intrinsics.patch similarity index 68% rename from meta-moblin/packages/boost/files/arm-intrinsics.patch rename to meta/packages/boost/files/arm-intrinsics.patch index 860b6df67c..3f9c620ebe 100644 --- a/meta-moblin/packages/boost/files/arm-intrinsics.patch +++ b/meta/packages/boost/files/arm-intrinsics.patch @@ -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 + +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 diff --git a/meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch b/meta/packages/boost/files/atomic_count_gcc_atomicity.patch similarity index 100% rename from meta-moblin/packages/boost/files/atomic_count_gcc_atomicity.patch rename to meta/packages/boost/files/atomic_count_gcc_atomicity.patch diff --git a/meta-moblin/packages/boost/files/gcc41.patch b/meta/packages/boost/files/gcc41.patch similarity index 100% rename from meta-moblin/packages/boost/files/gcc41.patch rename to meta/packages/boost/files/gcc41.patch diff --git a/meta-moblin/packages/boost/files/gcc43.patch b/meta/packages/boost/files/gcc43.patch similarity index 100% rename from meta-moblin/packages/boost/files/gcc43.patch rename to meta/packages/boost/files/gcc43.patch diff --git a/meta-moblin/packages/boost/files/linux-uclibc.patch b/meta/packages/boost/files/linux-uclibc.patch similarity index 100% rename from meta-moblin/packages/boost/files/linux-uclibc.patch rename to meta/packages/boost/files/linux-uclibc.patch diff --git a/meta-moblin/packages/boost/files/unit_test_log10f.patch b/meta/packages/boost/files/unit_test_log10f.patch similarity index 100% rename from meta-moblin/packages/boost/files/unit_test_log10f.patch rename to meta/packages/boost/files/unit_test_log10f.patch -- 2.40.1