genericopenlibs/cppstdlib/stl/stlport/stl/config/_mwerks.h
changeset 31 ce057bb09d0b
child 34 5fae379060a7
equal deleted inserted replaced
30:e20de85af2ee 31:ce057bb09d0b
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 // STLport configuration file
       
    18 // It is internal STLport header - DO NOT include it directly
       
    19 
       
    20 #define _STLP_COMPILER "Metrowerk Codewarrior"
       
    21 
       
    22 // Bring in definition of __MSL__ and related items
       
    23 #ifndef __SYMBIAN32__
       
    24 #include <mslglobals.h>
       
    25 #include <ansi_parms.h>
       
    26 #endif
       
    27 //
       
    28 //  Compiler features
       
    29 //
       
    30 
       
    31 
       
    32 // *** CodeWarrior Compiler Common Features ***
       
    33 #ifdef __SYMBIAN32__
       
    34 //The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used.
       
    35 #  define _STLP_NO_VENDOR_STDLIB_L  1
       
    36 #endif // __SYMBAIN32__
       
    37 #  if __option(longlong)
       
    38 #   define _STLP_LONG_LONG  long long
       
    39 #  endif
       
    40 
       
    41 #ifndef __SYMBIAN32__
       
    42 #  define _STLP_USE_UNIX_EMULATION_IO  1
       
    43 #endif
       
    44 
       
    45 #  define _STLP_USE_AUTO_PTR_CONVERSIONS  1
       
    46 
       
    47 # ifdef __INTEL__
       
    48 #  define _STLP_LITTLE_ENDIAN
       
    49 # else
       
    50 #  define _STLP_BIG_ENDIAN
       
    51 # endif
       
    52 
       
    53 #if defined(_MSL_NO_LOCALE)
       
    54 #define _STLP_NO_IMPORT_LOCALE
       
    55 #endif
       
    56 #if !__option( wchar_type )
       
    57 # define _STLP_WCHAR_T_IS_USHORT
       
    58 #endif
       
    59 
       
    60 #  if __MWERKS__ < 0x3000
       
    61 // *** CodeWarrior Compiler Common Bugs ***
       
    62 #   define __MSL_FIX_ITERATORS__(myType)    // Some MSL headers rely on this
       
    63 #   define _STLP_NO_FRIEND_TEMPLATES 1  // Bug mysteriously reintroduced in this version.
       
    64 #   define _STLP_THROW_RETURN_BUG  1
       
    65 #  endif
       
    66 
       
    67 //  *** Version-specific settings ***
       
    68 
       
    69 #  if __MWERKS__ >= 0x2405
       
    70 #   define _STLP_HAS_NATIVE_FLOAT_ABS
       
    71 #  endif
       
    72 
       
    73 #  if __MWERKS__ < 0x2405
       
    74 #   define _STLP_STATIC_CONST_INIT_BUG
       
    75 #  endif
       
    76 
       
    77 #  if __MWERKS__ <= 0x2303
       
    78 #   define _STLP_NO_TEMPLATE_CONVERSIONS  1
       
    79 #   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD  1
       
    80 #  endif
       
    81 
       
    82 #  if __MWERKS__ < 0x2301
       
    83 #   define _STLP_MEMBER_SPECIALIZATION_BUG  1
       
    84 #  endif
       
    85 
       
    86 #  if __MWERKS__ < 0x2300    // CW Pro5 features
       
    87 #   define _STLP_INLINE_MEMBER_TEMPLATES 1
       
    88 #   define _STLP_RELOPS_IN_STD_BUG   1
       
    89 #   define _STLP_DEF_CONST_PLCT_NEW_BUG 1
       
    90 #   define _STLP_DEF_CONST_DEF_PARAM_BUG 1
       
    91 #   define _STLP_NO_TYPENAME_ON_RETURN_TYPE
       
    92 #  endif
       
    93 
       
    94 #  if __MWERKS__ < 0x2200    // CW Pro4 features
       
    95 #   define _STLP_BROKEN_USING_DIRECTIVE  1
       
    96 #   define _STLP_NO_MEMBER_TEMPLATES 1
       
    97 #   define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
       
    98 #   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
       
    99 #   define _STLP_NO_FRIEND_TEMPLATES 1
       
   100 #   define _STLP_NO_QUALIFIED_FRIENDS 1
       
   101 #   define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
       
   102 #  endif
       
   103 
       
   104 #  if __MWERKS__ < 0x2100      // CW Pro3 features
       
   105 #   define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
       
   106 #   define _STLP_HAS_NO_NAMESPACES 1
       
   107 #   define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
       
   108 
       
   109 #   define _STLP_NEED_TYPENAME        1
       
   110 #   define _STLP_NO_ARROW_OPERATOR 1
       
   111 #   define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG  1
       
   112 #   define _STLP_FORCED_INLINE_INSTANTIATION_BUG  1
       
   113 #   define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG  1
       
   114 #   define _STLP_INLINE_NAME_RESOLUTION_BUG  1
       
   115 // *** Metrowerks Standard Library Bug ***
       
   116 #   define _STLP_MSVC50_COMPATIBILITY 1
       
   117 #  endif
       
   118 
       
   119 #  if __MWERKS__ < 0x2000      // v. 2.0 features
       
   120 #   define _STLP_NO_WCHAR_T 1
       
   121 #   define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
       
   122 #   define _STLP_NON_TYPE_TMPL_PARAM_BUG  1  // dwa 8/21/97 - this bug fixed for CWPro2
       
   123 #  endif
       
   124 
       
   125 #  if __MWERKS__ < 0x1900                 // dwa 8/19/97 - 1.9 Compiler feature defines
       
   126 #   define _STLP_LIMITED_DEFAULT_TEMPLATES 1
       
   127 #   define _STLP_BASE_TYPEDEF_BUG        1
       
   128 #   define _STLP_BASE_MATCH_BUG   1
       
   129 #   define _STLP_NONTEMPL_BASE_MATCH_BUG 1
       
   130 #   define _STLP_DEFAULT_TYPE_PARAM  1      // More limited template parameters
       
   131 
       
   132 #   if __MWERKS__ < 0x1800
       
   133     __GIVE_UP_WITH_STL(CW_18)
       
   134 #   endif
       
   135 
       
   136 #  endif
       
   137 
       
   138 #ifndef __SYMBIAN32__
       
   139 // fixes to native inclusion wrappers.
       
   140 # if __MWERKS__ >= 0x2300  // CWPro5 changes paths - dwa 2/28/99
       
   141 #  define _STLP_NATIVE_INCLUDE_PATH  ../include
       
   142 #  define _STLP_NATIVE_C_INCLUDE_PATH  ../include
       
   143 #  define _STLP_NATIVE_HEADER(header)     <../include/##header>
       
   144 #  define _STLP_NATIVE_CPP_C_HEADER(header)     <../include/##header>
       
   145 #  define _STLP_NATIVE_C_HEADER(header)     <../include/##header>
       
   146 #  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
       
   147 # else
       
   148 
       
   149 #  define _STLP_NATIVE_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include
       
   150 #  define _STLP_NATIVE_C_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes
       
   151 #  define _STLP_NATIVE_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
       
   152 #  define _STLP_NATIVE_CPP_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
       
   153 #  define _STLP_NATIVE_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
       
   154 #  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
       
   155 
       
   156 # endif
       
   157 #endif //if __SYMBIAN32__
       
   158 //Following block come from boost intrinsics.hpp file:
       
   159 #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
       
   160     // Metrowerks compiler is acquiring intrinsic type traits support
       
   161     // post version 8.  We hook into the published interface to pick up
       
   162     // user defined specializations as well as compiler intrinsics as
       
   163     // and when they become available:
       
   164 #   include <msl_utility>
       
   165 #   define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value
       
   166 #   define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value
       
   167 #   define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value
       
   168 #   define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value
       
   169 #   define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value
       
   170 #   define _STLP_HAS_TYPE_TRAITS_INTRINSICS
       
   171 #endif
       
   172 
       
   173 // fbp
       
   174 # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
       
   175 #   define _STLP_NO_NATIVE_WIDE_STREAMS 1
       
   176 #  endif
       
   177 
       
   178 # if defined(__MACH__)
       
   179 #  define _STLP_MAC
       
   180 #  define O_BINARY 0
       
   181 # elif defined(macintosh)
       
   182 #  define _NOTHREADS
       
   183 # endif
       
   184 #ifndef __SYMBIAN32__
       
   185 # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1
       
   186 #endif // __SYMBIAN32__