blob: 68168b2324eaf1dbad1ad6b67595188e39a32005 [file] [log] [blame]
Jeff Thompsonef2d5a42013-08-22 19:09:24 -07001// (C) Copyright Gennadiy Rozental 2001-2008.
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)
5
6// See http://www.boost.org/libs/test for the library home page.
7//
8// File : $RCSfile$
9//
10// Version : $Revision: 63441 $
11//
12// Description : as a central place for global configuration switches
13// ***************************************************************************
14
Jeff Thompson3d613fd2013-10-15 15:39:04 -070015#ifndef NDNBOOST_TEST_CONFIG_HPP_071894GER
16#define NDNBOOST_TEST_CONFIG_HPP_071894GER
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070017
18// Boost
19#include <ndnboost/config.hpp> // compilers workarounds
20#include <ndnboost/detail/workaround.hpp>
21
22//____________________________________________________________________________//
23
Jeff Thompson3d613fd2013-10-15 15:39:04 -070024#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x570)) || \
25 NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600)) || \
26 (defined __sgi && NDNBOOST_WORKAROUND(_COMPILER_VERSION, NDNBOOST_TESTED_AT(730)))
27# define NDNBOOST_TEST_SHIFTED_LINE
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070028#endif
29
30//____________________________________________________________________________//
31
Jeff Thompson3d613fd2013-10-15 15:39:04 -070032#if defined(NDNBOOST_MSVC) || (defined(__BORLANDC__) && !defined(NDNBOOST_DISABLE_WIN32))
33# define NDNBOOST_TEST_CALL_DECL __cdecl
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070034#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070035# define NDNBOOST_TEST_CALL_DECL /**/
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070036#endif
37
38//____________________________________________________________________________//
39
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040#if !defined(NDNBOOST_NO_STD_LOCALE) && \
41 !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310) && \
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070042 !defined(__MWERKS__)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070043# define NDNBOOST_TEST_USE_STD_LOCALE 1
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070044#endif
45
46//____________________________________________________________________________//
47
Jeff Thompson3d613fd2013-10-15 15:39:04 -070048#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x570) || \
49 NDNBOOST_WORKAROUND( __COMO__, <= 0x433 ) || \
50 NDNBOOST_WORKAROUND( __INTEL_COMPILER, <= 800 ) || \
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070051 defined(__sgi) && _COMPILER_VERSION <= 730 || \
Jeff Thompson3d613fd2013-10-15 15:39:04 -070052 NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600)) || \
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070053 defined(__DECCXX) || \
54 defined(__DMC__)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070055# define NDNBOOST_TEST_NO_PROTECTED_USING
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070056#endif
57
58//____________________________________________________________________________//
59
Jeff Thompson3d613fd2013-10-15 15:39:04 -070060#if defined(__GNUC__) || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1400)
61#define NDNBOOST_TEST_PROTECTED_VIRTUAL virtual
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070062#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070063#define NDNBOOST_TEST_PROTECTED_VIRTUAL
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070064#endif
65
66//____________________________________________________________________________//
67
Jeff Thompson3d613fd2013-10-15 15:39:04 -070068#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
69 !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <1310) && \
70 !NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x530))
71# define NDNBOOST_TEST_SUPPORT_INTERACTION_TESTING 1
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070072#endif
73
74//____________________________________________________________________________//
75
Jeff Thompson3d613fd2013-10-15 15:39:04 -070076#if defined(NDNBOOST_ALL_DYN_LINK) && !defined(NDNBOOST_TEST_DYN_LINK)
77# define NDNBOOST_TEST_DYN_LINK
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070078#endif
79
Jeff Thompson3d613fd2013-10-15 15:39:04 -070080#if defined(NDNBOOST_TEST_INCLUDED)
81# undef NDNBOOST_TEST_DYN_LINK
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070082#endif
83
Jeff Thompson3d613fd2013-10-15 15:39:04 -070084#if defined(NDNBOOST_TEST_DYN_LINK)
85# define NDNBOOST_TEST_ALTERNATIVE_INIT_API
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070086
Jeff Thompson3d613fd2013-10-15 15:39:04 -070087# ifdef NDNBOOST_TEST_SOURCE
88# define NDNBOOST_TEST_DECL NDNBOOST_SYMBOL_EXPORT
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070089# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070090# define NDNBOOST_TEST_DECL NDNBOOST_SYMBOL_IMPORT
91# endif // NDNBOOST_TEST_SOURCE
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070092#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070093# define NDNBOOST_TEST_DECL
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070094#endif
95
Jeff Thompson3d613fd2013-10-15 15:39:04 -070096#if !defined(NDNBOOST_TEST_MAIN) && defined(NDNBOOST_AUTO_TEST_MAIN)
97#define NDNBOOST_TEST_MAIN NDNBOOST_AUTO_TEST_MAIN
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070098#endif
99
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700100#if !defined(NDNBOOST_TEST_MAIN) && defined(NDNBOOST_TEST_MODULE)
101#define NDNBOOST_TEST_MAIN NDNBOOST_TEST_MODULE
Jeff Thompsonef2d5a42013-08-22 19:09:24 -0700102#endif
103
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700104#endif // NDNBOOST_TEST_CONFIG_HPP_071894GER