_mwerks.h revision 9720d5f59b9c1f5d1b9ecbc9173dbcb71bd557be
19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// STLport configuration file
29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// It is internal STLport header - DO NOT include it directly
39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_COMPILER "Metrowerk Codewarrior"
59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Bring in definition of __MSL__ and related items
79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <mslGlobals.h>
89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <ansi_parms.h>
99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//
119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//  Compiler features
129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//
139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** CodeWarrior Compiler Common Features ***
169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __option(longlong)
179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_LONG_LONG  long long
189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_USE_UNIX_EMULATION_IO  1
219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_USE_AUTO_PTR_CONVERSIONS  1
239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# ifdef __INTEL__
259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_LITTLE_ENDIAN
269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else
279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_BIG_ENDIAN
289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif
299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined(_MSL_NO_LOCALE)
319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_IMPORT_LOCALE
329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if !__option( wchar_type )
349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_WCHAR_T_IS_USHORT
359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x3000
389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** CodeWarrior Compiler Common Bugs ***
399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define __MSL_FIX_ITERATORS__(myType)    // Some MSL headers rely on this
409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_FRIEND_TEMPLATES 1  // Bug mysteriously reintroduced in this version.
419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_THROW_RETURN_BUG  1
429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//  *** Version-specific settings ***
459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ >= 0x2405
479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_NATIVE_FLOAT_ABS
489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2405
519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_STATIC_CONST_INIT_BUG
529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ <= 0x2303
559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_TEMPLATE_CONVERSIONS  1
569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD  1
579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2301
609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_MEMBER_SPECIALIZATION_BUG  1
619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2300    // CW Pro5 features
649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_INLINE_MEMBER_TEMPLATES 1
659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_RELOPS_IN_STD_BUG   1
669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_DEF_CONST_PLCT_NEW_BUG 1
679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_DEF_CONST_DEF_PARAM_BUG 1
689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_TYPENAME_ON_RETURN_TYPE
699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2200    // CW Pro4 features
729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_BROKEN_USING_DIRECTIVE  1
739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_MEMBER_TEMPLATES 1
749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_FRIEND_TEMPLATES 1
779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_QUALIFIED_FRIENDS 1
789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2100      // CW Pro3 features
829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_NO_NAMESPACES 1
849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NEED_TYPENAME        1
879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_ARROW_OPERATOR 1
889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG  1
899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_FORCED_INLINE_INSTANTIATION_BUG  1
909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG  1
919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_INLINE_NAME_RESOLUTION_BUG  1
929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** Metrowerks Standard Library Bug ***
939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_MSVC50_COMPATIBILITY 1
949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x2000      // v. 2.0 features
979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_WCHAR_T 1
989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NON_TYPE_TMPL_PARAM_BUG  1  // dwa 8/21/97 - this bug fixed for CWPro2
1009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
1019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  if __MWERKS__ < 0x1900                 // dwa 8/19/97 - 1.9 Compiler feature defines
1039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_LIMITED_DEFAULT_TEMPLATES 1
1049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_BASE_TYPEDEF_BUG        1
1059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_BASE_MATCH_BUG   1
1069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NONTEMPL_BASE_MATCH_BUG 1
1079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_DEFAULT_TYPE_PARAM  1      // More limited template parameters
1089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   if __MWERKS__ < 0x1800
1109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    __GIVE_UP_WITH_STL(CW_18)
1119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   endif
1129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
1149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// fixes to native inclusion wrappers.
1179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ >= 0x2300  // CWPro5 changes paths - dwa 2/28/99
1189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH  ../include
1199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH  ../include
1209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_HEADER(header)     <../include/##header>
1219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_C_HEADER(header)     <../include/##header>
1229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_HEADER(header)     <../include/##header>
1239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
1249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else
1259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include
1279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes
1289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
1299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
1309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
1319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
1329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif
1349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//Following block come from boost intrinsics.hpp file:
1369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
1379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    // Metrowerks compiler is acquiring intrinsic type traits support
1389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    // post version 8.  We hook into the published interface to pick up
1399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    // user defined specializations as well as compiler intrinsics as
1409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    // and when they become available:
1419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   include <msl_utility>
1429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value
1439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value
1449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value
1459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value
1469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value
1479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_HAS_TYPE_TRAITS_INTRINSICS
1489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
1499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// fbp
1519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
1529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#   define _STLP_NO_NATIVE_WIDE_STREAMS 1
1539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
1549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if defined(__MACH__)
1569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_MAC
1579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define O_BINARY 0
1589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# elif defined(macintosh)
1599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _NOTHREADS
1609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif
1619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1
162