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