[1/2] boost: build context and coroutine on ARM

Message ID 1490628365-5428-1-git-send-email-ross.burton@intel.com
State New
Headers show
Series
  • [1/2] boost: build context and coroutine on ARM
Related show

Commit Message

Ross Burton March 27, 2017, 3:26 p.m.
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(-)

-- 
2.8.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Richard Purdie March 28, 2017, 7:53 a.m. | #1
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

Patch

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() {