summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/boost
diff options
context:
space:
mode:
authorStefan Herbrechtsmeier <stefan@herbrechtsmeier.net>2013-03-26 14:02:19 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-29 10:40:55 +0000
commitc9643b000bb0e8aecc67a4bb2033082ae7fdb628 (patch)
tree3c04ec77701d479bb2097814f413853c76c8d7fa /meta/recipes-support/boost
parenta0bd02db2d2341c0a496e9bbd6e8a0ab7e7cd83e (diff)
downloadpoky-c9643b000bb0e8aecc67a4bb2033082ae7fdb628.tar.gz
boost: Add real native support
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. Split out the build tool into its own bjam-native recipe and add real native support to the boost recipe. Additionally replace the boost-native with bjam-native in the DEPENDS. This allows recipes to depend on native boost librarties without increase of the build time for other use cases. Native compilation of bzip2 isn't working and therefore disabled. (From OE-Core rev: aec1e3484d89a3ef0fb5b3470a620cc055f66c37) Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/boost')
-rw-r--r--meta/recipes-support/boost/bjam-native_1.53.0.bb15
-rw-r--r--meta/recipes-support/boost/boost-1.53.0.inc19
-rw-r--r--meta/recipes-support/boost/boost.inc49
-rw-r--r--meta/recipes-support/boost/boost_1.53.0.bb6
4 files changed, 40 insertions, 49 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.53.0.bb b/meta/recipes-support/boost/bjam-native_1.53.0.bb
new file mode 100644
index 0000000000..59a031032c
--- /dev/null
+++ b/meta/recipes-support/boost/bjam-native_1.53.0.bb
@@ -0,0 +1,15 @@
1include boost-${PV}.inc
2
3DESCRIPTION = "Portable Boost.Jam build tool for boost"
4SECTION = "devel"
5
6inherit native
7
8do_compile() {
9 ./bootstrap.sh --with-toolset=gcc
10}
11
12do_install() {
13 install -d ${D}${bindir}/
14 install -c -m 755 bjam ${D}${bindir}/
15}
diff --git a/meta/recipes-support/boost/boost-1.53.0.inc b/meta/recipes-support/boost/boost-1.53.0.inc
new file mode 100644
index 0000000000..dbcaabcd10
--- /dev/null
+++ b/meta/recipes-support/boost/boost-1.53.0.inc
@@ -0,0 +1,19 @@
1# The Boost web site provides free peer-reviewed portable
2# C++ source libraries. The emphasis is on libraries which
3# work well with the C++ Standard Library. The libraries are
4# intended to be widely useful, and are in regular use by
5# thousands of programmers across a broad spectrum of applications.
6HOMEPAGE = "http://www.boost.org/"
7LICENSE = "BSL-1.0 & MIT & Python-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
9
10BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
11BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
12BOOST_P = "boost_${BOOST_VER}"
13
14SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
15
16SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
17SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
18
19S = "${WORKDIR}/${BOOST_P}"
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 1266666e30..a1c35c7b95 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -1,25 +1,9 @@
1# The Boost web site provides free peer-reviewed portable
2# C++ source libraries. The emphasis is on libraries which
3# work well with the C++ Standard Library. The libraries are
4# intended to be widely useful, and are in regular use by
5# thousands of programmers across a broad spectrum of applications.
6DESCRIPTION = "Free peer-reviewed portable C++ source libraries" 1DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
7HOMEPAGE = "http://www.boost.org/"
8SECTION = "libs" 2SECTION = "libs"
9DEPENDS = "boost-native zlib bzip2" 3DEPENDS = "bjam-native zlib bzip2"
10DEPENDS_class-native = ""
11LICENSE = "BSL-1.0 & MIT & Python-2.0"
12 4
13ARM_INSTRUCTION_SET = "arm" 5ARM_INSTRUCTION_SET = "arm"
14 6
15BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
16BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
17BOOST_P = "boost_${BOOST_VER}"
18
19SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
20
21S = "${WORKDIR}/${BOOST_P}"
22
23BOOST_LIBS = "\ 7BOOST_LIBS = "\
24 date_time \ 8 date_time \
25 filesystem \ 9 filesystem \
@@ -126,6 +110,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
126 --disable-icu \ 110 --disable-icu \
127 ${BJAM_EXTRA}' 111 ${BJAM_EXTRA}'
128 112
113# Native compilation of bzip2 isn't working
114BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
129 115
130do_boostconfig() { 116do_boostconfig() {
131 cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp 117 cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
@@ -138,7 +124,7 @@ do_boostconfig() {
138 124
139 echo "using python : ${PYTHON_VERSION} : : ${STAGING_INCDIR}/python${PYTHON_VERSION} ;" >> ${S}/tools/build/v2/user-config.jam 125 echo "using python : ${PYTHON_VERSION} : : ${STAGING_INCDIR}/python${PYTHON_VERSION} ;" >> ${S}/tools/build/v2/user-config.jam
140 126
141 CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-toolset=gcc --with-python-root=${PYTHON_ROOT} 127 CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
142 sed -i '/^using python/d' project-config.jam 128 sed -i '/^using python/d' project-config.jam
143} 129}
144 130
@@ -170,30 +156,3 @@ do_install() {
170} 156}
171 157
172BBCLASSEXTEND = "native" 158BBCLASSEXTEND = "native"
173
174do_configure_class-native() {
175 :
176}
177
178do_boostconfig_class-native() {
179 :
180}
181
182do_compile_class-native() {
183 set -ex
184 cd ${S}/tools/build/v2/engine
185 rm -rf bin.*
186 ./build.sh gcc
187}
188
189# This is too terrible - the build script doesn't give any good
190# way I can see to find out where the binaries are placed, so
191# rely on only one bin.foo directory being created.
192do_install_class-native () {
193 set -ex
194 cd ${S}/tools/build/v2/engine
195 install -d ${D}${bindir}/
196 install -c -m 755 bin.*/bjam ${D}${bindir}/
197}
198
199
diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
index de721c532f..3a5a6cc386 100644
--- a/meta/recipes-support/boost/boost_1.53.0.bb
+++ b/meta/recipes-support/boost/boost_1.53.0.bb
@@ -1,9 +1,7 @@
1include boost-${PV}.inc
1include boost.inc 2include boost.inc
2 3
3LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" 4PR = "r1"
4 5
5SRC_URI += "file://arm-intrinsics.patch \ 6SRC_URI += "file://arm-intrinsics.patch \
6 " 7 "
7
8SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
9SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"