5270553b90
Boost fails to build with the following error: error: Tried to build the target twice, with property sets having error: these incompatible properties: error: error: - <runtime-link>static <warnings>all error: - <runtime-link>shared <warnings>on when the following conditions are met: - BR2_STATIC_LIBS=y - BR2_PACKAGE_ICU=y - BR2_PACKAGE_BOOST_LOCALE=y - Another BR2_PACKAGE_BOOST_xyz option is enabled, which enables a feature not provided just by header files, but that requires building a library. In such a situation, Boost absolutely wants to build the libboost libraries as shared libraries. Not having boost-locale, or not having icu is sufficient to avoid the issue. So, as a simple work-around, we prevent from building boost-locale when icu and static linking are used. Fixes: http://autobuild.buildroot.net/results/c8f7aa85f5791d8ae8cf4b9085788adc5152286f/ Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Yegor Yefremov <yegorslists@googlemail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [Thomas: - only disable boost-locale when icu is enabled - improve commit log] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
180 lines
4.7 KiB
Plaintext
180 lines
4.7 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
|
|
|
|
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
|