Config.in 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. comment "boost needs a toolchain w/ C++, threads, wchar"
  2. depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
  3. config BR2_PACKAGE_BOOST
  4. bool "boost"
  5. depends on BR2_INSTALL_LIBSTDCPP
  6. # Boost could theoretically be built with threading=single, but
  7. # that unfortunately doesn't work. Until someone fixes that,
  8. # let's depend on threads.
  9. depends on BR2_TOOLCHAIN_HAS_THREADS
  10. depends on BR2_USE_WCHAR
  11. help
  12. A general purpose C++ library
  13. http://www.boost.org/
  14. if BR2_PACKAGE_BOOST
  15. config BR2_PACKAGE_BOOST_ATOMIC
  16. bool "boost-atomic"
  17. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  18. help
  19. C++11-style atomic<>.
  20. config BR2_PACKAGE_BOOST_CHRONO
  21. bool "boost-chrono"
  22. select BR2_PACKAGE_BOOST_SYSTEM
  23. help
  24. Useful time utilities. C++11.
  25. config BR2_PACKAGE_BOOST_CONTAINER
  26. bool "boost-container"
  27. help
  28. Standard library containers and extensions.
  29. # see
  30. # http://www.boost.org/doc/libs/1_78_0/libs/context/doc/html/context/architectures.html
  31. # for the list of supported architectures. Sparc pretends to be
  32. # supported, but it doesn't build.
  33. config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  34. bool
  35. default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM)
  36. default y if (BR2_aarch64 || BR2_aarch64_be)
  37. default y if BR2_i386
  38. default y if BR2_mips
  39. default y if BR2_mipsel
  40. default y if BR2_powerpc
  41. default y if BR2_x86_64
  42. config BR2_PACKAGE_BOOST_CONTEXT
  43. bool "boost-context"
  44. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  45. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  46. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  47. help
  48. C++11 context switching library.
  49. comment "boost-context needs a toolchain w/ C++11, gcc>=4.8"
  50. depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  51. config BR2_PACKAGE_BOOST_CONTRACT
  52. bool "boost-contract"
  53. # pthread_condattr_setclock
  54. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  55. select BR2_PACKAGE_BOOST_SYSTEM
  56. help
  57. Contract programming for C++.
  58. comment "boost-contract needs a toolchain w/ NPTL"
  59. depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
  60. config BR2_PACKAGE_BOOST_COROUTINE
  61. bool "boost-coroutine"
  62. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  63. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
  64. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
  65. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
  66. select BR2_PACKAGE_BOOST_CHRONO
  67. select BR2_PACKAGE_BOOST_CONTEXT
  68. select BR2_PACKAGE_BOOST_SYSTEM
  69. select BR2_PACKAGE_BOOST_THREAD
  70. help
  71. deprecated coroutine library, the non-deprecated coroutine2
  72. library is a header-only library and does not need to be
  73. selected.
  74. comment "boost-coroutine needs a toolchain w/ C++11, gcc>=4.8"
  75. depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  76. comment "boost-coroutine needs a toolchain not affected by GCC bug 64735"
  77. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  78. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  79. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  80. config BR2_PACKAGE_BOOST_DATE_TIME
  81. bool "boost-date_time"
  82. help
  83. A set of date-time libraries based on generic programming
  84. concepts.
  85. config BR2_PACKAGE_BOOST_EXCEPTION
  86. bool "boost-exception"
  87. help
  88. The Boost Exception library supports transporting of arbitrary
  89. data in exception objects, and transporting of exceptions
  90. between threads.
  91. config BR2_PACKAGE_BOOST_FIBER
  92. bool "boost-fiber"
  93. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  94. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  95. # mips support uses the "pause" instruction, only available
  96. # since mips32r2/mips64r2.
  97. depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
  98. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
  99. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
  100. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  101. select BR2_PACKAGE_BOOST_CONTEXT
  102. select BR2_PACKAGE_BOOST_FILESYSTEM
  103. select BR2_PACKAGE_BOOST_SYSTEM
  104. help
  105. C++11 userland threads library.
  106. comment "boost-fiber needs a toolchain w/ NPTL, C++11, gcc>=4.8"
  107. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  108. depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
  109. || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  110. comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
  111. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  112. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  113. config BR2_PACKAGE_BOOST_FILESYSTEM
  114. bool "boost-filesystem"
  115. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
  116. select BR2_PACKAGE_BOOST_ATOMIC
  117. select BR2_PACKAGE_BOOST_SYSTEM
  118. help
  119. The Boost Filesystem Library provides portable facilities to
  120. query and manipulate paths, files, and directories.
  121. config BR2_PACKAGE_BOOST_GRAPH
  122. bool "boost-graph"
  123. select BR2_PACKAGE_BOOST_REGEX
  124. help
  125. The BGL graph interface and graph components are generic, in
  126. the same sense as the the Standard Template Library (STL).
  127. config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
  128. bool "boost-graph_parallel"
  129. help
  130. The PBGL graph interface and graph components are generic, in
  131. the same sense as the the Standard Template Library (STL).
  132. config BR2_PACKAGE_BOOST_IOSTREAMS
  133. bool "boost-iostreams"
  134. select BR2_PACKAGE_BZIP2
  135. select BR2_PACKAGE_ZLIB
  136. help
  137. Boost.IOStreams provides a framework for defining streams,
  138. stream buffers and i/o filters.
  139. config BR2_PACKAGE_BOOST_JSON
  140. bool "boost-json"
  141. select BR2_PACKAGE_BOOST_CONTAINER
  142. help
  143. Boost.JSON is a portable C++ library which provides containers
  144. and algorithms that implement JavaScript Object Notation, or
  145. simply "JSON", a lightweight data-interchange format.
  146. To use the library "header-only" this option is not needed.
  147. config BR2_PACKAGE_BOOST_LOCALE
  148. bool "boost-locale"
  149. # When boost-locale is enabled with icu support, Boost no
  150. # longer supports building the libboost_* libraries as static
  151. # libraries, causing build failures when other boost features
  152. # than boost-locale are enabled. To work around this, we
  153. # prevent using boost-locale on static linking configurations
  154. # with icu enabled. See
  155. # https://svn.boost.org/trac/boost/ticket/9685 for more
  156. # details.
  157. depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
  158. depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
  159. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
  160. || !BR2_PACKAGE_ICU # boost-thread
  161. select BR2_PACKAGE_BOOST_SYSTEM
  162. select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
  163. select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
  164. help
  165. Provide localization and Unicode handling tools for C++.
  166. comment "boost-locale needs a toolchain w/ dynamic library"
  167. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  168. depends on BR2_PACKAGE_ICU
  169. depends on BR2_STATIC_LIBS
  170. comment "boost-locale needs a toolchain not affected by GCC bug 64735"
  171. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  172. depends on BR2_PACKAGE_ICU
  173. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  174. config BR2_PACKAGE_BOOST_LOG
  175. bool "boost-log"
  176. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  177. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
  178. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  179. select BR2_PACKAGE_BOOST_ATOMIC
  180. select BR2_PACKAGE_BOOST_DATE_TIME
  181. select BR2_PACKAGE_BOOST_FILESYSTEM
  182. select BR2_PACKAGE_BOOST_REGEX
  183. select BR2_PACKAGE_BOOST_SYSTEM
  184. select BR2_PACKAGE_BOOST_THREAD
  185. help
  186. Logging library.
  187. comment "boost-log needs a toolchain w/ NPTL"
  188. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  189. depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
  190. comment "boost-log needs a toolchain not affected by GCC bug 64735"
  191. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  192. config BR2_PACKAGE_BOOST_MATH
  193. bool "boost-math"
  194. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
  195. help
  196. Boost.Math includes several contributions in the domain of
  197. mathematics:
  198. The Greatest Common Divisor and Least Common
  199. Multiple library provides run-time and compile-time evaluation
  200. of the greatest common divisor (GCD) or least common multiple
  201. (LCM) of two integers.
  202. The Special Functions library currently provides eight
  203. templated special functions, in namespace boost.
  204. The Complex Number Inverse Trigonometric Functions are the
  205. inverses of trigonometric functions currently present in the
  206. C++ standard.
  207. Quaternions are a relative of complex numbers often used to
  208. parameterise rotations in three dimensional space.
  209. Octonions, like quaternions, are a relative of complex
  210. numbers.
  211. comment "boost-math needs a toolchain w/ C++14, gcc>=5.0"
  212. depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
  213. config BR2_PACKAGE_BOOST_MPI
  214. bool "boost-mpi"
  215. help
  216. Message Passing Interface library, for use in
  217. distributed-memory parallel application programming.
  218. config BR2_PACKAGE_BOOST_NOWIDE
  219. bool "boost-nowide"
  220. help
  221. Library for cross-platform, unicode aware programming.
  222. config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
  223. bool "boost-program_options"
  224. help
  225. The program_options library allows program developers to
  226. obtain program options, that is (name, value) pairs from the
  227. user, via conventional methods such as command line and config
  228. file.
  229. config BR2_PACKAGE_BOOST_PYTHON
  230. bool "boost-python"
  231. depends on BR2_PACKAGE_PYTHON3
  232. help
  233. The Boost Python Library is a framework for interfacing Python
  234. and C++. It allows you to quickly and seamlessly expose C++
  235. classes functions and objects to Python, and vice-versa,
  236. using no special tools -- just your C++ compiler.
  237. config BR2_PACKAGE_BOOST_RANDOM
  238. bool "boost-random"
  239. select BR2_PACKAGE_BOOST_SYSTEM
  240. help
  241. A complete system for random number generation.
  242. config BR2_PACKAGE_BOOST_REGEX
  243. bool "boost-regex"
  244. help
  245. A new infrastructure for generic algorithms that builds on top
  246. of the new iterator concepts.
  247. config BR2_PACKAGE_BOOST_SERIALIZATION
  248. bool "boost-serialization"
  249. help
  250. Serialization for persistence and marshalling.
  251. config BR2_PACKAGE_BOOST_STACKTRACE
  252. bool "boost-stacktrace"
  253. depends on !BR2_STATIC_LIBS
  254. help
  255. Gather, store, copy and print backtraces.
  256. comment "boost-stacktrace needs a toolchain w/ dynamic library"
  257. depends on BR2_STATIC_LIBS
  258. config BR2_PACKAGE_BOOST_SYSTEM
  259. bool "boost-system"
  260. help
  261. Operating system support, including the diagnostics support
  262. that will be part of the C++0x standard library.
  263. config BR2_PACKAGE_BOOST_TEST
  264. bool "boost-test"
  265. depends on BR2_USE_MMU # fork()
  266. select BR2_PACKAGE_BOOST_SYSTEM
  267. select BR2_PACKAGE_BOOST_TIMER
  268. help
  269. Support for simple program testing, full unit testing, and for
  270. program execution monitoring.
  271. config BR2_PACKAGE_BOOST_THREAD
  272. bool "boost-thread"
  273. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  274. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
  275. select BR2_PACKAGE_BOOST_CHRONO
  276. select BR2_PACKAGE_BOOST_SYSTEM
  277. help
  278. Portable C++ multi-threading. C++11, C++14.
  279. comment "boost-thread needs a toolchain not affected by GCC bug 64735"
  280. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  281. config BR2_PACKAGE_BOOST_TIMER
  282. bool "boost-timer"
  283. select BR2_PACKAGE_BOOST_CHRONO
  284. select BR2_PACKAGE_BOOST_SYSTEM
  285. help
  286. Event timer, progress timer, and progress display classes.
  287. config BR2_PACKAGE_BOOST_TYPE_ERASURE
  288. bool "boost-type_erasure"
  289. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
  290. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  291. select BR2_PACKAGE_BOOST_SYSTEM
  292. select BR2_PACKAGE_BOOST_THREAD
  293. help
  294. Runtime polymorphism based on concepts.
  295. comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735"
  296. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  297. config BR2_PACKAGE_BOOST_URL
  298. bool "boost-url"
  299. help
  300. Boost.URL is a portable C++ library which provides containers
  301. and algorithms which model a "URL," more formally described
  302. using the Uniform Resource Identifier (URI) specification.
  303. This library understands the grammars related to URLs and
  304. provides functionality to validate, parse, examine, and
  305. modify urls, and apply normalization or resolution algorithms.
  306. To use the library "header-only" this option is not needed.
  307. config BR2_PACKAGE_BOOST_WAVE
  308. bool "boost-wave"
  309. # limitation of assembler for coldfire
  310. # error: Tried to convert PC relative branch to absolute jump
  311. depends on !BR2_m68k_cf
  312. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
  313. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  314. select BR2_PACKAGE_BOOST_DATE_TIME
  315. select BR2_PACKAGE_BOOST_FILESYSTEM
  316. select BR2_PACKAGE_BOOST_SYSTEM
  317. select BR2_PACKAGE_BOOST_THREAD
  318. help
  319. The Boost.Wave library is a Standards conformant, and highly
  320. configurable implementation of the mandated C99/C++
  321. preprocessor functionality packed behind an easy to use
  322. iterator interface.
  323. comment "boost-wave needs a toolchain not affected by GCC bug 64735"
  324. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  325. endif