|
1 // STLport configuration file for Digital Mars C++ |
|
2 |
|
3 #ifndef _STLP_DMC_H |
|
4 # define _STLP_DMC_H |
|
5 |
|
6 #if __DMC__ < 0x832 |
|
7 #error "Digital Mars C++ versions prior to 8.32 are not supported!" |
|
8 #endif |
|
9 |
|
10 |
|
11 #ifndef _CPPUNWIND |
|
12 # define _STLP_NO_EXCEPTIONS |
|
13 #endif |
|
14 # undef _STLP_NO_NAMESPACES |
|
15 # define _STLP_NO_RELOPS_NAMESPACE |
|
16 # define _STLP_VENDOR_GLOBAL_CSTD |
|
17 # define _STLP_VENDOR_GLOBAL_STD |
|
18 # define _STLP_VENDOR_EXCEPT_STD std |
|
19 |
|
20 # if !defined(_WIN32) |
|
21 // it's not fully supported on non-Win32 platforms |
|
22 # define _STLP_NO_NEW_IOSTREAMS |
|
23 # define _STLP_NO_NATIVE_WIDE_FUNCTIONS |
|
24 # endif |
|
25 |
|
26 # if defined(_STLP_NO_NEW_IOSTREAMS) || defined(_STLP_NO_OWN_IOSTREAMS) |
|
27 # define _STLP_OWN_NAMESPACE |
|
28 # else |
|
29 # define _STLP_NO_OWN_NAMESPACE |
|
30 # endif |
|
31 |
|
32 |
|
33 // select threads strategy |
|
34 # if defined (_MT) && !defined (_NOTHREADS) |
|
35 # define _REENTRANT |
|
36 # else |
|
37 # define _NOTHREADS |
|
38 # endif |
|
39 |
|
40 // select SGI-style alloc instead of allocator<T> |
|
41 # define _STLP_USE_SGI_ALLOCATORS |
|
42 |
|
43 // select allocation method you like |
|
44 # undef _STLP_USE_MALLOC |
|
45 # define _STLP_USE_NEWALLOC |
|
46 |
|
47 // this one is not mandatory, just enabled |
|
48 # undef _STLP_USE_DEFALLOC |
|
49 |
|
50 // define _STLP_USE_ABBREVS if your linker has trouble with long |
|
51 // external symbols |
|
52 # undef _STLP_USE_ABBREVS |
|
53 |
|
54 |
|
55 // unsigned 32-bit integer type |
|
56 # define _STLP_UINT32_T unsigned |
|
57 |
|
58 # ifndef _BOOL_DEFINED |
|
59 # define _STLP_NO_BOOL |
|
60 # else |
|
61 # define _STLP_DONT_USE_BOOL_TYPEDEF |
|
62 # endif |
|
63 |
|
64 # undef _STLP_YVALS_H |
|
65 # undef _STLP_LIMITED_DEFAULT_TEMPLATES |
|
66 # define _STLP_DEFAULT_TYPE_PARAM |
|
67 # undef _STLP_NO_STATIC_TEMPLATE_DATA |
|
68 # undef _STLP_RAND48 |
|
69 # undef _STLP_LOOP_INLINE_PROBLEMS |
|
70 |
|
71 # undef _STLP_HAS_NO_NAMESPACES |
|
72 |
|
73 # undef _STLP_NEED_TYPENAME |
|
74 # undef _STLP_NEED_EXPLICIT |
|
75 # undef _STLP_HAS_NO_EXCEPTIONS |
|
76 # undef _STLP_NO_EXCEPTION_SPEC |
|
77 # undef _STLP_WEAK_ATTRIBUTE |
|
78 # undef _STLP_BASE_MATCH_BUG |
|
79 # undef _STLP_NONTEMPL_BASE_MATCH_BUG |
|
80 # undef _STLP_NESTED_TYPE_PARAM_BUG |
|
81 # undef _STLP_NO_ARROW_OPERATOR |
|
82 # undef _STLP_UNINITIALIZABLE_PRIVATE |
|
83 # undef _STLP_BASE_TYPEDEF_BUG |
|
84 # undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG |
|
85 # undef _STLP_CONST_CONSTRUCTOR_BUG |
|
86 |
|
87 # undef _STLP_NO_NEW_STYLE_CASTS |
|
88 |
|
89 # ifndef _WCHAR_T_DEFINED |
|
90 # define _STLP_NO_WCHAR_T |
|
91 # endif |
|
92 # define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS |
|
93 |
|
94 # undef _STLP_WCHAR_T_IS_USHORT |
|
95 |
|
96 # if _INTEGRAL_MAX_BITS >= 64 |
|
97 # define _STLP_LONG_LONG long long |
|
98 # endif |
|
99 |
|
100 # undef _STLP_NO_LONG_DOUBLE |
|
101 # undef _STLP_NEED_MUTABLE |
|
102 # undef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX |
|
103 # undef _STLP_NO_BAD_ALLOC |
|
104 # undef _STLP_DEBUG_ALLOC |
|
105 # undef _STLP_NO_MEMBER_TEMPLATES |
|
106 # undef _STLP_NO_MEMBER_TEMPLATE_CLASSES |
|
107 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD |
|
108 # undef _STLP_NO_FRIEND_TEMPLATES |
|
109 # undef _STLP_NO_QUALIFIED_FRIENDS |
|
110 # undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION |
|
111 # undef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER |
|
112 # undef _STLP_AUTOMATIC_TYPE_TRAITS |
|
113 # undef _STLP_MEMBER_POINTER_PARAM_BUG |
|
114 # undef _STLP_NON_TYPE_TMPL_PARAM_BUG |
|
115 # undef _STLP_NO_DEFAULT_NON_TYPE_PARAM |
|
116 # undef _STLP_NO_METHOD_SPECIALIZATION |
|
117 # undef _STLP_STATIC_ARRAY_BUG |
|
118 # undef _STLP_STATIC_CONST_INIT_BUG |
|
119 # undef _STLP_TRIVIAL_CONSTRUCTOR_BUG |
|
120 # undef _STLP_TRIVIAL_DESTRUCTOR_BUG |
|
121 # undef _STLP_BROKEN_USING_DIRECTIVE |
|
122 # undef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS |
|
123 # undef _STLP_NO_EXCEPTION_HEADER |
|
124 # undef _STLP_DEFAULT_CONSTRUCTOR_BUG |
|
125 |
|
126 # define _STLP_HAS_NO_NEW_IOSTREAMS |
|
127 # define _STLP_HAS_NO_NEW_C_HEADERS |
|
128 # define _STLP_THROW_RETURN_BUG |
|
129 # undef _STLP_LINK_TIME_INSTANTIATION |
|
130 # undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS |
|
131 # undef _STLP_NO_TEMPLATE_CONVERSIONS |
|
132 # undef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS |
|
133 |
|
134 |
|
135 # define _STLP_NO_NATIVE_MBSTATE_T |
|
136 |
|
137 |
|
138 # define _STLP_EXPORT_DECLSPEC __declspec(dllexport) |
|
139 # define _STLP_IMPORT_DECLSPEC __declspec(dllimport) |
|
140 |
|
141 # define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) |
|
142 # define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) |
|
143 |
|
144 # define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport) |
|
145 # define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport) |
|
146 |
|
147 #define _STLP_NATIVE_HEADER(header) <../include/##header> |
|
148 #define _STLP_NATIVE_C_HEADER(header) <../include/##header> |
|
149 #define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> |
|
150 #define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../include/##header> |
|
151 #define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> |
|
152 |
|
153 |
|
154 # if defined(__BUILDING_STLPORT) && defined(_WINDLL) |
|
155 # define _STLP_CALL __export |
|
156 |
|
157 # undef _STLP_USE_DECLSPEC |
|
158 # define _STLP_USE_DECLSPEC 1 |
|
159 # endif |
|
160 |
|
161 # if !defined (__BUILDING_STLPORT) && !defined (_STLP_NO_OWN_IOSTREAMS) |
|
162 # if (defined (_DLL) && !defined (_STLP_DONT_USE_DLL)) || defined (_STLP_USE_DLL) |
|
163 # undef _STLP_USE_DECLSPEC |
|
164 # define _STLP_USE_DECLSPEC 1 |
|
165 # endif |
|
166 |
|
167 # if defined (_STLP_DEBUG) |
|
168 # if defined (_DLL) |
|
169 # if !defined (_STLP_DONT_USE_DLL) |
|
170 # pragma comment(lib,"stlp45dm_stldebug.lib") |
|
171 # else |
|
172 # pragma comment(lib,"stlp45dm_stldebug_staticx.lib") |
|
173 # endif |
|
174 # else |
|
175 # if defined (_STLP_USE_DLL) |
|
176 # pragma comment(lib,"stlp45dms_stldebug.lib") |
|
177 # else |
|
178 # pragma comment(lib,"stlp45dm_stldebug_static.lib") |
|
179 # endif |
|
180 # endif |
|
181 # elif defined (DEBUG) |
|
182 # if defined (_DLL) |
|
183 # if !defined (_STLP_DONT_USE_DLL) |
|
184 # pragma comment(lib,"stlp45dm_debug.lib") |
|
185 # else |
|
186 # pragma comment(lib,"stlp45dm_debug_staticx.lib") |
|
187 # endif |
|
188 # else |
|
189 # if defined (_STLP_USE_DLL) |
|
190 # pragma comment(lib,"stlp45dms_debug.lib") |
|
191 # else |
|
192 # pragma comment(lib,"stlp45dm_debug_static.lib") |
|
193 # endif |
|
194 # endif |
|
195 # else |
|
196 # if defined (_DLL) |
|
197 # if !defined (_STLP_DONT_USE_DLL) |
|
198 # pragma comment(lib,"stlp45dm.lib") |
|
199 # else |
|
200 # pragma comment(lib,"stlp45dm_staticx.lib") |
|
201 # endif |
|
202 # else |
|
203 # if defined (_STLP_USE_DLL) |
|
204 # pragma comment(lib,"stlp45dms.lib") |
|
205 # else |
|
206 # pragma comment(lib,"stlp45dm_static.lib") |
|
207 # endif |
|
208 # endif |
|
209 # endif |
|
210 # endif |
|
211 |
|
212 |
|
213 #ifdef __BUILDING_STLPORT |
|
214 // still needed for building STLport itself, but isn't needed for |
|
215 // compiling applications anymore |
|
216 # undef __SC__ |
|
217 #endif |
|
218 |
|
219 #undef __STLP_NO_KEYWORDS_WORKAROUND |
|
220 #if !defined (__STLP_NO_KEYWORDS_WORKAROUND) |
|
221 # define __in __stl_in |
|
222 # define __out __stl_out |
|
223 #endif |
|
224 |
|
225 #endif |