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