_site_config.h

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 

Generated on Mon Jun 5 10:20:47 2006 for Intelligence.kdevelop by  doxygen 1.4.6