Config.in 13 KB

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