Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/2] boost: build context and coroutine on ARM
@ 2017-03-27 15:26 Ross Burton
  2017-03-27 15:26 ` [PATCH 2/2] boost: enable more libraries Ross Burton
  2017-03-28  7:53 ` [PATCH 1/2] boost: build context and coroutine on ARM Richard Purdie
  0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2017-03-27 15:26 UTC (permalink / raw)
  To: openembedded-core

With the right flags to the build, the context library can be built on ARM.

[ YOCTO #11253 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-support/boost/boost.inc | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 4ff70e3..f85e1d1 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -28,12 +28,15 @@ BOOST_LIBS = "\
 	wave \
 	"
 
-# only supported by x86 and powerpc
+# Enable context only on platforms we've verified it builds on
+BOOST_LIBS_append_arm = " context coroutine"
+BOOST_LIBS_append_arm-64 = " context coroutine"
+BOOST_LIBS_append_powerpc = " context coroutine"
 BOOST_LIBS_append_x86 = " context coroutine"
 BOOST_LIBS_append_x86-64 = " context coroutine"
-BOOST_LIBS_append_powerpc = " context coroutine"
 # need consistent settings for native builds (x86 override not applied for native)
 BOOST_LIBS_remove_class-native = " context coroutine"
+
 # does not compile
 BOOST_LIBS_remove_mips16e = "wave"
 
@@ -168,7 +171,9 @@ BJAM_OPTS    = '${BOOST_PARALLEL_MAKE} -d+2 -q \
 # Native compilation of bzip2 isn't working
 BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
 
-# Adjust the build for x32
+# Teach bjam how to build as it ignores the compiler flags we pass
+BJAM_OPTS_append_arm += " abi=aapcs binary-format=elf address-model=32 architecture=arm"
+BJAM_OPTS_append_arm-64 += " abi=aapcs binary-format=elf address-model=64 architecture=arm"
 BJAM_OPTS_append_linux-gnux32 = " abi=x32 address-model=64"
 
 do_configure() {
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] boost: enable more libraries
  2017-03-27 15:26 [PATCH 1/2] boost: build context and coroutine on ARM Ross Burton
@ 2017-03-27 15:26 ` Ross Burton
  2017-03-28  7:53 ` [PATCH 1/2] boost: build context and coroutine on ARM Richard Purdie
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2017-03-27 15:26 UTC (permalink / raw)
  To: openembedded-core

Enable the fiber, metaparse, and type_erasure libraries.

We can't enable coroutine2 as it needs C++11 and it appears our hacks to
configure the compiler mean boost doesn't think we support that.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-support/boost/boost.inc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index f85e1d1..100fb0d 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -5,17 +5,21 @@ DEPENDS = "bjam-native zlib bzip2"
 ARM_INSTRUCTION_SET_armv4 = "arm"
 ARM_INSTRUCTION_SET_armv5 = "arm"
 
+# When we don't insist that our GCC is 4.3.1 (see below) hopefully coroutine2
+# (which needs C++11) will work.
 BOOST_LIBS = "\
 	atomic \
 	chrono \
 	container \
 	date_time \
 	exception \
+	fiber \
 	filesystem \
 	graph \
 	iostreams \
 	log \
 	math \
+	metaparse \
 	program_options \
 	random \
 	regex \
@@ -24,6 +28,7 @@ BOOST_LIBS = "\
 	system \
 	timer \
 	test \
+	type_erasure \
 	thread \
 	wave \
 	"
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] boost: build context and coroutine on ARM
  2017-03-27 15:26 [PATCH 1/2] boost: build context and coroutine on ARM Ross Burton
  2017-03-27 15:26 ` [PATCH 2/2] boost: enable more libraries Ross Burton
@ 2017-03-28  7:53 ` Richard Purdie
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Purdie @ 2017-03-28  7:53 UTC (permalink / raw)
  To: Ross Burton, openembedded-core

On Mon, 2017-03-27 at 16:26 +0100, Ross Burton wrote:
> With the right flags to the build, the context library can be built
> on ARM.
> 
> [ YOCTO #11253 ]
> 
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  meta/recipes-support/boost/boost.inc | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)

Sorry, but:

https://autobuilder.yocto.io/builders/nightly-arm/builds/270
https://autobuilder.yocto.io/builders/nightly-arm-lsb/builds/218

Cheers,

Richard


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-28  7:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-27 15:26 [PATCH 1/2] boost: build context and coroutine on ARM Ross Burton
2017-03-27 15:26 ` [PATCH 2/2] boost: enable more libraries Ross Burton
2017-03-28  7:53 ` [PATCH 1/2] boost: build context and coroutine on ARM Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox