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