| 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" |
| 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_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_ARCH_SUPPORTS |
| bool |
| default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) |
| 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_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_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_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_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_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_HAS_GCC_BUG_64735 |
| |
| config BR2_PACKAGE_BOOST_FILESYSTEM |
| bool "boost-filesystem" |
| 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_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 |
| 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_PACKAGE_ICU |
| depends on BR2_STATIC_LIBS |
| |
| comment "boost-locale needs a toolchain not affected by GCC bug 64735" |
| 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_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_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_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_PYTHON || 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_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 |
| 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_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_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 |