[OE-core] [PATCH] boost: Add real native support
Stefan Herbrechtsmeier
stefan at herbrechtsmeier.net
Tue Mar 12 14:49:14 UTC 2013
The current boost recipe only creates the bjam build tool during
a native run and thereby is not usable for other native recipes
that depend on a boost library. Use instead the bjam build tool
from the do_boostconfig task and add real native support to the
boost recipe. Additionally remove the boost-native from DEPENDS.
Keep the installation of the native bjam build tool for backward
compatibility.
Native compilation of bzip2 isn't working and therefore disabled.
Signed-off-by: Stefan Herbrechtsmeier <stefan at herbrechtsmeier.net>
---
meta/recipes-support/boost/boost.inc | 37 ++++++----------------------
meta/recipes-support/boost/boost_1.53.0.bb | 2 +
2 files changed, 10 insertions(+), 29 deletions(-)
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 1266666..eaba3a2 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -6,8 +6,7 @@
DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
HOMEPAGE = "http://www.boost.org/"
SECTION = "libs"
-DEPENDS = "boost-native zlib bzip2"
-DEPENDS_class-native = ""
+DEPENDS = "zlib bzip2"
LICENSE = "BSL-1.0 & MIT & Python-2.0"
ARM_INSTRUCTION_SET = "arm"
@@ -126,6 +125,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
--disable-icu \
${BJAM_EXTRA}'
+# Native compilation of bzip2 isn't working
+BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
do_boostconfig() {
cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
@@ -146,7 +147,7 @@ addtask do_boostconfig after do_patch before do_configure
do_compile() {
set -ex
- bjam ${BJAM_OPTS} --prefix=${prefix} \
+ ./bjam ${BJAM_OPTS} --prefix=${prefix} \
--exec-prefix=${exec_prefix} \
--libdir=${libdir} \
--includedir=${includedir}
@@ -154,7 +155,7 @@ do_compile() {
do_install() {
set -ex
- bjam ${BJAM_OPTS} \
+ ./bjam ${BJAM_OPTS} \
--libdir=${D}${libdir} \
--includedir=${D}${includedir} \
install
@@ -171,29 +172,7 @@ do_install() {
BBCLASSEXTEND = "native"
-do_configure_class-native() {
- :
+do_install_append_class-native() {
+ install -d ${D}${bindir}/
+ install -c -m 755 bjam ${D}${bindir}/
}
-
-do_boostconfig_class-native() {
- :
-}
-
-do_compile_class-native() {
- set -ex
- cd ${S}/tools/build/v2/engine
- 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_class-native () {
- set -ex
- cd ${S}/tools/build/v2/engine
- install -d ${D}${bindir}/
- install -c -m 755 bin.*/bjam ${D}${bindir}/
-}
-
-
diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
index de721c5..7527b25 100644
--- a/meta/recipes-support/boost/boost_1.53.0.bb
+++ b/meta/recipes-support/boost/boost_1.53.0.bb
@@ -2,6 +2,8 @@ include boost.inc
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+PR = "r1"
+
SRC_URI += "file://arm-intrinsics.patch \
"
--
1.7.0.4
More information about the Openembedded-core
mailing list