2 // This file defines site configuration.
7 * _STLP_NO_THREADS: if defined, STLport don't use any
8 * multithreading support. Synonym is _NOTHREADS
11 // #define _STLP_NO_THREADS
13 /* _PTHREADS: if defined, use Posix threads for multithreading support. */
16 // compatibility section
18 # if defined (_STLP_NO_IOSTREAMS) || defined (_STLP_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_OWN_IOSTREAMS )
19 # define _STLP_NO_OWN_IOSTREAMS
22 # if !defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS)
23 # define _STLP_OWN_IOSTREAMS
26 # if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
27 # if ! defined (_NOTHREADS)
30 # if ! defined (_STLP_NO_THREADS)
31 # define _STLP_NO_THREADS
36 * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library.
37 * NOTE : please do that only if you know what you are doing !
38 * Changing default will require you to change makefile in "src" accordingly
39 * and to rebuild STLPort library !
40 * On UNIX, this has no effect.
43 // # 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 "src" accordingly
49 * and to rebuild STLPort library !
50 * On UNIX, this has no effect.
53 // # define _STLP_USE_STATIC_LIB
57 * Edit relative path below (or put full path) to get native
58 * compiler vendor's headers included. Default is "../include"
59 * Hint : never install STLport in the directory that ends with "include"
62 # undef _STLP_NATIVE_INCLUDE_PATH
63 # define _STLP_NATIVE_INCLUDE_PATH ../include
64 same for C library headers like <cstring>
65 # undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
66 # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include
67 same for C headers like <string.h>
68 # undef _STLP_NATIVE_C_INCLUDE_PATH
69 # define _STLP_NATIVE_C_INCLUDE_PATH ../include
73 * _STLP_USE_OWN_NAMESPACE/_STLP_NO_OWN_NAMESPACE
74 * If defined, STLport uses _STL:: namespace, else std::
75 * The reason you have to use separate namespace in wrapper mode is that new-style IO
76 * compiled library may have its own idea about STL stuff (string, vector, etc.),
77 * so redefining them in the same namespace would break ODR and may cause
78 * undefined behaviour. Rule of thumb is - if new-style iostreams are
79 * available, there WILL be a conflict. Otherwise you should be OK.
80 * In STLport iostreams mode, there is no need for this flag other than to facilitate
81 * link with third-part libraries compiled with different standard library implementation.
83 // # define _STLP_USE_OWN_NAMESPACE 1
84 # define _STLP_NO_OWN_NAMESPACE 1
88 * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
89 * instead of STLport optimized node allocator engine.
91 // #define _STLP_USE_NEWALLOC 1
94 * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
95 * instead of STLport optimized node allocator engine.
97 // #define _STLP_USE_MALLOC 1
100 * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
101 * such as padding/checking for memory consistency
103 // #define _STLP_DEBUG_ALLOC 1
107 * Uncomment this to force all debug diagnostic to be directed through a
108 * user-defined global function:
109 * void __stl_debug_message(const char * format_str, ...)
110 * instead of predefined STLport routine.
111 * This allows you to take control of debug message output.
112 * Default routine calls fprintf(stderr,...)
113 * Note : If you set this macro, you must supply __stl_debug_message
114 * function definition somewhere.
116 //#define _STLP_DEBUG_MESSAGE 1
119 * Uncomment this to force all failed assertions to be executed through
120 * user-defined global function:
121 * void __stl_debug_terminate(void). This allows
122 * you to take control of assertion behaviour for debugging purposes.
123 * Default routine throws unique exception if _STLP_USE_EXCEPTIONS is set,
124 * calls _STLP_ABORT() otherwise.
125 * Note : If you set this macro, you must supply __stl_debug_terminate
126 * function definition somewhere.
128 //#define _STLP_DEBUG_TERMINATE 1
131 * Comment this out to enable throwing exceptions from default __stl_debug_terminate()
132 * instead of calling _STLP_ABORT().
134 #define _STLP_NO_DEBUG_EXCEPTIONS 1
137 * Uncomment that to disable exception handling code
139 // #define _STLP_NO_EXCEPTIONS 1
142 * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
143 * stlport:: or std::, even if the compiler supports namespaces
146 // #define _STLP_NO_NAMESPACES 1
148 //==========================================================
149 // Compatibility section
150 //==========================================================
153 * Use abbreviated class names for linker benefit (don't affect interface).
154 * This option is obsolete, but should work in this release.
157 // # define _STLP_USE_ABBREVS
160 * This definition precludes STLport reverse_iterator to be compatible with
161 * other parts of MSVC library. (With partial specialization, it just
163 * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
165 // # define _STLP_NO_MSVC50_COMPATIBILITY 1
168 * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of
169 * allocator<T> as default parameter for containers, and use SGI
170 * raw allocators as default ones, without having to edit library headers.
171 * Use of this macro is strongly discouraged.
173 // #define _STLP_USE_RAW_SGI_ALLOCATORS 1
176 * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
177 * for querying iterator properties. Please note those names are non-standard and are not guaranteed
178 * to be used by every implementation. However, this setting is on by default when partial specialization
179 * is not implemented in the compiler and cannot be sumulated (only if _STLP_NO_ANACHRONISMS is not set).
180 * Use of those interfaces for user-defined iterators is strongly discouraged:
181 * please use public inheritance from iterator<> template to achieve desired effect.
182 * Second form is to disable old-style queries in any case.
184 // # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
185 // # define _STLP_NO_OLD_HP_ITERATOR_QUERIES
188 //==========================================================================
190 // This section contains swithes which should be off by default,
191 // but so few compilers would have it undefined, so that we set them here,
192 // with the option to be turned off later in compiler-specific file
194 # define _STLP_INCOMPLETE_EXCEPTION_HEADER