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_THROW_RETURN_BUG 1 41 # endif 42 43 // *** Version-specific settings *** 44 45 # if __MWERKS__ >= 0x2405 46 # define _STLP_HAS_NATIVE_FLOAT_ABS 47 # endif 48 49 # if __MWERKS__ < 0x2405 50 # define _STLP_STATIC_CONST_INIT_BUG 51 # endif 52 53 # if __MWERKS__ <= 0x2303 54 # define _STLP_NO_TEMPLATE_CONVERSIONS 1 55 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 56 # endif 57 58 # if __MWERKS__ < 0x2301 59 # define _STLP_MEMBER_SPECIALIZATION_BUG 1 60 # endif 61 62 # if __MWERKS__ < 0x2300 // CW Pro5 features 63 # define _STLP_INLINE_MEMBER_TEMPLATES 1 64 # define _STLP_RELOPS_IN_STD_BUG 1 65 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 66 # define _STLP_DEF_CONST_DEF_PARAM_BUG 1 67 # define _STLP_NO_TYPENAME_ON_RETURN_TYPE 68 # endif 69 70 # if __MWERKS__ < 0x2200 // CW Pro4 features 71 # define _STLP_BROKEN_USING_DIRECTIVE 1 72 # define _STLP_NO_MEMBER_TEMPLATES 1 73 # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 74 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 75 # define _STLP_NO_QUALIFIED_FRIENDS 1 76 # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 77 # endif 78 79 # if __MWERKS__ < 0x2100 // CW Pro3 features 80 # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 81 # define _STLP_HAS_NO_NAMESPACES 1 82 # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 83 84 # define _STLP_NEED_TYPENAME 1 85 # define _STLP_NO_ARROW_OPERATOR 1 86 # define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 87 # define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 88 # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 89 # define _STLP_INLINE_NAME_RESOLUTION_BUG 1 90 // *** Metrowerks Standard Library Bug *** 91 # define _STLP_MSVC50_COMPATIBILITY 1 92 # endif 93 94 # if __MWERKS__ < 0x2000 // v. 2.0 features 95 # define _STLP_NO_WCHAR_T 1 96 # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 97 # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 98 # endif 99 100 # if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines 101 # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 102 # define _STLP_BASE_TYPEDEF_BUG 1 103 # define _STLP_BASE_MATCH_BUG 1 104 # define _STLP_NONTEMPL_BASE_MATCH_BUG 1 105 # define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters 106 107 # if __MWERKS__ < 0x1800 108 __GIVE_UP_WITH_STL(CW_18) 109 # endif 110 111 # endif 112 113 114 // fixes to native inclusion wrappers. 115 # if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 116 # define _STLP_NATIVE_INCLUDE_PATH ../include 117 # define _STLP_NATIVE_C_INCLUDE_PATH ../include 118 # define _STLP_NATIVE_HEADER(header) <../include/##header> 119 # define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> 120 # define _STLP_NATIVE_C_HEADER(header) <../include/##header> 121 # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> 122 # else 123 124 # define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include 125 # define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes 126 # define _STLP_NATIVE_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> 127 # define _STLP_NATIVE_CPP_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> 128 # define _STLP_NATIVE_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> 129 # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> 130 131 # endif 132 133 //Following block come from boost intrinsics.hpp file: 134 #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) 135 // Metrowerks compiler is acquiring intrinsic type traits support 136 // post version 8. We hook into the published interface to pick up 137 // user defined specializations as well as compiler intrinsics as 138 // and when they become available: 139 # include <msl_utility> 140 # define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value 141 # define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value 142 # define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value 143 # define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value 144 # define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value 145 # define _STLP_HAS_TYPE_TRAITS_INTRINSICS 146 #endif 147 148 // fbp 149 # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 150 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 151 # endif 152 153 # if defined(__MACH__) 154 # define _STLP_MAC 155 # define O_BINARY 0 156 # elif defined(macintosh) 157 # define _NOTHREADS 158 # endif 159 # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 160