You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
// (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
|
|
|
|
#if defined(__has_include)
|
|
#if !__has_include(<shared_mutex>)
|
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
|
#elif __cplusplus <= 201103
|
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
|
#endif
|
|
#elif __cplusplus < 201402
|
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
|
#endif
|
|
|
|
// --- end ---
|