epoc32/include/stdapis/boost/config/compiler/metrowerks.hpp
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
//  (C) Copyright John Maddock 2001. 
williamr@2
     2
//  (C) Copyright Darin Adler 2001. 
williamr@2
     3
//  (C) Copyright Peter Dimov 2001. 
williamr@2
     4
//  (C) Copyright David Abrahams 2001 - 2002. 
williamr@2
     5
//  (C) Copyright Beman Dawes 2001 - 2003. 
williamr@2
     6
//  (C) Copyright Stefan Slapeta 2004. 
williamr@2
     7
//  Use, modification and distribution are subject to the 
williamr@2
     8
//  Boost Software License, Version 1.0. (See accompanying file 
williamr@2
     9
//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
williamr@2
    10
williamr@2
    11
//  See http://www.boost.org for most recent version.
williamr@2
    12
williamr@2
    13
//  Metrowerks C++ compiler setup:
williamr@2
    14
williamr@2
    15
// locale support is disabled when linking with the dynamic runtime
williamr@2
    16
#   ifdef _MSL_NO_LOCALE
williamr@2
    17
#     define BOOST_NO_STD_LOCALE
williamr@2
    18
#   endif 
williamr@2
    19
williamr@2
    20
#   if __MWERKS__ <= 0x2301  // 5.3
williamr@2
    21
#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
williamr@2
    22
#     define BOOST_NO_POINTER_TO_MEMBER_CONST
williamr@2
    23
#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
williamr@2
    24
#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
williamr@2
    25
#   endif
williamr@2
    26
williamr@2
    27
#   if __MWERKS__ <= 0x2401  // 6.2
williamr@2
    28
//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
williamr@2
    29
#   endif
williamr@2
    30
williamr@2
    31
#   if(__MWERKS__ <= 0x2407)  // 7.x
williamr@2
    32
#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
williamr@2
    33
#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION
williamr@2
    34
#   endif
williamr@2
    35
williamr@2
    36
#   if(__MWERKS__ <= 0x3003)  // 8.x
williamr@2
    37
#     define BOOST_NO_SFINAE
williamr@2
    38
#    endif
williamr@2
    39
williamr@2
    40
// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
williamr@2
    41
// tested version *only*:
williamr@2
    42
#   if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5
williamr@2
    43
#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
williamr@2
    44
#     define BOOST_NO_IS_ABSTRACT
williamr@2
    45
#    endif
williamr@2
    46
williamr@2
    47
#if !__option(wchar_type)
williamr@2
    48
#   define BOOST_NO_INTRINSIC_WCHAR_T
williamr@2
    49
#endif
williamr@2
    50
williamr@2
    51
#if !__option(exceptions)
williamr@2
    52
#   define BOOST_NO_EXCEPTIONS
williamr@2
    53
#endif
williamr@2
    54
williamr@2
    55
#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
williamr@2
    56
#   if __MWERKS__ == 0x3000
williamr@2
    57
#     define BOOST_COMPILER_VERSION 8.0
williamr@2
    58
#   elif __MWERKS__ == 0x3001
williamr@2
    59
#     define BOOST_COMPILER_VERSION 8.1
williamr@2
    60
#   elif __MWERKS__ == 0x3002
williamr@2
    61
#     define BOOST_COMPILER_VERSION 8.2
williamr@2
    62
#   elif __MWERKS__ == 0x3003
williamr@2
    63
#     define BOOST_COMPILER_VERSION 8.3
williamr@2
    64
#   elif __MWERKS__ == 0x3200
williamr@2
    65
#     define BOOST_COMPILER_VERSION 9.0
williamr@2
    66
#   elif __MWERKS__ == 0x3201
williamr@2
    67
#     define BOOST_COMPILER_VERSION 9.1
williamr@2
    68
#   elif __MWERKS__ == 0x3202
williamr@2
    69
#     define BOOST_COMPILER_VERSION 9.2
williamr@2
    70
#   elif __MWERKS__ == 0x3204
williamr@2
    71
#     define BOOST_COMPILER_VERSION 9.3
williamr@2
    72
#   elif __MWERKS__ == 0x3205
williamr@2
    73
#     define BOOST_COMPILER_VERSION 9.4
williamr@2
    74
#   elif __MWERKS__ == 0x3206
williamr@2
    75
#     define BOOST_COMPILER_VERSION 9.5
williamr@2
    76
#   else
williamr@2
    77
#     define BOOST_COMPILER_VERSION __MWERKS__
williamr@2
    78
#   endif
williamr@2
    79
#else
williamr@2
    80
#  define BOOST_COMPILER_VERSION __MWERKS__
williamr@2
    81
#endif
williamr@2
    82
williamr@2
    83
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
williamr@2
    84
williamr@2
    85
//
williamr@2
    86
// versions check:
williamr@2
    87
// we don't support Metrowerks prior to version 5.3:
williamr@2
    88
#if __MWERKS__ < 0x2301
williamr@2
    89
#  error "Compiler not supported or configured - please reconfigure"
williamr@2
    90
#endif
williamr@2
    91
//
williamr@2
    92
// last known and checked version:
williamr@2
    93
#if (__MWERKS__ > 0x3205)
williamr@2
    94
#  if defined(BOOST_ASSERT_CONFIG)
williamr@2
    95
#     error "Unknown compiler version - please run the configure tests and report the results"
williamr@2
    96
#  endif
williamr@2
    97
#endif
williamr@2
    98
williamr@2
    99
williamr@2
   100
williamr@2
   101
williamr@2
   102
williamr@2
   103
williamr@2
   104