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