Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 * This file defines site configuration.
6 * _STLP_NO_THREADS: if defined, STLport don't use any
7 * multithreading support. Synonym is _NOTHREADS
11 #define _STLP_NO_THREADS
14 /* _PTHREADS: if defined, use POSIX threads for multithreading support. */
19 /* compatibility section
22 #if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
23 # if !defined (_NOTHREADS)
26 # if !defined (_STLP_NO_THREADS)
27 # define _STLP_NO_THREADS
31 #if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB)
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.
42 #define _STLP_USE_DYNAMIC_LIB
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.
55 #define _STLP_USE_STATIC_LIB
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.
65 #define _STLP_NO_CYGWIN
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"
76 #undef _STLP_NATIVE_INCLUDE_PATH
77 #define _STLP_NATIVE_INCLUDE_PATH ../include
79 /* same for C library headers like <cstring> */
81 #undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
82 #define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
84 /* same for C headers like <string.h> */
86 #undef _STLP_NATIVE_C_INCLUDE_PATH
87 #define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
89 /* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */
91 #undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH
92 #define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
96 * If namespases available, STLport use own namespace (and masquerade
97 * it as std). Disable own namespace may cause undefined behaviour.
100 #define _STLP_NO_OWN_NAMESPACE 1
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).
113 #define _STLP_LEAKS_PEDANTIC 1
117 * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
118 * instead of STLport optimized node allocator engine.
121 #define _STLP_USE_NEWALLOC 1
125 * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
126 * instead of STLport optimized node allocator engine.
129 #define _STLP_USE_MALLOC 1
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
139 #define _STLP_USE_PERTHREAD_ALLOC 1
143 * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
144 * such as padding/checking for memory consistency
147 #define _STLP_DEBUG_ALLOC 1
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:
158 #define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1
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.
172 #define _STLP_DEBUG_MESSAGE 1
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.
185 #define _STLP_DEBUG_TERMINATE 1
189 * Uncomment that to disable exception handling code
192 #define _STLP_DONT_USE_EXCEPTIONS 1
196 * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
197 * stlport:: or std::, even if the compiler supports namespaces
200 #define _STLP_NO_NAMESPACES 1
203 /*==========================================================
204 * Compatibility section
205 *==========================================================*/
208 * Use abbreviated class names for linker benefit (don't affect interface).
209 * This option is obsolete, but should work in this release.
213 #define _STLP_USE_ABBREVS
217 * This definition precludes STLport reverse_iterator to be compatible with
218 * other parts of MSVC library. (With partial specialization, it just
220 * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
223 #define _STLP_NO_MSVC50_COMPATIBILITY 1
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.
233 #define _STLP_USE_RAW_SGI_ALLOCATORS 1
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.
246 #define _STLP_USE_OLD_HP_ITERATOR_QUERIES
247 #define _STLP_NO_OLD_HP_ITERATOR_QUERIES
251 /*==========================================================================*/
253 /* This section contains swithes which should be off by default,
254 * but so few compilers would have it undefined, so that we set them here,
255 * with the option to be turned off later in compiler-specific file
258 #define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
259 #define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT