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 config BR2_PACKAGE_BOOST_ATOMIC bool "boost-atomic" depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS help C++11-style atomic<>. config BR2_PACKAGE_BOOST_CHRONO bool "boost-chrono" select BR2_PACKAGE_BOOST_SYSTEM help Useful time utilities. C++11. config BR2_PACKAGE_BOOST_CONTAINER bool "boost-container" help Standard library containers and extensions. # see # http://www.boost.org/doc/libs/1_78_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_ARCH_SUPPORTS bool default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) default y if (BR2_aarch64 || BR2_aarch64_be) default y if BR2_i386 default y if BR2_mips default y if BR2_mipsel default y if BR2_powerpc default y if BR2_x86_64 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 C++11 context switching library. config BR2_PACKAGE_BOOST_CONTRACT bool "boost-contract" # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_BOOST_SYSTEM help Contract programming for C++. comment "boost-contract needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_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 select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help deprecated coroutine library, the non-depricated coroutine2 library is a header-only library and does not need to be selected. 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 bool "boost-date_time" help A set of date-time libraries based on generic programming concepts. config BR2_PACKAGE_BOOST_EXCEPTION bool "boost-exception" help The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads. config BR2_PACKAGE_BOOST_FIBER bool "boost-fiber" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # 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 # boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM help C++11 userland threads library. 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 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 bool "boost-filesystem" depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_SYSTEM help The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. config BR2_PACKAGE_BOOST_GRAPH bool "boost-graph" select BR2_PACKAGE_BOOST_REGEX help The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). config BR2_PACKAGE_BOOST_GRAPH_PARALLEL bool "boost-graph_parallel" help The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). config BR2_PACKAGE_BOOST_IOSTREAMS bool "boost-iostreams" select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_ZLIB help 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 # 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) 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 help 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 select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help 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" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_MATH bool "boost-math" help Boost.Math includes several contributions in the domain of mathematics: The Greatest Common Divisor and Least Common Multiple library provides run-time and compile-time evaluation of the greatest common divisor (GCD) or least common multiple (LCM) of two integers. The Special Functions library currently provides eight templated special functions, in namespace boost. The Complex Number Inverse Trigonometric Functions are the inverses of trigonometric functions currently present in the C++ standard. Quaternions are a relative of complex numbers often used to parameterise rotations in three dimentional space. Octonions, like quaternions, are a relative of complex numbers. config BR2_PACKAGE_BOOST_MPI bool "boost-mpi" help 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 The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file. config BR2_PACKAGE_BOOST_PYTHON bool "boost-python" depends on BR2_PACKAGE_PYTHON3 help The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler. config BR2_PACKAGE_BOOST_RANDOM bool "boost-random" select BR2_PACKAGE_BOOST_SYSTEM help A complete system for random number generation. config BR2_PACKAGE_BOOST_REGEX bool "boost-regex" help A new infrastructure for generic algorithms that builds on top of the new iterator concepts. config BR2_PACKAGE_BOOST_SERIALIZATION bool "boost-serialization" help Serialization for persistence and marshalling. config BR2_PACKAGE_BOOST_STACKTRACE bool "boost-stacktrace" depends on !BR2_STATIC_LIBS help Gather, store, copy and print backtraces. comment "boost-stacktrace needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS config BR2_PACKAGE_BOOST_SYSTEM bool "boost-system" help Operating system support, including the diagnostics support that will be part of the C++0x standard library. config BR2_PACKAGE_BOOST_TEST bool "boost-test" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_TIMER help Support for simple program testing, full unit testing, and for program execution monitoring. 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_CHRONO select BR2_PACKAGE_BOOST_SYSTEM help Portable C++ multi-threading. C++11, C++14. comment "boost-thread needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_TIMER bool "boost-timer" select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_SYSTEM help Event timer, progress timer, and progress display classes. 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 help Runtime polymorphism based on concepts. comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 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 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 select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help The Boost.Wave library is a Standards conformant, and highly configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface. comment "boost-wave needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 endif