mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 03:24:04 +01:00 
			
		
		
		
	Update with boost 1.80.0 from https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.7z Close #12273
		
			
				
	
	
		
			172 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			5.6 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
 | |
| #    define BOOST_NO_CXX11_POINTER_TRAITS
 | |
| #endif
 | |
| 
 | |
| #if __cplusplus < 201103
 | |
| //
 | |
| // These two appear to be somewhat useable in C++03 mode, there may be others...
 | |
| //
 | |
| //#  define BOOST_NO_CXX11_HDR_ARRAY
 | |
| //#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
 | |
| 
 | |
| #  define BOOST_NO_CXX11_HDR_CODECVT
 | |
| #  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
 | |
| #  define BOOST_NO_CXX11_HDR_EXCEPTION
 | |
| #  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_POINTER_TRAITS
 | |
| #  define BOOST_NO_CXX11_SMART_PTR
 | |
| #  define BOOST_NO_CXX11_HDR_FUNCTIONAL
 | |
| #  define BOOST_NO_CXX11_STD_ALIGN
 | |
| #  define BOOST_NO_CXX11_ADDRESSOF
 | |
| #  define BOOST_NO_CXX11_HDR_ATOMIC
 | |
| #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
 | |
| #  define BOOST_NO_CXX11_HDR_CHRONO
 | |
| #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
 | |
| #  define BOOST_NO_CXX11_HDR_FUTURE
 | |
| #elif _LIBCPP_VERSION < 3700
 | |
| //
 | |
| // These appear to be unusable/incomplete so far:
 | |
| //
 | |
| #  define BOOST_NO_CXX11_HDR_ATOMIC
 | |
| #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
 | |
| #  define BOOST_NO_CXX11_HDR_CHRONO
 | |
| #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
 | |
| #  define BOOST_NO_CXX11_HDR_FUTURE
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #if _LIBCPP_VERSION < 3700
 | |
| // libc++ uses a non-standard messages_base
 | |
| #define BOOST_NO_STD_MESSAGES
 | |
| #endif
 | |
| 
 | |
| // C++14 features
 | |
| #if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
 | |
| #  define BOOST_NO_CXX14_STD_EXCHANGE
 | |
| #endif
 | |
| 
 | |
| // C++17 features
 | |
| #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
 | |
| #  define BOOST_NO_CXX17_STD_APPLY
 | |
| #  define BOOST_NO_CXX17_HDR_OPTIONAL
 | |
| #  define BOOST_NO_CXX17_HDR_STRING_VIEW
 | |
| #  define BOOST_NO_CXX17_HDR_VARIANT
 | |
| #endif
 | |
| #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 | |
| #  define BOOST_NO_AUTO_PTR
 | |
| #endif
 | |
| #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
 | |
| #  define BOOST_NO_CXX98_RANDOM_SHUFFLE
 | |
| #endif
 | |
| #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS)
 | |
| #  define BOOST_NO_CXX98_BINDERS
 | |
| #endif
 | |
| 
 | |
| #if defined(__cplusplus) && defined(__has_include)
 | |
| #if __has_include(<version>)
 | |
| #include <version>
 | |
| 
 | |
| #if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L)
 | |
| #  define BOOST_NO_CXX17_HDR_EXECUTION
 | |
| #endif
 | |
| #if !defined(__cpp_lib_invoke) || (__cpp_lib_invoke < 201411L)
 | |
| #define BOOST_NO_CXX17_STD_INVOKE
 | |
| #endif
 | |
| 
 | |
| #if(_LIBCPP_VERSION < 9000)
 | |
| // as_writable_bytes is missing.
 | |
| #  define BOOST_NO_CXX20_HDR_SPAN
 | |
| #endif
 | |
| 
 | |
| #else
 | |
| #define BOOST_NO_CXX17_STD_INVOKE      // Invoke support is incomplete (no invoke_result)
 | |
| #define BOOST_NO_CXX17_HDR_EXECUTION
 | |
| #endif
 | |
| #else
 | |
| #define BOOST_NO_CXX17_STD_INVOKE      // Invoke support is incomplete (no invoke_result)
 | |
| #define BOOST_NO_CXX17_HDR_EXECUTION
 | |
| #endif
 | |
| 
 | |
| #if _LIBCPP_VERSION < 10000  // What's the correct version check here?
 | |
| #define BOOST_NO_CXX17_ITERATOR_TRAITS
 | |
| #endif
 | |
| 
 | |
| #if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
 | |
| // This is a bit of a sledgehammer, because really it's just libc++abi that has no
 | |
| // support for thread_local, leading to linker errors such as
 | |
| // "undefined reference to `__cxa_thread_atexit'".  It is fixed in the
 | |
| // most recent releases of libc++abi though...
 | |
| #  define BOOST_NO_CXX11_THREAD_LOCAL
 | |
| #endif
 | |
| 
 | |
| #if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
 | |
| // After libc++-dev is installed on Trusty, clang++-libc++ almost works,
 | |
| // except uses of `thread_local` fail with undefined reference to
 | |
| // `__cxa_thread_atexit`.
 | |
| //
 | |
| // clang's libc++abi provides an implementation by deferring to the glibc
 | |
| // implementation, which may or may not be available (it is not on Trusty).
 | |
| // clang 4's libc++abi will provide an implementation if one is not in glibc
 | |
| // though, so thread local support should work with clang 4 and above as long
 | |
| // as libc++abi is linked in.
 | |
| #  define BOOST_NO_CXX11_THREAD_LOCAL
 | |
| #endif
 | |
| 
 | |
| #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
 | |
| 
 | |
| #if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000)
 | |
| #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
 | |
| #endif
 | |
| 
 | |
| //  --- end ---
 |