/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/host.h

Go to the documentation of this file.
00001 /*
00002  * This file defines site configuration.
00003  */
00004 
00005 /*
00006  * _STLP_NO_THREADS: if defined, STLport don't use any
00007  * multithreading support. Synonym is _NOTHREADS
00008  */
00009 /*
00010 #define _NOTHREADS
00011 #define _STLP_NO_THREADS
00012 */
00013 
00014 /* _PTHREADS: if defined, use POSIX threads for multithreading support. */
00015 /*
00016 #define _PTHREADS
00017 */
00018 
00019 /* compatibility section
00020  */
00021 
00022 #if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
00023 #  if !defined (_NOTHREADS)
00024 #    define _NOTHREADS
00025 #  endif
00026 #  if !defined (_STLP_NO_THREADS)
00027 #    define _STLP_NO_THREADS
00028 #  endif
00029 #endif
00030 
00031 #if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB)
00032 /*
00033  * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library.
00034  * NOTE: please do that only if you know what you are doing!
00035  * Changing default will require you to change makefiles in "build" accordingly
00036  * and to rebuild STLPort library!
00037  * On UNIX, this has no effect, see build/lib/README for make tags.
00038  * See STLport configuration file (build/lib/configure.bat) for help in building
00039  * the require library versions.
00040  */
00041 /*
00042 #define _STLP_USE_DYNAMIC_LIB
00043 */
00044 
00045 /*
00046  * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library.
00047  * NOTE: please do that only if you know what you are doing!
00048  * Changing default will require you to change makefile in "build" accordingly
00049  * and to rebuild STLPort library!
00050  * On UNIX, this has no effect, see build/lib/README for make tags.
00051  * See STLport configuration file (build/lib/configure.bat) for help in building
00052  * the require library versions.
00053  */
00054 /*
00055 #define _STLP_USE_STATIC_LIB
00056 */
00057 #endif
00058 
00059 /*
00060  * Signal STLport that we are using the cygwin distrib with the -mno-cygwin option.
00061  * This is similar to a mingw environment except that relative path to native headers
00062  * is different, this is why we need this macro.
00063  */
00064 /*
00065 #define _STLP_NO_CYGWIN
00066  */
00067 
00068 /*
00069  * Edit relative path below (or put full path) to get native
00070  * compiler vendor's headers included. Default is "../include"
00071  * for _STLP_NATIVE_INCLUDE_PATH, default for other macros is
00072  * _STLP_NATIVE_INCLUDE_PATH.
00073  * Hint: never install STLport in the directory that ends with "include"
00074  */
00075 /*
00076 #undef _STLP_NATIVE_INCLUDE_PATH
00077 #define _STLP_NATIVE_INCLUDE_PATH ../include
00078 */
00079 /* same for C library headers like <cstring> */
00080 /*
00081 #undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
00082 #define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
00083 */
00084 /* same for C headers like <string.h> */
00085 /*
00086 #undef _STLP_NATIVE_C_INCLUDE_PATH
00087 #define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
00088 */
00089 /* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */
00090 /*
00091 #undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH
00092 #define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
00093 */
00094 
00095 /*
00096  * If namespases available, STLport use own namespace (and masquerade
00097  * it as std). Disable own namespace may cause undefined behaviour.
00098  */
00099 /*
00100 #define _STLP_NO_OWN_NAMESPACE  1
00101 */
00102 
00103 /*
00104  * Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated
00105  * memory chunks. Normally not required. But if you worry about quazi-leaks
00106  * (may be reported by some leaks detection tools), use
00107  * _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or
00108  * _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean
00109  * its internal memory pool but only if STLport is used as a dynamic library
00110  * under Win32 (using MSVC like compilers).
00111  */
00112 /*
00113 #define _STLP_LEAKS_PEDANTIC 1
00114 */
00115 
00116 /*
00117  * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
00118  * instead of STLport optimized node allocator engine.
00119  */
00120 /*
00121 #define _STLP_USE_NEWALLOC 1
00122 */
00123 
00124 /*
00125  * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
00126  * instead of STLport optimized node allocator engine.
00127  */
00128 /*
00129 #define _STLP_USE_MALLOC 1
00130 */
00131 
00132 /*
00133  * Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator<T> to use
00134  * a specific implementation targetting the massively multi-threaded
00135  * environment. The implementation is based on the POSIX pthread
00136  * interface.
00137  */
00138 /*
00139 #define _STLP_USE_PERTHREAD_ALLOC 1
00140 */
00141 
00142 /*
00143  * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
00144  * such as padding/checking for memory consistency
00145  */
00146 /*
00147 #define _STLP_DEBUG_ALLOC 1
00148 */
00149 
00150 /*
00151  * For compiler not supporting partial template specialization or ordering of
00152  * template functions STLport implement a workaround based on inheritance
00153  * detection. This inheritance can introduce trouble in client code when
00154  * a user class derived a STL container (which is not advised as STL containers
00155  * do not have virtual destructors). To disable this workaround turn this macro on:
00156  */
00157 /*
00158 #define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1
00159 */
00160 
00161 /*
00162  * Uncomment this to force all debug diagnostic to be directed through a
00163  * user-defined global function:
00164  *  void __stl_debug_message(const char * format_str, ...)
00165  * instead of predefined STLport routine.
00166  * This allows you to take control of debug message output.
00167  * Default routine calls fprintf(stderr,...)
00168  * Note : If you set this macro, you must supply __stl_debug_message
00169  * function definition somewhere.
00170  */
00171 /*
00172 #define _STLP_DEBUG_MESSAGE 1
00173 */
00174 
00175 /*
00176  * Uncomment this to force all failed assertions to be executed through
00177  * user-defined global function:
00178  *  void __stl_debug_terminate(void). This allows
00179  * you to take control of assertion behaviour for debugging purposes.
00180  * Default routine calls _STLP_ABORT().
00181  * Note : If you set this macro, you must supply __stl_debug_terminate
00182  * function definition somewhere.
00183  */
00184 /*
00185 #define _STLP_DEBUG_TERMINATE 1
00186 */
00187 
00188 /*
00189  * Uncomment that to disable exception handling code
00190  */
00191 /*
00192 #define _STLP_DONT_USE_EXCEPTIONS 1
00193 */
00194 
00195 /*
00196  * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
00197  * stlport:: or std::, even if the compiler supports namespaces
00198  */
00199 /*
00200 #define _STLP_NO_NAMESPACES 1
00201 */
00202 
00203 /*==========================================================
00204  * Compatibility section
00205  *==========================================================*/
00206 
00207 /*
00208  * Use abbreviated class names for linker benefit (don't affect interface).
00209  * This option is obsolete, but should work in this release.
00210  *
00211  */
00212 /*
00213 #define _STLP_USE_ABBREVS
00214 */
00215 
00216 /*
00217  * This definition precludes STLport reverse_iterator to be compatible with
00218  * other parts of MSVC library. (With partial specialization, it just
00219  * has no effect).
00220  * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
00221  */
00222 /*
00223 #define _STLP_NO_MSVC50_COMPATIBILITY 1
00224 */
00225 
00226 /*
00227  * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of
00228  * allocator<T> as default parameter for containers, and use SGI
00229  * raw allocators as default ones, without having to edit library headers.
00230  * Use of this macro is strongly discouraged.
00231  */
00232 /*
00233 #define _STLP_USE_RAW_SGI_ALLOCATORS 1
00234 */
00235 
00236 /*
00237  * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
00238  * for querying iterator properties. Please note those names are non-standard and are not guaranteed
00239  * to be used by every implementation. However, this setting is on by default when partial specialization
00240  * is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set).
00241  * Use of those interfaces for user-defined iterators is strongly discouraged:
00242  * please use public inheritance from iterator<> template to achieve desired effect.
00243  * Second form is to disable old-style queries in any case.
00244  */
00245 /*
00246 #define _STLP_USE_OLD_HP_ITERATOR_QUERIES
00247 #define _STLP_NO_OLD_HP_ITERATOR_QUERIES
00248 */
00249 
00250 
00251 /*
00252  * On systems with support of large files (_LARGEFILE_SOURCE,
00253  * _LARGEFILE64_SOURCE defined) we will use 64-bit file offset, even if
00254  * __USE_FILE_OFFSET64 or _FILE_OFFSET_BITS not defined or _FILE_OFFSET_BITS
00255  * less than 64. In the last case sizeof(std::streamoff) may not be equal to
00256  * sizeof(off_t), if you want to force equal size of off_t and streamoff,
00257  * uncomment macro below. But pay attention, this has influence on libstlport
00258  * and in future usage it may cause conflict with defined _FILE_OFFSET_BITS macro.
00259  */
00260 
00261 /*
00262 #define _STLP_USE_DEFAULT_FILE_OFFSET
00263 */
00264 
00265 /*==========================================================================*/
00266 
00267 /* This section contains swithes which should be off by default,
00268  * but so few compilers would have it undefined, so that we set them here,
00269  * with the option to be turned off later in compiler-specific file
00270  */
00271 
00272 #define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
00273 #define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
00274 
00275 /*
00276   Local Variables:
00277   mode:C++
00278   End:
00279 */



Generated on Mon Mar 10 15:32:46 2008 by  doxygen 1.5.1