Chris@16
|
1 // (C) Copyright Christopher Jefferson 2011.
|
Chris@16
|
2 // Use, modification and distribution are subject to the
|
Chris@16
|
3 // Boost Software License, Version 1.0. (See accompanying file
|
Chris@16
|
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
5
|
Chris@16
|
6 // See http://www.boost.org for most recent version.
|
Chris@16
|
7
|
Chris@16
|
8 // config for libc++
|
Chris@16
|
9 // Might need more in here later.
|
Chris@16
|
10
|
Chris@16
|
11 #if !defined(_LIBCPP_VERSION)
|
Chris@16
|
12 # include <ciso646>
|
Chris@16
|
13 # if !defined(_LIBCPP_VERSION)
|
Chris@16
|
14 # error "This is not libc++!"
|
Chris@16
|
15 # endif
|
Chris@16
|
16 #endif
|
Chris@16
|
17
|
Chris@16
|
18 #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
|
Chris@16
|
19
|
Chris@16
|
20 #define BOOST_HAS_THREADS
|
Chris@16
|
21
|
Chris@16
|
22 #ifdef _LIBCPP_HAS_NO_VARIADICS
|
Chris@16
|
23 # define BOOST_NO_CXX11_HDR_TUPLE
|
Chris@16
|
24 #endif
|
Chris@16
|
25
|
Chris@101
|
26 // BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11
|
Chris@101
|
27 // allocator model. The C++11 allocator model requires a conforming
|
Chris@101
|
28 // std::allocator_traits which is only possible with C++11 template
|
Chris@101
|
29 // aliases since members rebind_alloc and rebind_traits require it.
|
Chris@101
|
30 #if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)
|
Chris@101
|
31 # define BOOST_NO_CXX11_ALLOCATOR
|
Chris@101
|
32 #endif
|
Chris@101
|
33
|
Chris@101
|
34 #if __cplusplus < 201103
|
Chris@101
|
35 # define BOOST_NO_CXX11_HDR_ARRAY
|
Chris@101
|
36 # define BOOST_NO_CXX11_HDR_CODECVT
|
Chris@101
|
37 # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
Chris@101
|
38 # define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
Chris@101
|
39 # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
Chris@101
|
40 # define BOOST_NO_CXX11_HDR_MUTEX
|
Chris@101
|
41 # define BOOST_NO_CXX11_HDR_RANDOM
|
Chris@101
|
42 # define BOOST_NO_CXX11_HDR_RATIO
|
Chris@101
|
43 # define BOOST_NO_CXX11_HDR_REGEX
|
Chris@101
|
44 # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
Chris@101
|
45 # define BOOST_NO_CXX11_HDR_THREAD
|
Chris@101
|
46 # define BOOST_NO_CXX11_HDR_TUPLE
|
Chris@101
|
47 # define BOOST_NO_CXX11_HDR_TYPEINDEX
|
Chris@101
|
48 # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
Chris@101
|
49 # define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
Chris@101
|
50 # define BOOST_NO_CXX11_NUMERIC_LIMITS
|
Chris@101
|
51 # define BOOST_NO_CXX11_ALLOCATOR
|
Chris@101
|
52 # define BOOST_NO_CXX11_SMART_PTR
|
Chris@101
|
53 # define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
Chris@101
|
54 # define BOOST_NO_CXX11_STD_ALIGN
|
Chris@101
|
55 # define BOOST_NO_CXX11_ADDRESSOF
|
Chris@101
|
56 #endif
|
Chris@101
|
57
|
Chris@16
|
58 //
|
Chris@16
|
59 // These appear to be unusable/incomplete so far:
|
Chris@16
|
60 //
|
Chris@16
|
61 # define BOOST_NO_CXX11_HDR_CHRONO
|
Chris@16
|
62 # define BOOST_NO_CXX11_HDR_FUTURE
|
Chris@16
|
63 # define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
Chris@16
|
64 # define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
Chris@101
|
65 # define BOOST_NO_CXX11_HDR_ATOMIC
|
Chris@16
|
66
|
Chris@16
|
67 // libc++ uses a non-standard messages_base
|
Chris@16
|
68 #define BOOST_NO_STD_MESSAGES
|
Chris@16
|
69
|
Chris@16
|
70 // --- end ---
|