]> git.buserror.net Git - polintos/scott/priv.git/blob - include/c++/stl/stl/config/host.h
minor doc updates
[polintos/scott/priv.git] / include / c++ / stl / stl / config / host.h
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 /*
46  * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library.
47  * NOTE: please do that only if you know what you are doing!
48  * Changing default will require you to change makefile in "build" accordingly
49  * and to rebuild STLPort library!
50  * On UNIX, this has no effect, see build/lib/README for make tags.
51  * See STLport configuration file (build/lib/configure.bat) for help in building
52  * the require library versions.
53  */
54 /*
55 #define _STLP_USE_STATIC_LIB
56 */
57 #endif
58
59 /*
60  * Signal STLport that we are using the cygwin distrib with the -mno-cygwin option.
61  * This is similar to a mingw environment except that relative path to native headers
62  * is different, this is why we need this macro.
63  */
64 /*
65 #define _STLP_NO_CYGWIN
66  */
67
68 /*
69  * Edit relative path below (or put full path) to get native
70  * compiler vendor's headers included. Default is "../include"
71  * for _STLP_NATIVE_INCLUDE_PATH, default for other macros is
72  * _STLP_NATIVE_INCLUDE_PATH.
73  * Hint: never install STLport in the directory that ends with "include"
74  */
75 /*
76 #undef _STLP_NATIVE_INCLUDE_PATH
77 #define _STLP_NATIVE_INCLUDE_PATH ../include
78 */
79 /* same for C library headers like <cstring> */
80 /*
81 #undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
82 #define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
83 */
84 /* same for C headers like <string.h> */
85 /*
86 #undef _STLP_NATIVE_C_INCLUDE_PATH
87 #define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
88 */
89 /* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */
90 /*
91 #undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH
92 #define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
93 */
94
95 /*
96  * If namespases available, STLport use own namespace (and masquerade
97  * it as std). Disable own namespace may cause undefined behaviour.
98  */
99 /*
100 #define _STLP_NO_OWN_NAMESPACE  1
101 */
102
103 /*
104  * Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated
105  * memory chunks. Normally not required. But if you worry about quazi-leaks
106  * (may be reported by some leaks detection tools), use
107  * _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or
108  * _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean
109  * its internal memory pool but only if STLport is used as a dynamic library
110  * under Win32 (using MSVC like compilers).
111  */
112 /*
113 #define _STLP_LEAKS_PEDANTIC 1
114 */
115
116 /*
117  * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
118  * instead of STLport optimized node allocator engine.
119  */
120 /*
121 #define _STLP_USE_NEWALLOC 1
122 */
123
124 /*
125  * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
126  * instead of STLport optimized node allocator engine.
127  */
128 /*
129 #define _STLP_USE_MALLOC 1
130 */
131
132 /*
133  * Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator<T> to use
134  * a specific implementation targetting the massively multi-threaded
135  * environment. The implementation is based on the POSIX pthread
136  * interface.
137  */
138 /*
139 #define _STLP_USE_PERTHREAD_ALLOC 1
140 */
141
142 /*
143  * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
144  * such as padding/checking for memory consistency
145  */
146 /*
147 #define _STLP_DEBUG_ALLOC 1
148 */
149
150 /*
151  * For compiler not supporting partial template specialization or ordering of
152  * template functions STLport implement a workaround based on inheritance
153  * detection. This inheritance can introduce trouble in client code when
154  * a user class derived a STL container (which is not advised as STL containers
155  * do not have virtual destructors). To disable this workaround turn this macro on:
156  */
157 /*
158 #define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1
159 */
160
161 /*
162  * Uncomment this to force all debug diagnostic to be directed through a
163  * user-defined global function:
164  *  void __stl_debug_message(const char * format_str, ...)
165  * instead of predefined STLport routine.
166  * This allows you to take control of debug message output.
167  * Default routine calls fprintf(stderr,...)
168  * Note : If you set this macro, you must supply __stl_debug_message
169  * function definition somewhere.
170  */
171 /*
172 #define _STLP_DEBUG_MESSAGE 1
173 */
174
175 /*
176  * Uncomment this to force all failed assertions to be executed through
177  * user-defined global function:
178  *  void __stl_debug_terminate(void). This allows
179  * you to take control of assertion behaviour for debugging purposes.
180  * Default routine calls _STLP_ABORT().
181  * Note : If you set this macro, you must supply __stl_debug_terminate
182  * function definition somewhere.
183  */
184 /*
185 #define _STLP_DEBUG_TERMINATE 1
186 */
187
188 /*
189  * Uncomment that to disable exception handling code
190  */
191 /*
192 #define _STLP_DONT_USE_EXCEPTIONS 1
193 */
194
195 /*
196  * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
197  * stlport:: or std::, even if the compiler supports namespaces
198  */
199 /*
200 #define _STLP_NO_NAMESPACES 1
201 */
202
203 /*==========================================================
204  * Compatibility section
205  *==========================================================*/
206
207 /*
208  * Use abbreviated class names for linker benefit (don't affect interface).
209  * This option is obsolete, but should work in this release.
210  *
211  */
212 /*
213 #define _STLP_USE_ABBREVS
214 */
215
216 /*
217  * This definition precludes STLport reverse_iterator to be compatible with
218  * other parts of MSVC library. (With partial specialization, it just
219  * has no effect).
220  * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
221  */
222 /*
223 #define _STLP_NO_MSVC50_COMPATIBILITY 1
224 */
225
226 /*
227  * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of
228  * allocator<T> as default parameter for containers, and use SGI
229  * raw allocators as default ones, without having to edit library headers.
230  * Use of this macro is strongly discouraged.
231  */
232 /*
233 #define _STLP_USE_RAW_SGI_ALLOCATORS 1
234 */
235
236 /*
237  * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
238  * for querying iterator properties. Please note those names are non-standard and are not guaranteed
239  * to be used by every implementation. However, this setting is on by default when partial specialization
240  * is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set).
241  * Use of those interfaces for user-defined iterators is strongly discouraged:
242  * please use public inheritance from iterator<> template to achieve desired effect.
243  * Second form is to disable old-style queries in any case.
244  */
245 /*
246 #define _STLP_USE_OLD_HP_ITERATOR_QUERIES
247 #define _STLP_NO_OLD_HP_ITERATOR_QUERIES
248 */
249
250
251 /*
252  * On systems with support of large files (_LARGEFILE_SOURCE,
253  * _LARGEFILE64_SOURCE defined) we will use 64-bit file offset, even if
254  * __USE_FILE_OFFSET64 or _FILE_OFFSET_BITS not defined or _FILE_OFFSET_BITS
255  * less than 64. In the last case sizeof(std::streamoff) may not be equal to
256  * sizeof(off_t), if you want to force equal size of off_t and streamoff,
257  * uncomment macro below. But pay attention, this has influence on libstlport
258  * and in future usage it may cause conflict with defined _FILE_OFFSET_BITS macro.
259  */
260
261 /*
262 #define _STLP_USE_DEFAULT_FILE_OFFSET
263 */
264
265 /*==========================================================================*/
266
267 /* This section contains swithes which should be off by default,
268  * but so few compilers would have it undefined, so that we set them here,
269  * with the option to be turned off later in compiler-specific file
270  */
271
272 #define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
273 #define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
274
275 /*
276   Local Variables:
277   mode:C++
278   End:
279 */