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