Config.in 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  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 \
  123. || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread
  124. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
  125. select BR2_PACKAGE_BOOST_CONTEXT
  126. select BR2_PACKAGE_BOOST_FILESYSTEM
  127. select BR2_PACKAGE_BOOST_SYSTEM
  128. help
  129. C++11 userland threads library.
  130. comment "boost-fiber needs a toolchain w/ NPTL"
  131. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  132. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
  133. || BR2_TOOLCHAIN_GCC_AT_LEAST_6
  134. depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
  135. comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
  136. depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
  137. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
  138. || BR2_TOOLCHAIN_GCC_AT_LEAST_6
  139. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  140. config BR2_PACKAGE_BOOST_FILESYSTEM
  141. bool "boost-filesystem"
  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_LOCALE
  165. bool "boost-locale"
  166. # When boost-locale is enabled with icu support, Boost no
  167. # longer supports building the libboost_* libraries as static
  168. # libraries, causing build failures when other boost features
  169. # than boost-locale are enabled. To work around this, we
  170. # prevent using boost-locale on static linking configurations
  171. # with icu enabled. See
  172. # https://svn.boost.org/trac/boost/ticket/9685 for more
  173. # details.
  174. depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
  175. depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
  176. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
  177. || !BR2_PACKAGE_ICU # boost-thread
  178. select BR2_PACKAGE_BOOST_SYSTEM
  179. select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
  180. select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
  181. help
  182. Provide localization and Unicode handling tools for C++.
  183. comment "boost-locale needs a toolchain w/ dynamic library"
  184. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  185. depends on BR2_PACKAGE_ICU
  186. depends on BR2_STATIC_LIBS
  187. comment "boost-locale needs a toolchain not affected by GCC bug 64735"
  188. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  189. depends on BR2_PACKAGE_ICU
  190. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  191. config BR2_PACKAGE_BOOST_LOG
  192. bool "boost-log"
  193. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  194. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
  195. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  196. select BR2_PACKAGE_BOOST_ATOMIC
  197. select BR2_PACKAGE_BOOST_DATE_TIME
  198. select BR2_PACKAGE_BOOST_FILESYSTEM
  199. select BR2_PACKAGE_BOOST_REGEX
  200. select BR2_PACKAGE_BOOST_SYSTEM
  201. select BR2_PACKAGE_BOOST_THREAD
  202. help
  203. Logging library.
  204. comment "boost-log needs a toolchain w/ NPTL"
  205. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  206. depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
  207. comment "boost-log needs a toolchain not affected by GCC bug 64735"
  208. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  209. config BR2_PACKAGE_BOOST_MATH
  210. bool "boost-math"
  211. help
  212. Boost.Math includes several contributions in the domain of
  213. mathematics:
  214. The Greatest Common Divisor and Least Common
  215. Multiple library provides run-time and compile-time evaluation
  216. of the greatest common divisor (GCD) or least common multiple
  217. (LCM) of two integers.
  218. The Special Functions library currently provides eight
  219. templated special functions, in namespace boost.
  220. The Complex Number Inverse Trigonometric Functions are the
  221. inverses of trigonometric functions currently present in the
  222. C++ standard.
  223. Quaternions are a relative of complex numbers often used to
  224. parameterise rotations in three dimentional space.
  225. Octonions, like quaternions, are a relative of complex
  226. numbers.
  227. config BR2_PACKAGE_BOOST_MPI
  228. bool "boost-mpi"
  229. help
  230. Message Passing Interface library, for use in
  231. distributed-memory parallel application programming.
  232. config BR2_PACKAGE_BOOST_NOWIDE
  233. bool "boost-nowide"
  234. help
  235. Library for cross-platform, unicode aware programming.
  236. config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
  237. bool "boost-program_options"
  238. help
  239. The program_options library allows program developers to
  240. obtain program options, that is (name, value) pairs from the
  241. user, via conventional methods such as command line and config
  242. file.
  243. config BR2_PACKAGE_BOOST_PYTHON
  244. bool "boost-python"
  245. depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
  246. help
  247. The Boost Python Library is a framework for interfacing Python
  248. and C++. It allows you to quickly and seamlessly expose C++
  249. classes functions and objects to Python, and vice-versa,
  250. using no special tools -- just your C++ compiler.
  251. config BR2_PACKAGE_BOOST_RANDOM
  252. bool "boost-random"
  253. select BR2_PACKAGE_BOOST_SYSTEM
  254. help
  255. A complete system for random number generation.
  256. config BR2_PACKAGE_BOOST_REGEX
  257. bool "boost-regex"
  258. help
  259. A new infrastructure for generic algorithms that builds on top
  260. of the new iterator concepts.
  261. config BR2_PACKAGE_BOOST_SERIALIZATION
  262. bool "boost-serialization"
  263. help
  264. Serialization for persistence and marshalling.
  265. config BR2_PACKAGE_BOOST_STACKTRACE
  266. bool "boost-stacktrace"
  267. depends on !BR2_STATIC_LIBS
  268. help
  269. Gather, store, copy and print backtraces.
  270. comment "boost-stacktrace needs a toolchain w/ dynamic library"
  271. depends on BR2_STATIC_LIBS
  272. config BR2_PACKAGE_BOOST_SYSTEM
  273. bool "boost-system"
  274. help
  275. Operating system support, including the diagnostics support
  276. that will be part of the C++0x standard library.
  277. config BR2_PACKAGE_BOOST_TEST
  278. bool "boost-test"
  279. depends on BR2_USE_MMU # fork()
  280. select BR2_PACKAGE_BOOST_SYSTEM
  281. select BR2_PACKAGE_BOOST_TIMER
  282. help
  283. Support for simple program testing, full unit testing, and for
  284. program execution monitoring.
  285. config BR2_PACKAGE_BOOST_THREAD
  286. bool "boost-thread"
  287. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
  288. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
  289. select BR2_PACKAGE_BOOST_CHRONO
  290. select BR2_PACKAGE_BOOST_SYSTEM
  291. help
  292. Portable C++ multi-threading. C++11, C++14.
  293. comment "boost-thread needs a toolchain not affected by GCC bug 64735"
  294. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  295. config BR2_PACKAGE_BOOST_TIMER
  296. bool "boost-timer"
  297. select BR2_PACKAGE_BOOST_CHRONO
  298. select BR2_PACKAGE_BOOST_SYSTEM
  299. help
  300. Event timer, progress timer, and progress display classes.
  301. config BR2_PACKAGE_BOOST_TYPE_ERASURE
  302. bool "boost-type_erasure"
  303. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
  304. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  305. select BR2_PACKAGE_BOOST_SYSTEM
  306. select BR2_PACKAGE_BOOST_THREAD
  307. help
  308. Runtime polymorphism based on concepts.
  309. comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735"
  310. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  311. config BR2_PACKAGE_BOOST_WAVE
  312. bool "boost-wave"
  313. # limitation of assembler for coldfire
  314. # error: Tried to convert PC relative branch to absolute jump
  315. depends on !BR2_m68k_cf
  316. depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
  317. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
  318. select BR2_PACKAGE_BOOST_DATE_TIME
  319. select BR2_PACKAGE_BOOST_FILESYSTEM
  320. select BR2_PACKAGE_BOOST_SYSTEM
  321. select BR2_PACKAGE_BOOST_THREAD
  322. help
  323. The Boost.Wave library is a Standards conformant, and highly
  324. configurable implementation of the mandated C99/C++
  325. preprocessor functionality packed behind an easy to use
  326. iterator interface.
  327. comment "boost-wave needs a toolchain not affected by GCC bug 64735"
  328. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  329. endif