Skip to contentSkip to conversation

boost: add option to build boost_coroutine

PATCH New Edson Siqueira 2 participants 4 messages Nov 3, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 boost: add option to build boost_coroutine

It was disabled by default by commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 due to the upgrade to boost 1.54.0.

---
 package/boost/Config.in | 4 ++++
 package/boost/boost.mk  | 4 +---
 2 files changed, 5 insertions(+), 3 deletions(-)
package/boost/Config.in +4 -0
index ac70152..150174c 100644
@@ -70,6 +70,10 @@ config BR2_PACKAGE_BOOST_CONTEXT
 	depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel \
 			|| BR2_powerpc || BR2_sparc || BR2_x86_64)
 
+config BR2_PACKAGE_BOOST_COROUTINE
+        bool "boost-coroutine"
+        depends on BR2_PACKAGE_BOOST_CONTEXT
+
 config BR2_PACKAGE_BOOST_DATE_TIME
 	bool "boost-date_time"
 
package/boost/boost.mk +1 -3
index 16d05cd..80325b0 100644
@@ -20,13 +20,11 @@ HOST_BOOST_FLAGS = --without-icu \
 	iostreams locale log math mpi program_options python random regex \
 	serialization signals system test thread timer wave)
 
-# coroutine breaks on some weak toolchains and it's new for 1.54+
-BOOST_WITHOUT_FLAGS = coroutine
-
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 boost: add option to build boost_coroutine

Dear Edson Siqueira,

Quoted 4 lines · Edson Siqueira

It was disabled by default by commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 due to the upgrade to boost 1.54.0.

Thanks for your contribution. However, you don't explain why you think that the problems that lead to commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 have now been fixed. Can you give more details ? Have you tested the configurations pointed by the 611dfe6cb55ed72d7df3b7c102f4a723248a4037 commit log and verified that they now build fine with the coroutine module enabled ?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 boost: add option to build boost_coroutine

Hello Thomas Petazzoni,

At the time of commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037, this library was new to boost and being built regardless of the config. The fix was to always remove it from compilation to avoid problems with some compilers. Now, with a proper option, it should be possible to enable it only when the compiler supports the compilation of this library.

I've tested this patch using a ppc32 toolchain to build the library.

Thanks,

Quoted 17 lines · Thomas Petazzoni

Dear Edson Siqueira,

Quoted 4 lines · Edson Siqueira

It was disabled by default by commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 due to the upgrade to boost 1.54.0.

Thanks for your contribution. However, you don't explain why you think that the problems that lead to commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 have now been fixed. Can you give more details ? Have you tested the configurations pointed by the 611dfe6cb55ed72d7df3b7c102f4a723248a4037 commit log and verified that they now build fine with the coroutine module enabled ?

Thanks,

Thomas

Signature · 8 lines
Edson Siqueira

DATACOM
Projetista de Software Embarcado - P&D
Rua da Gl?ria, 251 - 8 ? andar - Centro C?vico - Curitiba, PR
Fone: +55 41 3089-3670
edson.siqueira at datacom.ind.br
www.datacom.ind.br
#3 lore raw

PATCH 1/1 boost: add option to build boost_coroutine

In reply to Edson Siqueira

Dear Edson Siqueira,

Quoted 8 lines · Edson Siqueira

It was disabled by default by commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 due to the upgrade to boost 1.54.0.

---
 package/boost/Config.in | 4 ++++
 package/boost/boost.mk  | 4 +---
 2 files changed, 5 insertions(+), 3 deletions(-)

Thanks, I've applied after doing a bit of research, and tweaking the commit log as follows:

boost: add option to build boost_coroutine

It was disabled by default by commit 611dfe6cb55ed72d7df3b7c102f4a723248a4037 because it caused some build failures on AArch64 and SuperH. However, the coroutine module needs the context module, which is only available on certain architectures.

We can therefore allow enabling the coroutine module, but only if the context module is available.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com