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