1 // (C) Copyright Gennadiy Rozental 2001.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
6 // See http://www.boost.org/libs/test for the library home page.
9 //!@brief a central place for global configuration switches
10 // ***************************************************************************
12 #ifndef BOOST_TEST_CONFIG_HPP_071894GER
13 #define BOOST_TEST_CONFIG_HPP_071894GER
16 #include <boost/config.hpp> // compilers workarounds
17 #include <boost/detail/workaround.hpp>
19 #if defined(_WIN32) && !defined(BOOST_DISABLE_WIN32) && \
20 (!defined(__COMO__) && !defined(__MWERKS__) && !defined(__GNUC__) || \
21 BOOST_WORKAROUND(__MWERKS__, >= 0x3000))
22 # define BOOST_SEH_BASED_SIGNAL_HANDLING
25 #if defined(__COMO__) && defined(_MSC_VER)
26 // eh.h uses type_info without declaring it.
28 # define BOOST_SEH_BASED_SIGNAL_HANDLING
31 //____________________________________________________________________________//
33 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) || \
34 BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \
35 (defined __sgi && BOOST_WORKAROUND(_COMPILER_VERSION, BOOST_TESTED_AT(730)))
36 # define BOOST_TEST_SHIFTED_LINE
39 //____________________________________________________________________________//
41 #if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
42 # define BOOST_TEST_CALL_DECL __cdecl
44 # define BOOST_TEST_CALL_DECL /**/
47 //____________________________________________________________________________//
49 #if !defined(BOOST_NO_STD_LOCALE) && !defined(__MWERKS__)
50 # define BOOST_TEST_USE_STD_LOCALE 1
53 //____________________________________________________________________________//
55 #if BOOST_WORKAROUND(__BORLANDC__, <= 0x570) || \
56 BOOST_WORKAROUND( __COMO__, <= 0x433 ) || \
57 BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 ) || \
58 defined(__sgi) && _COMPILER_VERSION <= 730 || \
59 BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \
60 defined(__DECCXX) || \
62 # define BOOST_TEST_NO_PROTECTED_USING
65 //____________________________________________________________________________//
67 #if defined(__GNUC__) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
68 #define BOOST_TEST_PROTECTED_VIRTUAL virtual
70 #define BOOST_TEST_PROTECTED_VIRTUAL
73 //____________________________________________________________________________//
75 #if !defined(__BORLANDC__) && !BOOST_WORKAROUND( __SUNPRO_CC, < 0x5100 )
76 #define BOOST_TEST_SUPPORT_TOKEN_ITERATOR 1
79 //____________________________________________________________________________//
81 #if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK)
82 # define BOOST_TEST_DYN_LINK
85 #if defined(BOOST_TEST_INCLUDED)
86 # undef BOOST_TEST_DYN_LINK
89 #if defined(BOOST_TEST_DYN_LINK)
90 # define BOOST_TEST_ALTERNATIVE_INIT_API
92 # ifdef BOOST_TEST_SOURCE
93 # define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT
95 # define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT
96 # endif // BOOST_TEST_SOURCE
98 # define BOOST_TEST_DECL
101 #if !defined(BOOST_TEST_MAIN) && defined(BOOST_AUTO_TEST_MAIN)
102 #define BOOST_TEST_MAIN BOOST_AUTO_TEST_MAIN
105 #if !defined(BOOST_TEST_MAIN) && defined(BOOST_TEST_MODULE)
106 #define BOOST_TEST_MAIN BOOST_TEST_MODULE
111 #ifndef BOOST_PP_VARIADICS /* we can change this only if not already defined) */
114 #define BOOST_PP_VARIADICS 1
118 #define BOOST_PP_VARIADICS 1
121 #if defined(BOOST_GCC) && (BOOST_GCC >= 4 * 10000 + 8 * 100)
122 #define BOOST_PP_VARIADICS 1
125 #endif /* ifndef BOOST_PP_VARIADICS */
127 #endif // BOOST_TEST_CONFIG_HPP_071894GER