ReactOS
0.4.16-dev-106-g10b08aa
host.h
Go to the documentation of this file.
1
/*
2
* This file defines site configuration.
3
*/
4
5
/*
6
* _STLP_NO_THREADS: if defined, STLport don't use any
7
* multithreading support. Synonym is _NOTHREADS
8
*/
9
/*
10
#define _NOTHREADS
11
#define _STLP_NO_THREADS
12
*/
13
14
/* _PTHREADS: if defined, use POSIX threads for multithreading support. */
15
/*
16
#define _PTHREADS
17
*/
18
19
/* compatibility section
20
*/
21
22
#if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
23
# if !defined (_NOTHREADS)
24
# define _NOTHREADS
25
# endif
26
# if !defined (_STLP_NO_THREADS)
27
# define _STLP_NO_THREADS
28
# endif
29
#endif
30
31
#if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB)
32
/*
33
* Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library.
34
* NOTE: please do that only if you know what you are doing!
35
* Changing default will require you to change makefiles in "build" accordingly
36
* and to rebuild STLPort library!
37
* On UNIX, this has no effect, see build/lib/README for make tags.
38
* See STLport configuration file (build/lib/configure.bat) for help in building
39
* the require library versions.
40
*/
41
/*
42
#define _STLP_USE_DYNAMIC_LIB
43
*/
44
/*
45
* Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library.
46
* NOTE: please do that only if you know what you are doing!
47
* Changing default will require you to change makefile in "build" accordingly
48
* and to rebuild STLPort library!
49
* On UNIX, this has no effect, see build/lib/README for make tags.
50
* See STLport configuration file (build/lib/configure.bat) for help in building
51
* the require library versions.
52
*/
53
54
#define _STLP_USE_STATIC_LIB
55
56
#endif
57
58
/*
59
* Edit relative path below (or put full path) to get native
60
* compiler vendor's headers included. Default is "../include"
61
* for _STLP_NATIVE_INCLUDE_PATH, default for other macros is
62
* _STLP_NATIVE_INCLUDE_PATH.
63
* Hint: never install STLport in the directory that ends with "include"
64
*/
65
/*
66
#undef _STLP_NATIVE_INCLUDE_PATH
67
#define _STLP_NATIVE_INCLUDE_PATH ../include
68
*/
69
/* same for C library headers like <cstring> */
70
/*
71
#undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
72
#define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
73
*/
74
/* same for C headers like <string.h> */
75
/*
76
#undef _STLP_NATIVE_C_INCLUDE_PATH
77
#define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
78
*/
79
/* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */
80
/*
81
#undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH
82
#define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
83
*/
84
85
/*
86
* If namespases available, STLport use own namespace (and masquerade
87
* it as std). Disable own namespace may cause undefined behaviour.
88
*/
89
/*
90
#define _STLP_NO_OWN_NAMESPACE 1
91
*/
92
93
/*
94
* Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated
95
* memory chunks. Normally not required. But if you worry about quazi-leaks
96
* (may be reported by some leaks detection tools), use
97
* _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or
98
* _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean
99
* its internal memory pool but only if STLport is used as a dynamic library
100
* under Win32 (using MSVC like compilers).
101
*/
102
/*
103
#define _STLP_LEAKS_PEDANTIC 1
104
*/
105
106
/*
107
* Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
108
* instead of STLport optimized node allocator engine.
109
*/
110
/*
111
#define _STLP_USE_NEWALLOC 1
112
*/
113
114
/*
115
* Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
116
* instead of STLport optimized node allocator engine.
117
*
118
* This is default allocator for glibc 2.3.x and later, if not mentioned other
119
*/
120
/*
121
#define _STLP_USE_MALLOC 1
122
*/
123
124
/*
125
* Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator<T> to use
126
* a specific implementation targetting the massively multi-threaded
127
* environment. The implementation is based on the POSIX pthread
128
* interface.
129
*/
130
/*
131
#define _STLP_USE_PERTHREAD_ALLOC 1
132
*/
133
134
/*
135
* Uncomment _STLP_USE_NODE_ALLOC if you want to force allocator<T> to use
136
* "node_alloc" allocator (this is default allocator for STLport, if not
137
* used other above, except glibc 2.3.x and later, where default is
138
* "malloc", due to better results)
139
*/
140
/*
141
#define _STLP_USE_NODE_ALLOC 1
142
*/
143
144
/*
145
* Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
146
* such as padding/checking for memory consistency
147
*/
148
/*
149
#define _STLP_DEBUG_ALLOC 1
150
*/
151
152
/*
153
* For compiler not supporting partial template specialization or ordering of
154
* template functions STLport implement a workaround based on inheritance
155
* detection. This inheritance can introduce trouble in client code when
156
* a user class derived a STL container (which is not advised as STL containers
157
* do not have virtual destructors). To disable this workaround turn this macro on:
158
*/
159
/*
160
#define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1
161
*/
162
163
/*
164
* Uncomment this to force all debug diagnostic to be directed through a
165
* user-defined global function:
166
* void __stl_debug_message(const char * format_str, ...)
167
* instead of predefined STLport routine.
168
* This allows you to take control of debug message output.
169
* Default routine calls fprintf(stderr,...)
170
* Note : If you set this macro, you must supply __stl_debug_message
171
* function definition somewhere.
172
*/
173
/*
174
#define _STLP_DEBUG_MESSAGE 1
175
*/
176
177
/*
178
* Uncomment this to force all failed assertions to be executed through
179
* user-defined global function:
180
* void __stl_debug_terminate(void). This allows
181
* you to take control of assertion behaviour for debugging purposes.
182
* Default routine calls _STLP_ABORT().
183
* Note : If you set this macro, you must supply __stl_debug_terminate
184
* function definition somewhere.
185
*/
186
/*
187
#define _STLP_DEBUG_TERMINATE 1
188
*/
189
190
/*
191
* Uncomment that to disable exception handling code
192
*/
193
/*
194
#define _STLP_DONT_USE_EXCEPTIONS 1
195
*/
196
197
/*
198
* _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
199
* stlport:: or std::, even if the compiler supports namespaces
200
*/
201
/*
202
#define _STLP_NO_NAMESPACES 1
203
*/
204
205
/*==========================================================
206
* Compatibility section
207
*==========================================================*/
208
209
/*
210
* Use abbreviated class names for linker benefit (don't affect interface).
211
* This option is obsolete, but should work in this release.
212
*
213
*/
214
/*
215
#define _STLP_USE_ABBREVS
216
*/
217
218
/*
219
* This definition precludes STLport reverse_iterator to be compatible with
220
* other parts of MSVC library. (With partial specialization, it just
221
* has no effect).
222
* Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
223
*/
224
/*
225
#define _STLP_NO_MSVC50_COMPATIBILITY 1
226
*/
227
228
/*
229
* Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
230
* for querying iterator properties. Please note those names are non-standard and are not guaranteed
231
* to be used by every implementation. However, this setting is on by default when partial specialization
232
* is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set).
233
* Use of those interfaces for user-defined iterators is strongly discouraged:
234
* please use public inheritance from iterator<> template to achieve desired effect.
235
* Second form is to disable old-style queries in any case.
236
*/
237
/*
238
#define _STLP_USE_OLD_HP_ITERATOR_QUERIES
239
#define _STLP_NO_OLD_HP_ITERATOR_QUERIES
240
*/
241
242
243
/*
244
* On systems with support of large files (_LARGEFILE_SOURCE,
245
* _LARGEFILE64_SOURCE defined) we will use 64-bit file offset, even if
246
* __USE_FILE_OFFSET64 or _FILE_OFFSET_BITS not defined or _FILE_OFFSET_BITS
247
* less than 64. In the last case sizeof(std::streamoff) may not be equal to
248
* sizeof(off_t); if you want to force equal size of off_t and streamoff,
249
* uncomment macro below. But pay attention, this has influence on libstlport
250
* and in future usage it may cause conflict with defined _FILE_OFFSET_BITS macro.
251
*/
252
253
/*
254
#define _STLP_USE_DEFAULT_FILE_OFFSET
255
*/
256
257
/*
258
* _STLP_USE_STDIO_IO, _STLP_USE_UNIX_IO: force selection of stdio calls
259
* (fopen/flose/fread/fwrite) under fstream buffers or unistd calls
260
* (open/close/read/write + mmap). On systems that have both (i.e. most Unixes)
261
* _STLP_USE_UNIX_IO is used.
262
*
263
* There is a third variant for Windows: _STLP_USE_WIN32_IO, that based
264
* on Windows calls (CreateFile/CloseHandle/ReadFile/WriteFile + CreateFileMapping,
265
* MapViewOfFile)
266
*
267
* Uncomment only one define here!
268
*/
269
/*
270
#define _STLP_USE_UNIX_IO
271
*/
272
#define _STLP_USE_STDIO_IO
273
/*
274
#define _STLP_USE_WIN32_IO
275
*/
276
277
/*==========================================================================*/
278
279
/* This section contains swithes which should be off by default,
280
* but so few compilers would have it undefined, so that we set them here,
281
* with the option to be turned off later in compiler-specific file
282
*/
283
284
#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
285
#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
286
287
/*==========================================================================*/
288
289
#if defined(__sun) && defined(__GNUC__)
290
/* __SunOS_5_x is not defined in headers, and there is no way to derive it from headers only;
291
* nevertheless this macro defined automagically by SunPro compilers family;
292
*
293
* gcc know nothing about it, but defining it with -D on compiler command line
294
* is a bad idea from one side, and this info still useful when we want to use
295
* (or don't use) some Solaris version-specific features from other side.
296
* Of course, the best way is to define it in spec file, but this is beyond our scope.
297
*
298
* Uncomment ONE of the following, depends on what Solaris version you use.
299
*/
300
301
/*
302
#define __SunOS_5_5_1
303
*/
304
/*
305
#define __SunOS_5_6
306
*/
307
/*
308
#define __SunOS_5_7
309
*/
310
/*
311
#define __SunOS_5_8
312
*/
313
/*
314
#define __SunOS_5_9
315
*/
316
/*
317
#define __SunOS_5_10
318
*/
319
#endif
320
321
#if defined(__sun)
322
/* With following patches Solaris 8 and 9 will have *l and *f (long double and float)
323
* variants of math functions:
324
* SunOS 5.8 patch 111721-04 (May/08/2003)
325
* <http://sunsolve.sun.com/search/document.do?assetkey=1-21-111721-04-1>
326
* SunOS 5.9 patch 111722-04 (May/08/2003)
327
* <http://sunsolve.sun.com/search/document.do?assetkey=1-21-111722-04-1>
328
* Solaris 10 has this functions from box.
329
*/
330
/*
331
#define _STLP_SOLARIS_MATH_PATCH
332
*/
333
#endif
334
335
/*
336
Local Variables:
337
mode:C++
338
End:
339
*/
sdk
include
c++
stlport
stl
config
host.h
Generated on Tue Oct 8 2024 06:14:37 for ReactOS by
1.9.6