package/boost: bump to version 1.59.0
PATCH 1/3 package/boost: bump to version 1.59.0
Also:
* remove patch "gcc.jam compiler options fix" - merged upstream
* renumber patch "fix uclibc eventfd".
---
...eventfd.patch => 0002-fix-uclibc-eventfd.patch} | 0
.../boost/0002-gcc.jam-compiler-options-fix.patch | 37 ----------------------
package/boost/boost.hash | 6 ++--
package/boost/boost.mk | 2 +-
4 files changed, 4 insertions(+), 41 deletions(-)
rename package/boost/{0004-fix-uclibc-eventfd.patch => 0002-fix-uclibc-eventfd.patch} (100%)
delete mode 100644 package/boost/0002-gcc.jam-compiler-options-fix.patchpackage/boost/0002-fix-uclibc-eventfd.patch renamed from package/boost/0004-fix-uclibc-eventfd.patch +0 -0
package/boost/0002-gcc.jam-compiler-options-fix.patch deleted +0 -37
@@ -1,37 +0,0 @@ -From a891e48ed0b647b7bf550ad1d179398b23d0726e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]> -Date: Sat, 2 May 2015 13:47:54 +0200 -Subject: [PATCH] gcc.jam compiler options fix -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Only PowerPC, SPARC, and x86 do support the -m32 and -m64 compiler options [1]. - -Rather then excluding all architectures not supporting these options as it is -done in commit c0634341d9ee2c02d3a55c91dafb988afc066c49 [2], include all -architectures that do support them. - -[1] https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html -[2] https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49 - -Signed-off-by: J?rg Krause <[email protected]> ---- - src/tools/gcc.jam | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index db04534..fbe8ab0 100644 ---- a/tools/build/src/tools/gcc.jam -+++ b/tools/build/src/tools/gcc.jam -@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * ) - else - { - local arch = [ feature.get-values architecture : $(properties) ] ; -- if $(arch) != arm -+ if $(arch) = power || $(arch) = sparc || $(arch) = x86 - { - if $(model) = 32 - { --- -2.3.7
package/boost/boost.hash +3 -3
@@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/boost/files/boost/1.58.0/ -md5 b8839650e61e9c1c0a89f371dd475546 boost_1_58_0.tar.bz2 -sha1 2fc96c1651ac6fe9859b678b165bd78dc211e881 boost_1_58_0.tar.bz2 +# From http://sourceforge.net/projects/boost/files/boost/1.59.0/ +md5 6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2 +sha1 b94de47108b2cdb0f931833a7a9834c2dd3ca46e boost_1_59_0.tar.bz2
package/boost/boost.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.58.0 +BOOST_VERSION = 1.59.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) BOOST_INSTALL_STAGING = YES
Signature · 1 line
2.6.4
PATCH 2/3 package/boost: fix space tabs
--- package/boost/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/boost/Config.in +2 -2
@@ -75,8 +75,8 @@ config BR2_PACKAGE_BOOST_CONTEXT || BR2_powerpc || BR2_x86_64) config BR2_PACKAGE_BOOST_COROUTINE - bool "boost-coroutine" - depends on BR2_PACKAGE_BOOST_CONTEXT + bool "boost-coroutine" + depends on BR2_PACKAGE_BOOST_CONTEXT config BR2_PACKAGE_BOOST_DATE_TIME bool "boost-date_time"
Signature · 1 line
2.6.4
PATCH 2/3 package/boost: fix space tabs
Dear J?rg Krause,
Quoted 1 line · J?rg Krause
Signed-off-by J?rg Krause <[email protected]>
Regards,
Vincent.
PATCH 3/3 package/boost: add library coroutine2
In reply to Jörg KrauseCoroutine2 is a new (C++14) library added in boost 1.59.0. We also add coroutine2 to the '--without-libraries' configuration flag for the host variant.
Build successfully tested with Arago ARMv5 2011.09 - a gcc v4.5.3 toolchain.
--- package/boost/Config.in | 4 ++++ package/boost/boost.mk | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-)
package/boost/Config.in +4 -0
@@ -78,6 +78,10 @@ config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT +config BR2_PACKAGE_BOOST_COROUTINE2 + bool "boost-coroutine2" + depends on BR2_PACKAGE_BOOST_CONTEXT + config BR2_PACKAGE_BOOST_DATE_TIME bool "boost-date_time"
package/boost/boost.mk +4 -3
@@ -16,15 +16,16 @@ HOST_BOOST_DEPENDENCIES = # keep host variant as minimal as possible HOST_BOOST_FLAGS = --without-icu \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ - coroutine date_time exception filesystem graph graph_parallel \ - iostreams locale log math mpi program_options python random regex \ - serialization signals system test thread timer wave) + coroutine coroutine2 date_time exception filesystem graph \ + graph_parallel iostreams locale log math mpi program_options python \ + random regex serialization signals system test thread timer wave) 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_COROUTINE2),,coroutine2) 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
2.6.4
PATCH 3/3 package/boost: add library coroutine2
Dear J?rg Krause,
I was trying to test your patch and I have noticed that despite of having coroutine2 selected...
BR2_PACKAGE_BOOST_COROUTINE2=y
...there isn't any libboost_coroutine2.so file installed on target. Is that normal?
Regards,
Vincent.
Quoted 52 lines · J?rg Krause
Coroutine2 is a new (C++14) library added in boost 1.59.0. We also add coroutine2 to the '--without-libraries' configuration flag for the host variant.
Build successfully tested with Arago ARMv5 2011.09 - a gcc v4.5.3 toolchain.
Signed-off-by J?rg Krause <[email protected]>--- package/boost/Config.in | 4 ++++ package/boost/boost.mk | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-)package/boost/Config.in +4
-0@@ -78,6 +78,10 @@ config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT +config BR2_PACKAGE_BOOST_COROUTINE2 + bool "boost-coroutine2" + depends on BR2_PACKAGE_BOOST_CONTEXT + config BR2_PACKAGE_BOOST_DATE_TIME bool "boost-date_time"package/boost/boost.mk +4
-3@@ -16,15 +16,16 @@ HOST_BOOST_DEPENDENCIES = # keep host variant as minimal as possible HOST_BOOST_FLAGS = --without-icu \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ - coroutine date_time exception filesystem graph graph_parallel \ - iostreams locale log math mpi program_options python random regex \ - serialization signals system test thread timer wave) + coroutine coroutine2 date_time exception filesystem graph \ + graph_parallel iostreams locale log math mpi program_options python \ + random regex serialization signals system test thread timer wave) 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_COROUTINE2),,coroutine2) 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)
PATCH 3/3 package/boost: add library coroutine2
Vicente,
Quoted 7 lines · Vicente Olivert Riera
I was trying to test your patch and I have noticed that despite of having coroutine2 selected...
BR2_PACKAGE_BOOST_COROUTINE2=y
...there isn't any libboost_coroutine2.so file installed on target. Is that normal?
The vast majority of Boost "libraries" are not libraries in the .so sense, but purely header based libraries, i.e just a bunch of .h with very complicated C++ code.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 3/3 package/boost: add library coroutine2
Hi Thomas,
Quoted 7 lines · Thomas Petazzoni
Vicente,
Quoted 3 lines · Vicente Olivert Riera
I was trying to test your patch and I have noticed that despite of having coroutine2 selected...
Quoted 8 lines
Quoted 4 lines
BR2_PACKAGE_BOOST_COROUTINE2=y
...there isn't any libboost_coroutine2.so file installed on target. Is that normal?
The vast majority of Boost "libraries" are not libraries in the .so sense, but purely header based libraries, i.e just a bunch of .h with very complicated C++ code.
But there is a libboost_coroutine.so library, that's why I asked. Is it expected to have a lib for coroutine and not for coroutine2? That's my doubt.
Regards,
Vincent.
Quoted 3 lines
Thomas
PATCH 3/3 package/boost: add library coroutine2
Hi Vicente,
Hi Thomas,
Quoted 22 lines · Vicente Olivert Riera
Hi Thomas,
Quoted 10 lines · Thomas Petazzoni
Vicente,
Quoted 6 lines · Vicente Olivert Riera
I was trying to test your patch and I have noticed that despite of
having coroutine2 selected...BR2_PACKAGE_BOOST_COROUTINE2=y
Quoted 8 lines
Quoted 3 lines
...there isn't any libboost_coroutine2.so file installed on target. Is
that normal?The vast majority of Boost "libraries" are not libraries in the .so sense, but purely header based libraries, i.e just a bunch of .h with
very complicated C++ code.
Quoted 5 lines
But there is a libboost_coroutine.so library, that's why I asked. Is it
expected to have a lib for coroutine and not for coroutine2? That's my
doubt.
The Jamfile for coroutine contains:
lib boost_coroutine
????: detail/coroutine_context.cpp ??????exceptions.cpp
??????stack_traits_sources
????: <link>shared:<library>../../context/build//boost_context ??????<link>shared:<library>../../system/build//boost_system ??????<link>shared:<library>../../thread/build//boost_thread ????;
While the Jamfile for coroutine2 contains:
lib boost_coroutine2
????:
????: <link>shared:<library>../../context/build//boost_context ????;
So, coroutine has some sources to link with, while coroutine2 does not. Also, look at the config.hpp in coroutine2:
#if (defined(BOOST_ALL_DYN_LINK) ||
defined(BOOST_COROUTINES2_DYN_LINK) ) && !
defined(BOOST_COROUTINES2_STATIC_LINK)
# if defined(BOOST_COROUTINES2_SOURCE)
#??define BOOST_COROUTINES2_DECL BOOST_SYMBOL_EXPORT
#??define BOOST_COROUTINES2_BUILD_DLL
# else
#??define BOOST_COROUTINES2_DECL BOOST_SYMBOL_IMPORT
# endif
#endif
#if ! defined(BOOST_COROUTINES2_DECL)
# define BOOST_COROUTINES2_DECL
#endif
#if ! defined(BOOST_COROUTINES2_SOURCE) && !
defined(BOOST_ALL_NO_LIB) && ! defined(BOOST_COROUTINES2_NO_LIB)
# define BOOST_LIB_NAME boost_coroutine
# if defined(BOOST_ALL_DYN_LINK) ||
defined(BOOST_COROUTINES2_DYN_LINK)
#??define BOOST_DYN_LINK
# endif
# include <boost/config/auto_link.hpp>
#endifFor coroutine a library name is defined, for coroutine2 not.
J?rg
PATCH 3/3 package/boost: add library coroutine2
Quoted 30 lines · J?rg Krause
Hi Vicente,
Hi Thomas,Also, look at the config.hpp in coroutine2:
????#if (
defined(BOOST_ALL_DYN_LINK)|| ????defined(BOOST_COROUTINES2_DYN_LINK) ) && ! ????defined(BOOST_COROUTINES2_STATIC_LINK) ????# ifdefined(BOOST_COROUTINES2_SOURCE)????#??defineBOOST_COROUTINES2_DECLBOOST_SYMBOL_EXPORT????#??defineBOOST_COROUTINES2_BUILD_DLL
????# else
????#??defineBOOST_COROUTINES2_DECLBOOST_SYMBOL_IMPORT????# endif
????#endif????#if !
defined(BOOST_COROUTINES2_DECL)
????# defineBOOST_COROUTINES2_DECL
????#endif????#if !
defined(BOOST_COROUTINES2_SOURCE)&& ! ????defined(BOOST_ALL_NO_LIB) && !defined(BOOST_COROUTINES2_NO_LIB)????# defineBOOST_LIB_NAMEboost_coroutine
????# ifdefined(BOOST_ALL_DYN_LINK)|| ????defined(BOOST_COROUTINES2_DYN_LINK)
????#??defineBOOST_DYN_LINK
????# endif
????# include <boost/config/auto_link.hpp>
????#endif
Quoted 1 line
For coroutine a library name is defined, for coroutine2 not.
Sorry, I got this wrong.
What I really meant is that there would be no library name boost_coroutine2, but one named boost_coroutine, but only in case it is built. Since coroutine2 is just a bunch of header files as Thomas explained, no shared library named boost_coroutine is built at all.
J?rg
PATCH 3/3 package/boost: add library coroutine2
Dear J?rg Krause,
Quoted 33 lines · J?rg Krause
Quoted 30 lines · J?rg Krause
Hi Vicente,
Hi Thomas,Also, look at the config.hpp in coroutine2:
#if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) ) && ! defined(BOOST_COROUTINES2_STATIC_LINK) # if defined(BOOST_COROUTINES2_SOURCE) # define BOOST_COROUTINES2_DECL BOOST_SYMBOL_EXPORT # define BOOST_COROUTINES2_BUILD_DLL # else # define BOOST_COROUTINES2_DECL BOOST_SYMBOL_IMPORT # endif #endif #if ! defined(BOOST_COROUTINES2_DECL) # define BOOST_COROUTINES2_DECL #endif #if ! defined(BOOST_COROUTINES2_SOURCE) && ! defined(BOOST_ALL_NO_LIB) && ! defined(BOOST_COROUTINES2_NO_LIB) # define BOOST_LIB_NAME boost_coroutine # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) # define BOOST_DYN_LINK # endif # include <boost/config/auto_link.hpp> #endifQuoted 1 line
For coroutine a library name is defined, for coroutine2 not.
Quoted 9 lines
Sorry, I got this wrong.
What I really meant is that there would be no library name
boost_coroutine2, but one namedboost_coroutine, but only in case it is built. Since coroutine2 is just a bunch of header files as Thomas explained, no shared library namedboost_coroutineis built at all.J?rg
understood, thanks for the clarification. Here you have my...
$ find output/staging/usr/include/boost/coroutine2/ -type f output/staging/usr/include/boost/coroutine2/detail/pull_coroutine.ipp output/staging/usr/include/boost/coroutine2/detail/pull_control_block.hpp output/staging/usr/include/boost/coroutine2/detail/push_control_block.hpp ...
Regards,
Vincent.
PATCH 1/3 package/boost: bump to version 1.59.0
In reply to Jörg KrauseDear J?rg Krause,
Quoted 5 lines · J?rg Krause
Also:
* remove patch "gcc.jam compiler options fix" - merged upstream
* renumber patch "fix uclibc eventfd".Signed-off-by J?rg Krause <[email protected]>
Build test for MIPS architecture:
$ file output/target/usr/lib/libboost_atomic.so.1.59.0 output/target/usr/lib/libboost_atomic.so.1.59.0: ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, stripped
Regards,
Vincent.
PATCH 1/3 package/boost: bump to version 1.59.0
In reply to Jörg KrauseDear J?rg Krause,
Quoted 5 lines · J?rg Krause
Also:
* remove patch "gcc.jam compiler options fix" - merged upstream
* renumber patch "fix uclibc eventfd".Signed-off-by J?rg Krause <[email protected]>
Quoted 8 lines
---
...eventfd.patch => 0002-fix-uclibc-eventfd.patch} | 0
.../boost/0002-gcc.jam-compiler-options-fix.patch | 37 ----------------------
package/boost/boost.hash | 6 ++--
package/boost/boost.mk | 2 +-
4 files changed, 4 insertions(+), 41 deletions(-)
rename package/boost/{0004-fix-uclibc-eventfd.patch => 0002-fix-uclibc-eventfd.patch} (100%)
delete mode 100644 package/boost/0002-gcc.jam-compiler-options-fix.patchAll three patches merged, thanks! And thanks to Vicente for the review/testing.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/3 package/boost: bump to version 1.59.0
In reply to Jörg KrauseDear J?rg Krause,
Quoted 5 lines · J?rg Krause
Also:
* remove patch "gcc.jam compiler options fix" - merged upstream
* renumber patch "fix uclibc eventfd".Signed-off-by J?rg Krause <[email protected]>
I am not sure if it is related to the version bump or not, but boost is causing some build issues:
http://autobuild.buildroot.org/?reason=boost-1.59.0
Could you have a look ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/3 package/boost: bump to version 1.59.0
Dear Thomas,
Quoted 9 lines · Thomas Petazzoni
Dear J?rg Krause,
Quoted 5 lines · J?rg Krause
Also:
* remove patch "gcc.jam compiler options fix" - merged upstream
* renumber patch "fix uclibc eventfd".Signed-off-by J?rg Krause <[email protected]>
Quoted 7 lines
I am not sure if it is related to the version bump or not, but boost is
causing some build issues:???http://autobuild.buildroot.org/?reason=boost-1.59.0
Could you have a look ?
Actually, I already had two days ago :-)
From [1]:
<fenv.h> exists, but does not define FE_DIVBYZERO and co. Is this true for all uclibc-based toolchains or is it dependent of the architecture?
[1]?http://lists.busybox.net/pipermail/buildroot/2015-December/146851.h tml