williamr@2: // STLport configuration file williamr@2: // It is internal STLport header - DO NOT include it directly williamr@2: williamr@2: #define _STLP_COMPILER "Metrowerk Codewarrior" williamr@2: williamr@2: // Bring in definition of __MSL__ and related items williamr@2: #include williamr@2: #include williamr@2: williamr@2: // williamr@2: // Compiler features williamr@2: // williamr@2: williamr@2: williamr@2: // *** CodeWarrior Compiler Common Features *** williamr@2: # if __option(longlong) williamr@2: # define _STLP_LONG_LONG long long williamr@2: # endif williamr@2: williamr@2: # define _STLP_USE_UNIX_EMULATION_IO 1 williamr@2: williamr@2: # define _STLP_USE_AUTO_PTR_CONVERSIONS 1 williamr@2: williamr@2: # ifdef __INTEL__ williamr@2: # define _STLP_LITTLE_ENDIAN williamr@2: # else williamr@2: # define _STLP_BIG_ENDIAN williamr@2: # endif williamr@2: williamr@2: #if defined(_MSL_NO_LOCALE) williamr@2: #define _STLP_NO_IMPORT_LOCALE williamr@2: #endif williamr@2: #if !__option( wchar_type ) williamr@2: # define _STLP_WCHAR_T_IS_USHORT williamr@2: #endif williamr@2: williamr@2: # if __MWERKS__ < 0x3000 williamr@2: // *** CodeWarrior Compiler Common Bugs *** williamr@2: # define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this williamr@2: # define _STLP_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. williamr@2: # define _STLP_THROW_RETURN_BUG 1 williamr@2: # endif williamr@2: williamr@2: // *** Version-specific settings *** williamr@2: williamr@2: # if __MWERKS__ >= 0x2405 williamr@2: # define _STLP_HAS_NATIVE_FLOAT_ABS williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2405 williamr@2: # define _STLP_STATIC_CONST_INIT_BUG williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ <= 0x2303 williamr@2: # define _STLP_NO_TEMPLATE_CONVERSIONS 1 williamr@2: # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2301 williamr@2: # define _STLP_MEMBER_SPECIALIZATION_BUG 1 williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2300 // CW Pro5 features williamr@2: # define _STLP_INLINE_MEMBER_TEMPLATES 1 williamr@2: # define _STLP_RELOPS_IN_STD_BUG 1 williamr@2: # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 williamr@2: # define _STLP_DEF_CONST_DEF_PARAM_BUG 1 williamr@2: # define _STLP_NO_TYPENAME_ON_RETURN_TYPE williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2200 // CW Pro4 features williamr@2: # define _STLP_BROKEN_USING_DIRECTIVE 1 williamr@2: # define _STLP_NO_MEMBER_TEMPLATES 1 williamr@2: # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 williamr@2: # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 williamr@2: # define _STLP_NO_FRIEND_TEMPLATES 1 williamr@2: # define _STLP_NO_QUALIFIED_FRIENDS 1 williamr@2: # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2100 // CW Pro3 features williamr@2: # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 williamr@2: # define _STLP_HAS_NO_NAMESPACES 1 williamr@2: # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 williamr@2: williamr@2: # define _STLP_NEED_TYPENAME 1 williamr@2: # define _STLP_NO_ARROW_OPERATOR 1 williamr@2: # define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 williamr@2: # define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 williamr@2: # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 williamr@2: # define _STLP_INLINE_NAME_RESOLUTION_BUG 1 williamr@2: // *** Metrowerks Standard Library Bug *** williamr@2: # define _STLP_MSVC50_COMPATIBILITY 1 williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x2000 // v. 2.0 features williamr@2: # define _STLP_NO_WCHAR_T 1 williamr@2: # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 williamr@2: # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 williamr@2: # endif williamr@2: williamr@2: # if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines williamr@2: # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 williamr@2: # define _STLP_BASE_TYPEDEF_BUG 1 williamr@2: # define _STLP_BASE_MATCH_BUG 1 williamr@2: # define _STLP_NONTEMPL_BASE_MATCH_BUG 1 williamr@2: # define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters williamr@2: williamr@2: # if __MWERKS__ < 0x1800 williamr@2: __GIVE_UP_WITH_STL(CW_18) williamr@2: # endif williamr@2: williamr@2: # endif williamr@2: williamr@2: williamr@2: // fixes to native inclusion wrappers. williamr@2: # if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 williamr@2: # define _STLP_NATIVE_INCLUDE_PATH ../include williamr@2: # define _STLP_NATIVE_C_INCLUDE_PATH ../include williamr@2: # define _STLP_NATIVE_HEADER(header) <../include/##header> williamr@2: # define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> williamr@2: # define _STLP_NATIVE_C_HEADER(header) <../include/##header> williamr@2: # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> williamr@2: # else williamr@2: williamr@2: # define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include williamr@2: # define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes williamr@2: # define _STLP_NATIVE_HEADER(header) williamr@2: # define _STLP_NATIVE_CPP_C_HEADER(header) williamr@2: # define _STLP_NATIVE_C_HEADER(header) williamr@2: # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) williamr@2: williamr@2: # endif williamr@2: williamr@2: //Following block come from boost intrinsics.hpp file: williamr@2: #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) williamr@2: // Metrowerks compiler is acquiring intrinsic type traits support williamr@2: // post version 8. We hook into the published interface to pick up williamr@2: // user defined specializations as well as compiler intrinsics as williamr@2: // and when they become available: williamr@2: # include williamr@2: # define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor::value williamr@2: # define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor::value williamr@2: # define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment::value williamr@2: # define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor::value williamr@2: # define _STLP_IS_POD(T) Metrowerks::is_POD::value williamr@2: # define _STLP_HAS_TYPE_TRAITS_INTRINSICS williamr@2: #endif williamr@2: williamr@2: // fbp williamr@2: # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 williamr@2: # define _STLP_NO_NATIVE_WIDE_STREAMS 1 williamr@2: # endif williamr@2: williamr@2: # if defined(__MACH__) williamr@2: # define _STLP_MAC williamr@2: # define O_BINARY 0 williamr@2: # elif defined(macintosh) williamr@2: # define _NOTHREADS williamr@2: # endif williamr@2: # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1