![Jörg Krause](/assets/img/avatar_default.png)
Building boosts module context is affected by GCC bug 64735 [1]: ``` ./boost/context/execution_context_v2.hpp:298:31: error: 'exception_ptr' is not a member of 'std' auto p = std::make_tuple( std::exception_ptr{}, std::move( data) ); ``` This is because `exception_ptr` from libstdc++ is not available for architectures not supporting always lock-free atomic ints. Note, that this bug is fixed in GCC 7. Fixes: http://autobuild.buildroot.net/results/f4e/f4e8a3727f19f7df4a1c45efe3603422fafd4af5/ [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735 Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
181 lines
4.8 KiB
Plaintext
181 lines
4.8 KiB
Plaintext
comment "boost needs a toolchain w/ C++, threads, wchar"
|
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
|
|
|
config BR2_PACKAGE_BOOST
|
|
bool "boost"
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
# Boost could theorically be built with threading=single, but
|
|
# that unfortunately doesn't work. Until someone fixes that,
|
|
# let's depend on threads.
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_USE_WCHAR
|
|
help
|
|
A general purpose C++ library
|
|
|
|
http://www.boost.org/
|
|
|
|
if BR2_PACKAGE_BOOST
|
|
|
|
choice
|
|
prompt "Layout"
|
|
default BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
|
help
|
|
Selects the layout of Boost binary names
|
|
|
|
config BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
|
bool "system"
|
|
help
|
|
Boost binary names do not include the Boost version number
|
|
or the name and version number of the compiler.
|
|
|
|
config BR2_PACKAGE_BOOST_LAYOUT_TAGGED
|
|
bool "tagged"
|
|
help
|
|
Boost binary names include the encoded build properties such
|
|
as variant and threading, but do not include compiler name
|
|
and version, or Boost version. This option is useful if you
|
|
build several variants of Boost, using the same compiler.
|
|
|
|
config BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
|
|
bool "versioned"
|
|
help
|
|
Boost binary names include the Boost version number, name
|
|
and version of the compiler and encoded build properties.
|
|
|
|
endchoice
|
|
|
|
config BR2_PACKAGE_BOOST_LAYOUT
|
|
string
|
|
default "system" if BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
|
default "tagged" if BR2_PACKAGE_BOOST_LAYOUT_TAGGED
|
|
default "versioned" if BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
|
|
|
|
config BR2_PACKAGE_BOOST_ATOMIC
|
|
bool "boost-atomic"
|
|
|
|
config BR2_PACKAGE_BOOST_CHRONO
|
|
bool "boost-chrono"
|
|
|
|
config BR2_PACKAGE_BOOST_CONTAINER
|
|
bool "boost-container"
|
|
|
|
# see
|
|
# http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/context/architectures.html
|
|
# for the list of supported architectures. Sparc pretends to be
|
|
# supported, but it doesn't build.
|
|
config BR2_PACKAGE_BOOST_CONTEXT
|
|
bool "boost-context"
|
|
depends on ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
|
|
BR2_i386 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64
|
|
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
|
|
|
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"
|
|
|
|
config BR2_PACKAGE_BOOST_EXCEPTION
|
|
bool "boost-exception"
|
|
|
|
config BR2_PACKAGE_BOOST_FILESYSTEM
|
|
bool "boost-filesystem"
|
|
|
|
config BR2_PACKAGE_BOOST_GRAPH
|
|
bool "boost-graph"
|
|
|
|
config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
|
|
bool "boost-graph_parallel"
|
|
|
|
config BR2_PACKAGE_BOOST_IOSTREAMS
|
|
bool "boost-iostreams"
|
|
select BR2_PACKAGE_BZIP2
|
|
select BR2_PACKAGE_ZLIB
|
|
|
|
config BR2_PACKAGE_BOOST_LOCALE
|
|
bool "boost-locale"
|
|
# When boost-locale is enabled with icu support, Boost no
|
|
# longer supports building the libboost_* libraries as static
|
|
# libraries, causing build failures when other boost features
|
|
# than boost-locale are enabled. To work around this, we
|
|
# prevent using boost-locale on static linking configurations
|
|
# with icu enabled. See
|
|
# https://svn.boost.org/trac/boost/ticket/9685 for more
|
|
# details.
|
|
depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
|
|
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
|
|
|
comment "boost-locale needs a toolchain w/ dynamic library"
|
|
depends on BR2_PACKAGE_ICU
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_BOOST_LOG
|
|
bool "boost-log"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
# for some reason, uClibc on PowerPC fails to build the boost
|
|
# log module
|
|
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
|
|
|
comment "boost-log needs a toolchain w/ NPTL"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
|
|
|
config BR2_PACKAGE_BOOST_MATH
|
|
bool "boost-math"
|
|
|
|
config BR2_PACKAGE_BOOST_METAPARSE
|
|
bool "boost-metaparse"
|
|
depends on BR2_USE_MMU # boost-test
|
|
select BR2_PACKAGE_BOOST_TEST
|
|
|
|
config BR2_PACKAGE_BOOST_MPI
|
|
bool "boost-mpi"
|
|
|
|
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
|
|
bool "boost-program_options"
|
|
|
|
config BR2_PACKAGE_BOOST_PYTHON
|
|
bool "boost-python"
|
|
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
|
|
|
|
config BR2_PACKAGE_BOOST_RANDOM
|
|
bool "boost-random"
|
|
|
|
config BR2_PACKAGE_BOOST_REGEX
|
|
bool "boost-regex"
|
|
|
|
config BR2_PACKAGE_BOOST_SERIALIZATION
|
|
bool "boost-serialization"
|
|
|
|
config BR2_PACKAGE_BOOST_SIGNALS
|
|
bool "boost-signals"
|
|
|
|
config BR2_PACKAGE_BOOST_SYSTEM
|
|
bool "boost-system"
|
|
|
|
config BR2_PACKAGE_BOOST_TEST
|
|
bool "boost-test"
|
|
depends on BR2_USE_MMU # fork()
|
|
|
|
config BR2_PACKAGE_BOOST_THREAD
|
|
bool "boost-thread"
|
|
|
|
config BR2_PACKAGE_BOOST_TIMER
|
|
bool "boost-timer"
|
|
|
|
config BR2_PACKAGE_BOOST_TYPE_ERASURE
|
|
bool "boost-type_erasure"
|
|
|
|
config BR2_PACKAGE_BOOST_WAVE
|
|
bool "boost-wave"
|
|
# limitation of assembler for coldfire
|
|
# error: Tried to convert PC relative branch to absolute jump
|
|
depends on !BR2_m68k_cf
|
|
|
|
endif
|