aboutsummaryrefslogtreecommitdiff
path: root/package/boost
diff options
context:
space:
mode:
Diffstat (limited to 'package/boost')
-rw-r--r--package/boost/0001-fenv.patch (renamed from package/boost/0002-fenv.patch)0
-rw-r--r--package/boost/0001-fix-uclibc-eventfd.patch38
-rw-r--r--package/boost/Config.in36
-rw-r--r--package/boost/boost.hash2
-rw-r--r--package/boost/boost.mk16
5 files changed, 44 insertions, 48 deletions
diff --git a/package/boost/0002-fenv.patch b/package/boost/0001-fenv.patch
index 9dc7848c93..9dc7848c93 100644
--- a/package/boost/0002-fenv.patch
+++ b/package/boost/0001-fenv.patch
diff --git a/package/boost/0001-fix-uclibc-eventfd.patch b/package/boost/0001-fix-uclibc-eventfd.patch
deleted file mode 100644
index 1b7eb8723c..0000000000
--- a/package/boost/0001-fix-uclibc-eventfd.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Use eventfd() function with uClibc
-
-The Boost eventfd code either directly makes the eventfd system call
-using __NR_eventfd (when __GLIBC_MINOR is less than 8), or otherwise
-uses the eventfd() function provided by the C library.
-
-However, since uClibc pretends to be glibc 2.2, the Boost eventfd code
-directly uses the system call. While it works fine on most
-architectures, it doesn't on ARC since __NR_eventfd is not defined on
-this architecture. However, eventfd() is properly implemented.
-
-So, this patch adjusts the logic used by Boost to consider uClibc as a
-C library providing the eventfd() function.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-===================================================================
---- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-@@ -23,7 +23,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <fcntl.h>
--#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
- # include <asm/unistd.h>
- #else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
- # include <sys/eventfd.h>
-@@ -46,7 +46,7 @@
-
- void eventfd_select_interrupter::open_descriptors()
- {
--#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
- write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
- if (read_descriptor_ != -1)
- {
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 121650b8bc..9248c574f4 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -52,6 +52,7 @@ config BR2_PACKAGE_BOOST_LAYOUT
config BR2_PACKAGE_BOOST_ATOMIC
bool "boost-atomic"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
help
C++11-style atomic<>.
@@ -82,6 +83,8 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
config BR2_PACKAGE_BOOST_CONTEXT
bool "boost-context"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+ || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
@@ -101,6 +104,7 @@ comment "boost-contract needs a toolchain w/ NPTL"
config BR2_PACKAGE_BOOST_COROUTINE
bool "boost-coroutine"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
select BR2_PACKAGE_BOOST_CHRONO
select BR2_PACKAGE_BOOST_CONTEXT
@@ -113,6 +117,7 @@ config BR2_PACKAGE_BOOST_COROUTINE
comment "boost-coroutine needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_DATE_TIME
@@ -135,6 +140,8 @@ config BR2_PACKAGE_BOOST_FIBER
# mips support uses the "pause" instruction, only available
# since mips32r2/mips64r2.
depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+ || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
select BR2_PACKAGE_BOOST_CONTEXT
select BR2_PACKAGE_BOOST_FILESYSTEM
@@ -144,10 +151,14 @@ config BR2_PACKAGE_BOOST_FIBER
comment "boost-fiber needs a toolchain w/ NPTL"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+ || BR2_TOOLCHAIN_GCC_AT_LEAST_6
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+ || BR2_TOOLCHAIN_GCC_AT_LEAST_6
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_FILESYSTEM
@@ -178,6 +189,16 @@ config BR2_PACKAGE_BOOST_IOSTREAMS
Boost.IOStreams provides a framework for defining streams,
stream buffers and i/o filters.
+config BR2_PACKAGE_BOOST_JSON
+ bool "boost-json"
+ select BR2_PACKAGE_BOOST_CONTAINER
+ help
+ Boost.JSON is a portable C++ library which provides containers
+ and algorithms that implement JavaScript Object Notation, or
+ simply "JSON", a lightweight data-interchange format.
+
+ To use the library "header-only" this option is not needed.
+
config BR2_PACKAGE_BOOST_LOCALE
bool "boost-locale"
# When boost-locale is enabled with icu support, Boost no
@@ -190,6 +211,8 @@ config BR2_PACKAGE_BOOST_LOCALE
# details.
depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+ || !BR2_PACKAGE_ICU # boost-thread
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -197,16 +220,19 @@ config BR2_PACKAGE_BOOST_LOCALE
Provide localization and Unicode handling tools for C++.
comment "boost-locale needs a toolchain w/ dynamic library"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_PACKAGE_ICU
depends on BR2_STATIC_LIBS
comment "boost-locale needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_PACKAGE_ICU
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_LOG
bool "boost-log"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_DATE_TIME
@@ -218,6 +244,7 @@ config BR2_PACKAGE_BOOST_LOG
Logging library.
comment "boost-log needs a toolchain w/ NPTL"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
comment "boost-log needs a toolchain not affected by GCC bug 64735"
@@ -253,6 +280,11 @@ config BR2_PACKAGE_BOOST_MPI
Message Passing Interface library, for use in
distributed-memory parallel application programming.
+config BR2_PACKAGE_BOOST_NOWIDE
+ bool "boost-nowide"
+ help
+ Library for cross-platform, unicode aware programming.
+
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
bool "boost-program_options"
help
@@ -313,8 +345,8 @@ config BR2_PACKAGE_BOOST_TEST
config BR2_PACKAGE_BOOST_THREAD
bool "boost-thread"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
- select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
select BR2_PACKAGE_BOOST_CHRONO
select BR2_PACKAGE_BOOST_SYSTEM
help
@@ -332,6 +364,7 @@ config BR2_PACKAGE_BOOST_TIMER
config BR2_PACKAGE_BOOST_TYPE_ERASURE
bool "boost-type_erasure"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
@@ -346,6 +379,7 @@ config BR2_PACKAGE_BOOST_WAVE
# limitation of assembler for coldfire
# error: Tried to convert PC relative branch to absolute jump
depends on !BR2_m68k_cf
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
diff --git a/package/boost/boost.hash b/package/boost/boost.hash
index d11232f5a9..e6d44a76b6 100644
--- a/package/boost/boost.hash
+++ b/package/boost/boost.hash
@@ -1,5 +1,5 @@
# From https://www.boost.org/users/history/version_1_74_0.html
-sha256 83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1 boost_1_74_0.tar.bz2
+sha256 953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost_1_75_0.tar.bz2
# Locally computed
sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 82fe42d6b2..b8f90bb836 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -4,23 +4,21 @@
#
################################################################################
-BOOST_VERSION = 1.74.0
+BOOST_VERSION = 1.75.0
BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
BOOST_SITE = https://dl.bintray.com/boostorg/release/$(BOOST_VERSION)/source
BOOST_INSTALL_STAGING = YES
BOOST_LICENSE = BSL-1.0
BOOST_LICENSE_FILES = LICENSE_1_0.txt
-
-# CVE-2009-3654 is misclassified (by our CVE tracker) as affecting to boost,
-# while in fact it affects Drupal (a module called boost in there).
-BOOST_IGNORE_CVES += CVE-2009-3654
+BOOST_CPE_ID_VENDOR = boost
# keep host variant as minimal as possible
HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
--without-libraries=$(subst $(space),$(comma),atomic chrono context \
- contract coroutine date_time exception filesystem graph graph_parallel \
- iostreams locale log math mpi program_options python random regex \
- serialization system test thread timer type_erasure wave)
+ contract container coroutine date_time exception fiber filesystem graph \
+ graph_parallel iostreams json locale log math mpi nowide program_options \
+ python random regex serialization stacktrace system test thread timer \
+ type_erasure wave)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
@@ -35,10 +33,12 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)