epoc32/include/stdapis/stlportv5/stl/config/_mwerks.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 epoc32/include/tools/stlport/stl/config/_mwerks.h@2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
// STLport configuration file
williamr@2
     2
// It is internal STLport header - DO NOT include it directly
williamr@2
     3
williamr@2
     4
#define _STLP_COMPILER "Metrowerk Codewarrior"
williamr@2
     5
williamr@2
     6
// Bring in definition of __MSL__ and related items
williamr@2
     7
#include <mslGlobals.h>
williamr@2
     8
#include <ansi_parms.h>
williamr@2
     9
williamr@2
    10
//
williamr@2
    11
//  Compiler features
williamr@2
    12
//
williamr@2
    13
williamr@2
    14
williamr@2
    15
// *** CodeWarrior Compiler Common Features ***
williamr@2
    16
#  if __option(longlong)
williamr@2
    17
#   define _STLP_LONG_LONG  long long
williamr@2
    18
#  endif
williamr@2
    19
williamr@2
    20
#  define _STLP_USE_UNIX_EMULATION_IO  1
williamr@2
    21
williamr@2
    22
#  define _STLP_USE_AUTO_PTR_CONVERSIONS  1
williamr@2
    23
williamr@2
    24
# ifdef __INTEL__
williamr@2
    25
#  define _STLP_LITTLE_ENDIAN
williamr@2
    26
# else
williamr@2
    27
#  define _STLP_BIG_ENDIAN
williamr@2
    28
# endif
williamr@2
    29
williamr@2
    30
#if defined(_MSL_NO_LOCALE)
williamr@2
    31
#define _STLP_NO_IMPORT_LOCALE
williamr@2
    32
#endif
williamr@2
    33
#if !__option( wchar_type )
williamr@2
    34
# define _STLP_WCHAR_T_IS_USHORT
williamr@2
    35
#endif
williamr@2
    36
williamr@2
    37
#  if __MWERKS__ < 0x3000
williamr@2
    38
// *** CodeWarrior Compiler Common Bugs ***
williamr@2
    39
#   define __MSL_FIX_ITERATORS__(myType)    // Some MSL headers rely on this
williamr@2
    40
#   define _STLP_NO_FRIEND_TEMPLATES 1  // Bug mysteriously reintroduced in this version.
williamr@2
    41
#   define _STLP_THROW_RETURN_BUG  1
williamr@2
    42
#  endif
williamr@2
    43
williamr@2
    44
//  *** Version-specific settings ***
williamr@2
    45
williamr@2
    46
#  if __MWERKS__ >= 0x2405
williamr@2
    47
#   define _STLP_HAS_NATIVE_FLOAT_ABS
williamr@2
    48
#  endif
williamr@2
    49
williamr@2
    50
#  if __MWERKS__ < 0x2405
williamr@2
    51
#   define _STLP_STATIC_CONST_INIT_BUG
williamr@2
    52
#  endif
williamr@2
    53
williamr@2
    54
#  if __MWERKS__ <= 0x2303
williamr@2
    55
#   define _STLP_NO_TEMPLATE_CONVERSIONS  1
williamr@2
    56
#   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD  1
williamr@2
    57
#  endif
williamr@2
    58
williamr@2
    59
#  if __MWERKS__ < 0x2301
williamr@2
    60
#   define _STLP_MEMBER_SPECIALIZATION_BUG  1
williamr@2
    61
#  endif
williamr@2
    62
williamr@2
    63
#  if __MWERKS__ < 0x2300    // CW Pro5 features
williamr@2
    64
#   define _STLP_INLINE_MEMBER_TEMPLATES 1
williamr@2
    65
#   define _STLP_RELOPS_IN_STD_BUG   1
williamr@2
    66
#   define _STLP_DEF_CONST_PLCT_NEW_BUG 1
williamr@2
    67
#   define _STLP_DEF_CONST_DEF_PARAM_BUG 1
williamr@2
    68
#   define _STLP_NO_TYPENAME_ON_RETURN_TYPE
williamr@2
    69
#  endif
williamr@2
    70
williamr@2
    71
#  if __MWERKS__ < 0x2200    // CW Pro4 features
williamr@2
    72
#   define _STLP_BROKEN_USING_DIRECTIVE  1
williamr@2
    73
#   define _STLP_NO_MEMBER_TEMPLATES 1
williamr@2
    74
#   define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
williamr@2
    75
#   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
williamr@2
    76
#   define _STLP_NO_FRIEND_TEMPLATES 1
williamr@2
    77
#   define _STLP_NO_QUALIFIED_FRIENDS 1
williamr@2
    78
#   define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
williamr@2
    79
#  endif
williamr@2
    80
williamr@2
    81
#  if __MWERKS__ < 0x2100      // CW Pro3 features
williamr@2
    82
#   define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
williamr@2
    83
#   define _STLP_HAS_NO_NAMESPACES 1
williamr@2
    84
#   define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
williamr@2
    85
williamr@2
    86
#   define _STLP_NEED_TYPENAME        1
williamr@2
    87
#   define _STLP_NO_ARROW_OPERATOR 1
williamr@2
    88
#   define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG  1
williamr@2
    89
#   define _STLP_FORCED_INLINE_INSTANTIATION_BUG  1
williamr@2
    90
#   define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG  1
williamr@2
    91
#   define _STLP_INLINE_NAME_RESOLUTION_BUG  1
williamr@2
    92
// *** Metrowerks Standard Library Bug ***
williamr@2
    93
#   define _STLP_MSVC50_COMPATIBILITY 1
williamr@2
    94
#  endif
williamr@2
    95
williamr@2
    96
#  if __MWERKS__ < 0x2000      // v. 2.0 features
williamr@2
    97
#   define _STLP_NO_WCHAR_T 1
williamr@2
    98
#   define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
williamr@2
    99
#   define _STLP_NON_TYPE_TMPL_PARAM_BUG  1  // dwa 8/21/97 - this bug fixed for CWPro2
williamr@2
   100
#  endif
williamr@2
   101
williamr@2
   102
#  if __MWERKS__ < 0x1900                 // dwa 8/19/97 - 1.9 Compiler feature defines
williamr@2
   103
#   define _STLP_LIMITED_DEFAULT_TEMPLATES 1
williamr@2
   104
#   define _STLP_BASE_TYPEDEF_BUG        1
williamr@2
   105
#   define _STLP_BASE_MATCH_BUG   1
williamr@2
   106
#   define _STLP_NONTEMPL_BASE_MATCH_BUG 1
williamr@2
   107
#   define _STLP_DEFAULT_TYPE_PARAM  1      // More limited template parameters
williamr@2
   108
williamr@2
   109
#   if __MWERKS__ < 0x1800
williamr@2
   110
    __GIVE_UP_WITH_STL(CW_18)
williamr@2
   111
#   endif
williamr@2
   112
williamr@2
   113
#  endif
williamr@2
   114
williamr@2
   115
williamr@2
   116
// fixes to native inclusion wrappers.
williamr@2
   117
# if __MWERKS__ >= 0x2300  // CWPro5 changes paths - dwa 2/28/99
williamr@2
   118
#  define _STLP_NATIVE_INCLUDE_PATH  ../include
williamr@2
   119
#  define _STLP_NATIVE_C_INCLUDE_PATH  ../include
williamr@2
   120
#  define _STLP_NATIVE_HEADER(header)     <../include/##header>
williamr@2
   121
#  define _STLP_NATIVE_CPP_C_HEADER(header)     <../include/##header>
williamr@2
   122
#  define _STLP_NATIVE_C_HEADER(header)     <../include/##header>
williamr@2
   123
#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
williamr@2
   124
# else
williamr@2
   125
williamr@2
   126
#  define _STLP_NATIVE_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include
williamr@2
   127
#  define _STLP_NATIVE_C_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes
williamr@2
   128
#  define _STLP_NATIVE_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
williamr@2
   129
#  define _STLP_NATIVE_CPP_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
williamr@2
   130
#  define _STLP_NATIVE_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
williamr@2
   131
#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
williamr@2
   132
williamr@2
   133
# endif
williamr@2
   134
williamr@2
   135
//Following block come from boost intrinsics.hpp file:
williamr@2
   136
#if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
williamr@2
   137
    // Metrowerks compiler is acquiring intrinsic type traits support
williamr@2
   138
    // post version 8.  We hook into the published interface to pick up
williamr@2
   139
    // user defined specializations as well as compiler intrinsics as
williamr@2
   140
    // and when they become available:
williamr@2
   141
#   include <msl_utility>
williamr@2
   142
#   define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value
williamr@2
   143
#   define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value
williamr@2
   144
#   define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value
williamr@2
   145
#   define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value
williamr@2
   146
#   define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value
williamr@2
   147
#   define _STLP_HAS_TYPE_TRAITS_INTRINSICS
williamr@2
   148
#endif
williamr@2
   149
williamr@2
   150
// fbp
williamr@2
   151
# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
williamr@2
   152
#   define _STLP_NO_NATIVE_WIDE_STREAMS 1
williamr@2
   153
#  endif
williamr@2
   154
williamr@2
   155
# if defined(__MACH__)
williamr@2
   156
#  define _STLP_MAC
williamr@2
   157
#  define O_BINARY 0
williamr@2
   158
# elif defined(macintosh)
williamr@2
   159
#  define _NOTHREADS
williamr@2
   160
# endif
williamr@2
   161
# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1