| // (C) Copyright Christopher Jefferson 2011. |
| // Use, modification and distribution are subject to the |
| // Boost Software License, Version 1.0. (See accompanying file |
| // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| |
| // See http://www.boost.org for most recent version. |
| |
| // config for libc++ |
| // Might need more in here later. |
| |
| #if !defined(_LIBCPP_VERSION) |
| # include <ciso646> |
| # if !defined(_LIBCPP_VERSION) |
| # error "This is not libc++!" |
| # endif |
| #endif |
| |
| #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) |
| |
| #define BOOST_HAS_THREADS |
| |
| #ifdef _LIBCPP_HAS_NO_VARIADICS |
| # define BOOST_NO_CXX11_HDR_TUPLE |
| #endif |
| |
| // BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 |
| // allocator model. The C++11 allocator model requires a conforming |
| // std::allocator_traits which is only possible with C++11 template |
| // aliases since members rebind_alloc and rebind_traits require it. |
| #if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) |
| # define BOOST_NO_CXX11_ALLOCATOR |
| #endif |
| |
| #if __cplusplus < 201103 |
| # define BOOST_NO_CXX11_HDR_ARRAY |
| # define BOOST_NO_CXX11_HDR_CODECVT |
| # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE |
| # define BOOST_NO_CXX11_HDR_FORWARD_LIST |
| # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST |
| # define BOOST_NO_CXX11_HDR_MUTEX |
| # define BOOST_NO_CXX11_HDR_RANDOM |
| # define BOOST_NO_CXX11_HDR_RATIO |
| # define BOOST_NO_CXX11_HDR_REGEX |
| # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR |
| # define BOOST_NO_CXX11_HDR_THREAD |
| # define BOOST_NO_CXX11_HDR_TUPLE |
| # define BOOST_NO_CXX11_HDR_TYPEINDEX |
| # define BOOST_NO_CXX11_HDR_UNORDERED_MAP |
| # define BOOST_NO_CXX11_HDR_UNORDERED_SET |
| # define BOOST_NO_CXX11_NUMERIC_LIMITS |
| # define BOOST_NO_CXX11_ALLOCATOR |
| # define BOOST_NO_CXX11_SMART_PTR |
| # define BOOST_NO_CXX11_HDR_FUNCTIONAL |
| # define BOOST_NO_CXX11_STD_ALIGN |
| # define BOOST_NO_CXX11_ADDRESSOF |
| #endif |
| |
| // |
| // These appear to be unusable/incomplete so far: |
| // |
| # define BOOST_NO_CXX11_HDR_CHRONO |
| # define BOOST_NO_CXX11_HDR_FUTURE |
| # define BOOST_NO_CXX11_HDR_TYPE_TRAITS |
| # define BOOST_NO_CXX11_ATOMIC_SMART_PTR |
| # define BOOST_NO_CXX11_HDR_ATOMIC |
| |
| // libc++ uses a non-standard messages_base |
| #define BOOST_NO_STD_MESSAGES |
| |
| // --- end --- |