00001 // 00002 // This file defines site configuration. 00003 // 00004 // 00005 00006 /* 00007 * _STLP_NO_THREADS: if defined, STLport don't use any 00008 * multithreading support. Synonym is _NOTHREADS 00009 */ 00010 // #define _NOTHREADS 00011 // #define _STLP_NO_THREADS 00012 00013 /* _PTHREADS: if defined, use Posix threads for multithreading support. */ 00014 // #define _PTHREADS 00015 00016 /* 00017 * Consistency check : if we use SGI iostreams, we have to use consistent 00018 * thread model (single-threaded or multi-threaded) with the compiled library 00019 * 00020 * Default is multithreaded build. If you want to build and use single-threaded 00021 * STLport, please change _STLP_NOTHREADS configuration setting above and rebuild the library 00022 * 00023 */ 00024 00025 00026 00027 // compatibility section 00028 00029 # if defined (_STLP_NO_IOSTREAMS) || defined (_STLP_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_OWN_IOSTREAMS ) 00030 # define _STLP_NO_OWN_IOSTREAMS 00031 # endif 00032 00033 # if !defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) 00034 # define _STLP_OWN_IOSTREAMS 00035 # endif 00036 00037 # if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS)) 00038 # if ! defined (_NOTHREADS) 00039 # define _NOTHREADS 00040 # endif 00041 # if ! defined (_STLP_NO_THREADS) 00042 # define _STLP_NO_THREADS 00043 # endif 00044 # endif 00045 00046 # if defined (_STLP_OWN_IOSTREAMS) \ 00047 && !defined (_STLP_NO_THREADS) && !defined (_REENTRANT) 00048 00049 # if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__COMO__) && !defined(_MT) && !defined (__SYMBIAN32__) 00050 # error "Only multi-threaded runtime library may be linked with STLport!" 00051 # endif 00052 00053 // boris : you may change that to build non-threadsafe STLport library 00054 # if defined (__BUILDING_STLPORT) /* || defined (_STLP_DEBUG) */ 00055 # define _REENTRANT 1 00056 # endif 00057 00058 # endif 00059 00060 /* 00061 * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. 00062 * NOTE : please do that only if you know what you are doing ! 00063 * Changing default will require you to change makefile in "src" accordingly 00064 * and to rebuild STLPort library ! 00065 * On UNIX, this has no effect. 00066 * 00067 */ 00068 // # define _STLP_USE_DYNAMIC_LIB 00069 00070 /* 00071 * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library. 00072 * NOTE : please do that only if you know what you are doing ! 00073 * Changing default will require you to change makefile in "src" accordingly 00074 * and to rebuild STLPort library ! 00075 * On UNIX, this has no effect. 00076 * 00077 */ 00078 // # define _STLP_USE_STATIC_LIB 00079 00080 00081 /* 00082 * Edit relative path below (or put full path) to get native 00083 * compiler vendor's headers included. Default is "../include" 00084 * Hint : never install STLport in the directory that ends with "include" 00085 */ 00086 // # undef _STLP_NATIVE_INCLUDE_PATH 00087 // # define _STLP_NATIVE_INCLUDE_PATH ../include 00088 // same for C library headers like <cstring> 00089 // # undef _STLP_NATIVE_CPP_C_INCLUDE_PATH 00090 // # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include 00091 // same for C headers like <string.h> 00092 // # undef _STLP_NATIVE_C_INCLUDE_PATH 00093 // # define _STLP_NATIVE_C_INCLUDE_PATH ../include 00094 00095 00096 /* 00097 * _STLP_USE_OWN_NAMESPACE/_STLP_NO_OWN_NAMESPACE 00098 * If defined, STLport uses _STL:: namespace, else std:: 00099 * The reason you have to use separate namespace in wrapper mode is that new-style IO 00100 * compiled library may have its own idea about STL stuff (string, vector, etc.), 00101 * so redefining them in the same namespace would break ODR and may cause 00102 * undefined behaviour. Rule of thumb is - if new-style iostreams are 00103 * available, there WILL be a conflict. Otherwise you should be OK. 00104 * In STLport iostreams mode, there is no need for this flag other than to facilitate 00105 * link with third-part libraries compiled with different standard library implementation. 00106 */ 00107 // # define _STLP_USE_OWN_NAMESPACE 1 00108 // # define _STLP_NO_OWN_NAMESPACE 1 00109 00110 00111 /* 00112 * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new" 00113 * instead of STLport optimized node allocator engine. 00114 */ 00115 // #define _STLP_USE_NEWALLOC 1 00116 00117 /* 00118 * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc" 00119 * instead of STLport optimized node allocator engine. 00120 */ 00121 // #define _STLP_USE_MALLOC 1 00122 00123 /* 00124 * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging, 00125 * such as padding/checking for memory consistency 00126 */ 00127 // #define _STLP_DEBUG_ALLOC 1 00128 00129 00130 /* 00131 * Uncomment this to force all debug diagnostic to be directed through a 00132 * user-defined global function: 00133 * void __stl_debug_message(const char * format_str, ...) 00134 * instead of predefined STLport routine. 00135 * This allows you to take control of debug message output. 00136 * Default routine calls fprintf(stderr,...) 00137 * Note : If you set this macro, you must supply __stl_debug_message 00138 * function definition somewhere. 00139 */ 00140 //#define _STLP_DEBUG_MESSAGE 1 00141 00142 /* 00143 * Uncomment this to force all failed assertions to be executed through 00144 * user-defined global function: 00145 * void __stl_debug_terminate(void). This allows 00146 * you to take control of assertion behaviour for debugging purposes. 00147 * Default routine throws unique exception if _STLP_USE_EXCEPTIONS is set, 00148 * calls _STLP_ABORT() otherwise. 00149 * Note : If you set this macro, you must supply __stl_debug_terminate 00150 * function definition somewhere. 00151 */ 00152 //#define _STLP_DEBUG_TERMINATE 1 00153 00154 /* 00155 * Comment this out to enable throwing exceptions from default __stl_debug_terminate() 00156 * instead of calling _STLP_ABORT(). 00157 */ 00158 #define _STLP_NO_DEBUG_EXCEPTIONS 1 00159 00160 /* 00161 * Uncomment that to disable exception handling code 00162 */ 00163 // #define _STLP_NO_EXCEPTIONS 1 00164 00165 /* 00166 * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace 00167 * stlport:: or std::, even if the compiler supports namespaces 00168 */ 00169 00170 // #define _STLP_NO_NAMESPACES 1 00171 00172 //========================================================== 00173 // Compatibility section 00174 //========================================================== 00175 00176 /* 00177 * Use abbreviated class names for linker benefit (don't affect interface). 00178 * This option is obsolete, but should work in this release. 00179 * 00180 */ 00181 // # define _STLP_USE_ABBREVS 00182 00183 /* 00184 * This definition precludes STLport reverse_iterator to be compatible with 00185 * other parts of MSVC library. (With partial specialization, it just 00186 * has no effect). 00187 * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly 00188 */ 00189 // # define _STLP_NO_MSVC50_COMPATIBILITY 1 00190 00191 /* 00192 * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of 00193 * allocator<T> as default parameter for containers, and use SGI 00194 * raw allocators as default ones, without having to edit library headers. 00195 * Use of this macro is strongly discouraged. 00196 */ 00197 // #define _STLP_USE_RAW_SGI_ALLOCATORS 1 00198 00199 /* 00200 * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() 00201 * for querying iterator properties. Please note those names are non-standard and are not guaranteed 00202 * to be used by every implementation. However, this setting is on by default when partial specialization 00203 * is not implemented in the compiler and cannot be sumulated (only if _STLP_NO_ANACHRONISMS is not set). 00204 * Use of those interfaces for user-defined iterators is strongly discouraged: 00205 * please use public inheritance from iterator<> template to achieve desired effect. 00206 * Second form is to disable old-style queries in any case. 00207 */ 00208 // # define _STLP_USE_OLD_HP_ITERATOR_QUERIES 00209 // # define _STLP_NO_OLD_HP_ITERATOR_QUERIES 00210 00211 00212 //========================================================================== 00213 00214 // This section contains swithes which should be off by default, 00215 // but so few compilers would have it undefined, so that we set them here, 00216 // with the option to be turned off later in compiler-specific file 00217 00218 # define _STLP_INCOMPLETE_EXCEPTION_HEADER 00219