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
     1 //  (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
    17 #     define BOOST_NO_STD_LOCALE
    18 #   endif 
    19 
    20 #   if __MWERKS__ <= 0x2301  // 5.3
    21 #     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
    22 #     define BOOST_NO_POINTER_TO_MEMBER_CONST
    23 #     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
    24 #     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
    25 #   endif
    26 
    27 #   if __MWERKS__ <= 0x2401  // 6.2
    28 //#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
    29 #   endif
    30 
    31 #   if(__MWERKS__ <= 0x2407)  // 7.x
    32 #     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
    33 #     define BOOST_NO_UNREACHABLE_RETURN_DETECTION
    34 #   endif
    35 
    36 #   if(__MWERKS__ <= 0x3003)  // 8.x
    37 #     define BOOST_NO_SFINAE
    38 #    endif
    39 
    40 // the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
    41 // tested version *only*:
    42 #   if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5
    43 #     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
    44 #     define BOOST_NO_IS_ABSTRACT
    45 #    endif
    46 
    47 #if !__option(wchar_type)
    48 #   define BOOST_NO_INTRINSIC_WCHAR_T
    49 #endif
    50 
    51 #if !__option(exceptions)
    52 #   define BOOST_NO_EXCEPTIONS
    53 #endif
    54 
    55 #if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
    56 #   if __MWERKS__ == 0x3000
    57 #     define BOOST_COMPILER_VERSION 8.0
    58 #   elif __MWERKS__ == 0x3001
    59 #     define BOOST_COMPILER_VERSION 8.1
    60 #   elif __MWERKS__ == 0x3002
    61 #     define BOOST_COMPILER_VERSION 8.2
    62 #   elif __MWERKS__ == 0x3003
    63 #     define BOOST_COMPILER_VERSION 8.3
    64 #   elif __MWERKS__ == 0x3200
    65 #     define BOOST_COMPILER_VERSION 9.0
    66 #   elif __MWERKS__ == 0x3201
    67 #     define BOOST_COMPILER_VERSION 9.1
    68 #   elif __MWERKS__ == 0x3202
    69 #     define BOOST_COMPILER_VERSION 9.2
    70 #   elif __MWERKS__ == 0x3204
    71 #     define BOOST_COMPILER_VERSION 9.3
    72 #   elif __MWERKS__ == 0x3205
    73 #     define BOOST_COMPILER_VERSION 9.4
    74 #   elif __MWERKS__ == 0x3206
    75 #     define BOOST_COMPILER_VERSION 9.5
    76 #   else
    77 #     define BOOST_COMPILER_VERSION __MWERKS__
    78 #   endif
    79 #else
    80 #  define BOOST_COMPILER_VERSION __MWERKS__
    81 #endif
    82 
    83 #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
    84 
    85 //
    86 // versions check:
    87 // we don't support Metrowerks prior to version 5.3:
    88 #if __MWERKS__ < 0x2301
    89 #  error "Compiler not supported or configured - please reconfigure"
    90 #endif
    91 //
    92 // last known and checked version:
    93 #if (__MWERKS__ > 0x3205)
    94 #  if defined(BOOST_ASSERT_CONFIG)
    95 #     error "Unknown compiler version - please run the configure tests and report the results"
    96 #  endif
    97 #endif
    98 
    99 
   100 
   101 
   102 
   103 
   104