Chris@16: Chris@101: // Copyright Oliver Kowalke 2014. Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_CONTEXT_DETAIL_CONFIG_H Chris@16: #define BOOST_CONTEXT_DETAIL_CONFIG_H Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_CONTEXT_DECL Chris@16: # undef BOOST_CONTEXT_DECL Chris@16: #endif Chris@16: Chris@16: #if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_CONTEXT_DYN_LINK) ) && ! defined(BOOST_CONTEXT_STATIC_LINK) Chris@16: # if defined(BOOST_CONTEXT_SOURCE) Chris@16: # define BOOST_CONTEXT_DECL BOOST_SYMBOL_EXPORT Chris@16: # define BOOST_CONTEXT_BUILD_DLL Chris@16: # else Chris@16: # define BOOST_CONTEXT_DECL BOOST_SYMBOL_IMPORT Chris@16: # endif Chris@16: #endif Chris@16: Chris@16: #if ! defined(BOOST_CONTEXT_DECL) Chris@16: # define BOOST_CONTEXT_DECL Chris@16: #endif Chris@16: Chris@16: #if ! defined(BOOST_CONTEXT_SOURCE) && ! defined(BOOST_ALL_NO_LIB) && ! defined(BOOST_CONTEXT_NO_LIB) Chris@16: # define BOOST_LIB_NAME boost_context Chris@16: # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_CONTEXT_DYN_LINK) Chris@16: # define BOOST_DYN_LINK Chris@16: # endif Chris@16: # include Chris@16: #endif Chris@16: Chris@101: #undef BOOST_CONTEXT_CALLDECL Chris@101: #if (defined(i386) || defined(__i386__) || defined(__i386) \ Chris@101: || defined(__i486__) || defined(__i586__) || defined(__i686__) \ Chris@101: || defined(__X86__) || defined(_X86_) || defined(__THW_INTEL__) \ Chris@101: || defined(__I86__) || defined(__INTEL__) || defined(__IA32__) \ Chris@101: || defined(_M_IX86) || defined(_I86_)) && defined(BOOST_WINDOWS) Chris@101: # define BOOST_CONTEXT_CALLDECL __cdecl Chris@101: #else Chris@101: # define BOOST_CONTEXT_CALLDECL Chris@101: #endif Chris@101: Chris@101: #if defined(BOOST_USE_SEGMENTED_STACKS) Chris@101: # if ! ( (defined(__GNUC__) && __GNUC__ > 3 && __GNUC_MINOR__ > 6) || \ Chris@101: (defined(__clang__) && __clang_major__ > 2 && __clang_minor__ > 3) ) Chris@101: # error "compiler does not support segmented_stack stacks" Chris@101: # endif Chris@101: # define BOOST_CONTEXT_SEGMENTS 10 Chris@101: #endif Chris@101: Chris@101: #undef BOOST_CONTEXT_NO_EXECUTION_CONTEXT Chris@101: #if defined( BOOST_NO_CXX11_DECLTYPE) || \ Chris@101: defined( BOOST_NO_CXX11_DELETED_FUNCTIONS) || \ Chris@101: defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || \ Chris@101: defined( BOOST_NO_CXX11_HDR_TUPLE) || \ Chris@101: defined( BOOST_NO_CXX11_LAMBDAS) || \ Chris@101: defined( BOOST_NO_CXX11_NOEXCEPT) || \ Chris@101: defined( BOOST_NO_CXX11_NULLPTR) || \ Chris@101: defined( BOOST_NO_CXX11_TEMPLATE_ALIASES) || \ Chris@101: defined( BOOST_NO_CXX11_RVALUE_REFERENCES) || \ Chris@101: defined( BOOST_NO_CXX11_VARIADIC_MACROS) || \ Chris@101: defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \ Chris@101: defined( BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES) Chris@101: # define BOOST_CONTEXT_NO_EXECUTION_CONTEXT Chris@101: #endif Chris@101: Chris@16: #endif // BOOST_CONTEXT_DETAIL_CONFIG_H