blob: b1cb3b724170959f8b0227d1e0d370fe41c53f38 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001// Copyright (C) Christof Meerwald 2003
2// Copyright (C) Dan Watkins 2003
3//
4// Use, modification and distribution are subject to the
5// Boost Software License, Version 1.0. (See accompanying file
6// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
8// Digital Mars C++ compiler setup:
Jeff Thompson3d613fd2013-10-15 15:39:04 -07009#define NDNBOOST_COMPILER __DMC_VERSION_STRING__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070010
Jeff Thompson3d613fd2013-10-15 15:39:04 -070011#define NDNBOOST_HAS_LONG_LONG
12#define NDNBOOST_HAS_PRAGMA_ONCE
Jeff Thompsonf7d49942013-08-01 16:47:40 -070013
14#if (__DMC__ <= 0x833)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070015#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
16#define NDNBOOST_NO_TEMPLATE_TEMPLATES
17#define NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
18#define NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
19#define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070020#endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070021#if (__DMC__ <= 0x840) || !defined(NDNBOOST_STRICT_CONFIG)
22#define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
23#define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
24#define NDNBOOST_NO_OPERATORS_IN_NAMESPACE
25#define NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
26#define NDNBOOST_NO_SFINAE
27#define NDNBOOST_NO_USING_TEMPLATE
28#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
Jeff Thompsonf7d49942013-08-01 16:47:40 -070029#endif
30
31//
32// has macros:
33#if (__DMC__ >= 0x840)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070034#define NDNBOOST_HAS_DIRENT_H
35#define NDNBOOST_HAS_STDINT_H
36#define NDNBOOST_HAS_WINTHREADS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070037#endif
38
39#if (__DMC__ >= 0x847)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040#define NDNBOOST_HAS_EXPM1
41#define NDNBOOST_HAS_LOG1P
Jeff Thompsonf7d49942013-08-01 16:47:40 -070042#endif
43
44//
45// Is this really the best way to detect whether the std lib is in namespace std?
46//
47#ifdef __cplusplus
48#include <cstddef>
49#endif
50#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070051# define NDNBOOST_NO_STDC_NAMESPACE
Jeff Thompsonf7d49942013-08-01 16:47:40 -070052#endif
53
54
55// check for exception handling support:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070056#if !defined(_CPPUNWIND) && !defined(NDNBOOST_NO_EXCEPTIONS)
57# define NDNBOOST_NO_EXCEPTIONS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058#endif
59
60//
61// C++0x features
62//
Jeff Thompson3d613fd2013-10-15 15:39:04 -070063#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
64#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
65#define NDNBOOST_NO_CXX11_CHAR16_T
66#define NDNBOOST_NO_CXX11_CHAR32_T
67#define NDNBOOST_NO_CXX11_CONSTEXPR
68#define NDNBOOST_NO_CXX11_DECLTYPE
69#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
70#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
71#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
72#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
73#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
74#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
75#define NDNBOOST_NO_CXX11_LAMBDAS
76#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
77#define NDNBOOST_NO_CXX11_NOEXCEPT
78#define NDNBOOST_NO_CXX11_NULLPTR
79#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
80#define NDNBOOST_NO_CXX11_RAW_LITERALS
81#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
82#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
83#define NDNBOOST_NO_SFINAE_EXPR
84#define NDNBOOST_NO_CXX11_STATIC_ASSERT
85#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
86#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
87#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
88#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
89#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070090
91#if (__DMC__ < 0x812)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070092#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070093#endif
94
95#if __DMC__ < 0x800
96#error "Compiler not supported or configured - please reconfigure"
97#endif
98//
99// last known and checked version is ...:
100#if (__DMC__ > 0x848)
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700101# if defined(NDNBOOST_ASSERT_CONFIG)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700102# error "Unknown compiler version - please run the configure tests and report the results"
103# endif
104#endif