|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 // STLport configuration file |
|
18 // It is internal STLport header - DO NOT include it directly |
|
19 |
|
20 #define _STLP_COMPILER "Metrowerk Codewarrior" |
|
21 |
|
22 // Bring in definition of __MSL__ and related items |
|
23 #ifndef __SYMBIAN32__ |
|
24 #include <mslglobals.h> |
|
25 #include <ansi_parms.h> |
|
26 #endif |
|
27 // |
|
28 // Compiler features |
|
29 // |
|
30 |
|
31 |
|
32 // *** CodeWarrior Compiler Common Features *** |
|
33 #ifdef __SYMBIAN32__ |
|
34 //The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used. |
|
35 # define _STLP_NO_VENDOR_STDLIB_L 1 |
|
36 #endif // __SYMBAIN32__ |
|
37 # if __option(longlong) |
|
38 # define _STLP_LONG_LONG long long |
|
39 # endif |
|
40 |
|
41 #ifndef __SYMBIAN32__ |
|
42 # define _STLP_USE_UNIX_EMULATION_IO 1 |
|
43 #endif |
|
44 |
|
45 # define _STLP_USE_AUTO_PTR_CONVERSIONS 1 |
|
46 |
|
47 # ifdef __INTEL__ |
|
48 # define _STLP_LITTLE_ENDIAN |
|
49 # else |
|
50 # define _STLP_BIG_ENDIAN |
|
51 # endif |
|
52 |
|
53 #if defined(_MSL_NO_LOCALE) |
|
54 #define _STLP_NO_IMPORT_LOCALE |
|
55 #endif |
|
56 #if !__option( wchar_type ) |
|
57 # define _STLP_WCHAR_T_IS_USHORT |
|
58 #endif |
|
59 |
|
60 # if __MWERKS__ < 0x3000 |
|
61 // *** CodeWarrior Compiler Common Bugs *** |
|
62 # define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this |
|
63 # define _STLP_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. |
|
64 # define _STLP_THROW_RETURN_BUG 1 |
|
65 # endif |
|
66 |
|
67 // *** Version-specific settings *** |
|
68 |
|
69 # if __MWERKS__ >= 0x2405 |
|
70 # define _STLP_HAS_NATIVE_FLOAT_ABS |
|
71 # endif |
|
72 |
|
73 # if __MWERKS__ < 0x2405 |
|
74 # define _STLP_STATIC_CONST_INIT_BUG |
|
75 # endif |
|
76 |
|
77 # if __MWERKS__ <= 0x2303 |
|
78 # define _STLP_NO_TEMPLATE_CONVERSIONS 1 |
|
79 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 |
|
80 # endif |
|
81 |
|
82 # if __MWERKS__ < 0x2301 |
|
83 # define _STLP_MEMBER_SPECIALIZATION_BUG 1 |
|
84 # endif |
|
85 |
|
86 # if __MWERKS__ < 0x2300 // CW Pro5 features |
|
87 # define _STLP_INLINE_MEMBER_TEMPLATES 1 |
|
88 # define _STLP_RELOPS_IN_STD_BUG 1 |
|
89 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 |
|
90 # define _STLP_DEF_CONST_DEF_PARAM_BUG 1 |
|
91 # define _STLP_NO_TYPENAME_ON_RETURN_TYPE |
|
92 # endif |
|
93 |
|
94 # if __MWERKS__ < 0x2200 // CW Pro4 features |
|
95 # define _STLP_BROKEN_USING_DIRECTIVE 1 |
|
96 # define _STLP_NO_MEMBER_TEMPLATES 1 |
|
97 # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 |
|
98 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 |
|
99 # define _STLP_NO_FRIEND_TEMPLATES 1 |
|
100 # define _STLP_NO_QUALIFIED_FRIENDS 1 |
|
101 # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 |
|
102 # endif |
|
103 |
|
104 # if __MWERKS__ < 0x2100 // CW Pro3 features |
|
105 # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 |
|
106 # define _STLP_HAS_NO_NAMESPACES 1 |
|
107 # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 |
|
108 |
|
109 # define _STLP_NEED_TYPENAME 1 |
|
110 # define _STLP_NO_ARROW_OPERATOR 1 |
|
111 # define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 |
|
112 # define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 |
|
113 # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 |
|
114 # define _STLP_INLINE_NAME_RESOLUTION_BUG 1 |
|
115 // *** Metrowerks Standard Library Bug *** |
|
116 # define _STLP_MSVC50_COMPATIBILITY 1 |
|
117 # endif |
|
118 |
|
119 # if __MWERKS__ < 0x2000 // v. 2.0 features |
|
120 # define _STLP_NO_WCHAR_T 1 |
|
121 # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 |
|
122 # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 |
|
123 # endif |
|
124 |
|
125 # if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines |
|
126 # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 |
|
127 # define _STLP_BASE_TYPEDEF_BUG 1 |
|
128 # define _STLP_BASE_MATCH_BUG 1 |
|
129 # define _STLP_NONTEMPL_BASE_MATCH_BUG 1 |
|
130 # define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters |
|
131 |
|
132 # if __MWERKS__ < 0x1800 |
|
133 __GIVE_UP_WITH_STL(CW_18) |
|
134 # endif |
|
135 |
|
136 # endif |
|
137 |
|
138 #ifndef __SYMBIAN32__ |
|
139 // fixes to native inclusion wrappers. |
|
140 # if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 |
|
141 # define _STLP_NATIVE_INCLUDE_PATH ../include |
|
142 # define _STLP_NATIVE_C_INCLUDE_PATH ../include |
|
143 # define _STLP_NATIVE_HEADER(header) <../include/##header> |
|
144 # define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> |
|
145 # define _STLP_NATIVE_C_HEADER(header) <../include/##header> |
|
146 # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> |
|
147 # else |
|
148 |
|
149 # define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include |
|
150 # define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes |
|
151 # define _STLP_NATIVE_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> |
|
152 # define _STLP_NATIVE_CPP_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> |
|
153 # define _STLP_NATIVE_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> |
|
154 # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> |
|
155 |
|
156 # endif |
|
157 #endif //if __SYMBIAN32__ |
|
158 //Following block come from boost intrinsics.hpp file: |
|
159 #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) |
|
160 // Metrowerks compiler is acquiring intrinsic type traits support |
|
161 // post version 8. We hook into the published interface to pick up |
|
162 // user defined specializations as well as compiler intrinsics as |
|
163 // and when they become available: |
|
164 # include <msl_utility> |
|
165 # define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value |
|
166 # define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value |
|
167 # define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value |
|
168 # define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value |
|
169 # define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value |
|
170 # define _STLP_HAS_TYPE_TRAITS_INTRINSICS |
|
171 #endif |
|
172 |
|
173 // fbp |
|
174 # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 |
|
175 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 |
|
176 # endif |
|
177 |
|
178 # if defined(__MACH__) |
|
179 # define _STLP_MAC |
|
180 # define O_BINARY 0 |
|
181 # elif defined(macintosh) |
|
182 # define _NOTHREADS |
|
183 # endif |
|
184 #ifndef __SYMBIAN32__ |
|
185 # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 |
|
186 #endif // __SYMBIAN32__ |