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