kumquat-buildroot/package/boost/Config.in
Romain Naour 778ab4da4f package/boost: context module needs ARM instructions on ARM
The boost-context module contains ARM assembly code, which uses ARM
instructions. Therefore, on Thumb-2 only platforms (such as Cortex-M),
the following build error occurs:

libs/context/src/asm/make_arm_aapcs_elf_gas.S: Assembler messages:
libs/context/src/asm/make_arm_aapcs_elf_gas.S:33: Error: unshifted register required -- `bic a1,a1,#15'
libs/context/src/asm/make_arm_aapcs_elf_gas.S:42: Error: immediate value out of range

To avoid this error, we make the boost-context module depend on
BR2_ARM_CPU_HAS_ARM.

Fixes:

  http://autobuild.buildroot.net/results/8f6770b59a343b9f710e9363b43227ee9f026660

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: use BR2_ARM_CPU_HAS_ARM instead of a dependency on
!BR2_ARM_CPU_ARMV7M.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-02 22:49:01 +02:00

167 lines
4.2 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"
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
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
depends on BR2_USE_MMU # boost-test
select BR2_PACKAGE_BOOST_TEST
bool "boost-metaparse"
config BR2_PACKAGE_BOOST_MPI
bool "boost-mpi"
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
bool "boost-program_options"
config BR2_PACKAGE_BOOST_PYTHON
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
bool "boost-python"
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