blob: a5161cd8e715c7432c6729ed6170e5737087b520 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001// (C) Copyright John Maddock 2001.
2// (C) Copyright Darin Adler 2001.
3// (C) Copyright Peter Dimov 2001.
4// (C) Copyright David Abrahams 2001 - 2002.
5// (C) Copyright Beman Dawes 2001 - 2003.
6// (C) Copyright Stefan Slapeta 2004.
7// Use, modification and distribution are subject to the
8// Boost Software License, Version 1.0. (See accompanying file
9// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
11// See http://www.boost.org for most recent version.
12
13// Metrowerks C++ compiler setup:
14
15// locale support is disabled when linking with the dynamic runtime
16# ifdef _MSL_NO_LOCALE
Jeff Thompson3d613fd2013-10-15 15:39:04 -070017# define NDNBOOST_NO_STD_LOCALE
Jeff Thompsonf7d49942013-08-01 16:47:40 -070018# endif
19
20# if __MWERKS__ <= 0x2301 // 5.3
Jeff Thompson3d613fd2013-10-15 15:39:04 -070021# define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
22# define NDNBOOST_NO_POINTER_TO_MEMBER_CONST
23# define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
24# define NDNBOOST_NO_MEMBER_TEMPLATE_KEYWORD
Jeff Thompsonf7d49942013-08-01 16:47:40 -070025# endif
26
27# if __MWERKS__ <= 0x2401 // 6.2
Jeff Thompson3d613fd2013-10-15 15:39:04 -070028//# define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070029# endif
30
31# if(__MWERKS__ <= 0x2407) // 7.x
Jeff Thompson3d613fd2013-10-15 15:39:04 -070032# define NDNBOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
33# define NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
Jeff Thompsonf7d49942013-08-01 16:47:40 -070034# endif
35
36# if(__MWERKS__ <= 0x3003) // 8.x
Jeff Thompson3d613fd2013-10-15 15:39:04 -070037# define NDNBOOST_NO_SFINAE
Jeff Thompsonf7d49942013-08-01 16:47:40 -070038# endif
39
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040// the "|| !defined(NDNBOOST_STRICT_CONFIG)" part should apply to the last
Jeff Thompsonf7d49942013-08-01 16:47:40 -070041// tested version *only*:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070042# if(__MWERKS__ <= 0x3207) || !defined(NDNBOOST_STRICT_CONFIG) // 9.6
43# define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
44# define NDNBOOST_NO_IS_ABSTRACT
Jeff Thompsonf7d49942013-08-01 16:47:40 -070045# endif
46
47#if !__option(wchar_type)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070048# define NDNBOOST_NO_INTRINSIC_WCHAR_T
Jeff Thompsonf7d49942013-08-01 16:47:40 -070049#endif
50
Jeff Thompson3d613fd2013-10-15 15:39:04 -070051#if !__option(exceptions) && !defined(NDNBOOST_NO_EXCEPTIONS)
52# define NDNBOOST_NO_EXCEPTIONS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070053#endif
54
55#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
56# if __MWERKS__ == 0x3000
Jeff Thompson3d613fd2013-10-15 15:39:04 -070057# define NDNBOOST_COMPILER_VERSION 8.0
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058# elif __MWERKS__ == 0x3001
Jeff Thompson3d613fd2013-10-15 15:39:04 -070059# define NDNBOOST_COMPILER_VERSION 8.1
Jeff Thompsonf7d49942013-08-01 16:47:40 -070060# elif __MWERKS__ == 0x3002
Jeff Thompson3d613fd2013-10-15 15:39:04 -070061# define NDNBOOST_COMPILER_VERSION 8.2
Jeff Thompsonf7d49942013-08-01 16:47:40 -070062# elif __MWERKS__ == 0x3003
Jeff Thompson3d613fd2013-10-15 15:39:04 -070063# define NDNBOOST_COMPILER_VERSION 8.3
Jeff Thompsonf7d49942013-08-01 16:47:40 -070064# elif __MWERKS__ == 0x3200
Jeff Thompson3d613fd2013-10-15 15:39:04 -070065# define NDNBOOST_COMPILER_VERSION 9.0
Jeff Thompsonf7d49942013-08-01 16:47:40 -070066# elif __MWERKS__ == 0x3201
Jeff Thompson3d613fd2013-10-15 15:39:04 -070067# define NDNBOOST_COMPILER_VERSION 9.1
Jeff Thompsonf7d49942013-08-01 16:47:40 -070068# elif __MWERKS__ == 0x3202
Jeff Thompson3d613fd2013-10-15 15:39:04 -070069# define NDNBOOST_COMPILER_VERSION 9.2
Jeff Thompsonf7d49942013-08-01 16:47:40 -070070# elif __MWERKS__ == 0x3204
Jeff Thompson3d613fd2013-10-15 15:39:04 -070071# define NDNBOOST_COMPILER_VERSION 9.3
Jeff Thompsonf7d49942013-08-01 16:47:40 -070072# elif __MWERKS__ == 0x3205
Jeff Thompson3d613fd2013-10-15 15:39:04 -070073# define NDNBOOST_COMPILER_VERSION 9.4
Jeff Thompsonf7d49942013-08-01 16:47:40 -070074# elif __MWERKS__ == 0x3206
Jeff Thompson3d613fd2013-10-15 15:39:04 -070075# define NDNBOOST_COMPILER_VERSION 9.5
Jeff Thompsonf7d49942013-08-01 16:47:40 -070076# elif __MWERKS__ == 0x3207
Jeff Thompson3d613fd2013-10-15 15:39:04 -070077# define NDNBOOST_COMPILER_VERSION 9.6
Jeff Thompsonf7d49942013-08-01 16:47:40 -070078# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070079# define NDNBOOST_COMPILER_VERSION __MWERKS__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070080# endif
81#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070082# define NDNBOOST_COMPILER_VERSION __MWERKS__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070083#endif
84
85//
86// C++0x features
87//
Jeff Thompson3d613fd2013-10-15 15:39:04 -070088// See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070089//
90#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
Jeff Thompson3d613fd2013-10-15 15:39:04 -070091# define NDNBOOST_HAS_RVALUE_REFS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070092#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070093# define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
Jeff Thompsonf7d49942013-08-01 16:47:40 -070094#endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070095#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
96#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
97#define NDNBOOST_NO_CXX11_CHAR16_T
98#define NDNBOOST_NO_CXX11_CHAR32_T
99#define NDNBOOST_NO_CXX11_CONSTEXPR
100#define NDNBOOST_NO_CXX11_DECLTYPE
101#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
102#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
103#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
104#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
105#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
106#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
107#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
108#define NDNBOOST_NO_CXX11_LAMBDAS
109#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
110#define NDNBOOST_NO_CXX11_NOEXCEPT
111#define NDNBOOST_NO_CXX11_NULLPTR
112#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
113#define NDNBOOST_NO_CXX11_RAW_LITERALS
114#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
115#define NDNBOOST_NO_SFINAE_EXPR
116#define NDNBOOST_NO_CXX11_STATIC_ASSERT
117#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
118#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
119#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
120#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
121#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
122#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700123
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700124#define NDNBOOST_COMPILER "Metrowerks CodeWarrior C++ version " NDNBOOST_STRINGIZE(NDNBOOST_COMPILER_VERSION)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700125
126//
127// versions check:
128// we don't support Metrowerks prior to version 5.3:
129#if __MWERKS__ < 0x2301
130# error "Compiler not supported or configured - please reconfigure"
131#endif
132//
133// last known and checked version:
134#if (__MWERKS__ > 0x3205)
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700135# if defined(NDNBOOST_ASSERT_CONFIG)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700136# error "Unknown compiler version - please run the configure tests and report the results"
137# endif
138#endif
139
140
141
142
143
144
145