diff options
author | Riku Voipio <riku.voipio@linaro.org> | 2013-07-09 16:08:59 +0300 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2013-07-09 16:08:59 +0300 |
commit | b954cf51dff152b6233d5e5d25de00e26ec68ac8 (patch) | |
tree | ae7b027f2d9721cdcdb75184bba3516f57c56174 /meta-aarch64/recipes-support | |
parent | e473b8cd63d6f3af8a7e7e54191bdc7cac4d03f5 (diff) |
boost: revert to 1.53 while we figure out why 1.54 fails to build
Diffstat (limited to 'meta-aarch64/recipes-support')
-rw-r--r-- | meta-aarch64/recipes-support/boost/boost-1.53.0.inc | 19 | ||||
-rw-r--r-- | meta-aarch64/recipes-support/boost/boost_1.53.0.bb | 7 | ||||
-rw-r--r-- | meta-aarch64/recipes-support/boost/files/arm-intrinsics.patch | 55 |
3 files changed, 81 insertions, 0 deletions
diff --git a/meta-aarch64/recipes-support/boost/boost-1.53.0.inc b/meta-aarch64/recipes-support/boost/boost-1.53.0.inc new file mode 100644 index 00000000..85c36ca2 --- /dev/null +++ b/meta-aarch64/recipes-support/boost/boost-1.53.0.inc @@ -0,0 +1,19 @@ +# 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. +HOMEPAGE = "http://www.boost.org/" +LICENSE = "BSL-1.0 & MIT & Python-2.0" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}" +BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2" + +SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2" +SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196" + +S = "${WORKDIR}/${BOOST_P}" diff --git a/meta-aarch64/recipes-support/boost/boost_1.53.0.bb b/meta-aarch64/recipes-support/boost/boost_1.53.0.bb new file mode 100644 index 00000000..3a5a6cc3 --- /dev/null +++ b/meta-aarch64/recipes-support/boost/boost_1.53.0.bb @@ -0,0 +1,7 @@ +include boost-${PV}.inc +include boost.inc + +PR = "r1" + +SRC_URI += "file://arm-intrinsics.patch \ + " diff --git a/meta-aarch64/recipes-support/boost/files/arm-intrinsics.patch b/meta-aarch64/recipes-support/boost/files/arm-intrinsics.patch new file mode 100644 index 00000000..fe85c69a --- /dev/null +++ b/meta-aarch64/recipes-support/boost/files/arm-intrinsics.patch @@ -0,0 +1,55 @@ +Upstream-Status: Backport + +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: + + 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: |