williamr@4: /* williamr@4: * This file defines site configuration. williamr@4: */ williamr@4: williamr@4: /* williamr@4: * _STLP_NO_THREADS: if defined, STLport don't use any williamr@4: * multithreading support. Synonym is _NOTHREADS williamr@4: */ williamr@4: /* williamr@4: #define _NOTHREADS williamr@4: #define _STLP_NO_THREADS williamr@4: */ williamr@4: williamr@4: /* _PTHREADS: if defined, use POSIX threads for multithreading support. */ williamr@4: /* williamr@4: #define _PTHREADS williamr@4: */ williamr@4: williamr@4: /* compatibility section williamr@4: */ williamr@4: williamr@4: #if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS)) williamr@4: # if !defined (_NOTHREADS) williamr@4: # define _NOTHREADS williamr@4: # endif williamr@4: # if !defined (_STLP_NO_THREADS) williamr@4: # define _STLP_NO_THREADS williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB) williamr@4: /* williamr@4: * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. williamr@4: * NOTE: please do that only if you know what you are doing! williamr@4: * Changing default will require you to change makefiles in "build" accordingly williamr@4: * and to rebuild STLPort library! williamr@4: * On UNIX, this has no effect, see build/lib/README for make tags. williamr@4: * See STLport configuration file (build/lib/configure.bat) for help in building williamr@4: * the require library versions. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_DYNAMIC_LIB williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library. williamr@4: * NOTE: please do that only if you know what you are doing! williamr@4: * Changing default will require you to change makefile in "build" accordingly williamr@4: * and to rebuild STLPort library! williamr@4: * On UNIX, this has no effect, see build/lib/README for make tags. williamr@4: * See STLport configuration file (build/lib/configure.bat) for help in building williamr@4: * the require library versions. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_STATIC_LIB williamr@4: */ williamr@4: #endif williamr@4: williamr@4: /* williamr@4: * Signal STLport that we are using the cygwin distrib with the -mno-cygwin option. williamr@4: * This is similar to a mingw environment except that relative path to native headers williamr@4: * is different, this is why we need this macro. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_NO_CYGWIN williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Edit relative path below (or put full path) to get native williamr@4: * compiler vendor's headers included. Default is "../include" williamr@4: * for _STLP_NATIVE_INCLUDE_PATH, default for other macros is williamr@4: * _STLP_NATIVE_INCLUDE_PATH. williamr@4: * Hint: never install STLport in the directory that ends with "include" williamr@4: */ williamr@4: /* williamr@4: #undef _STLP_NATIVE_INCLUDE_PATH williamr@4: #define _STLP_NATIVE_INCLUDE_PATH ../include williamr@4: */ williamr@4: /* same for C library headers like */ williamr@4: /* williamr@4: #undef _STLP_NATIVE_CPP_C_INCLUDE_PATH williamr@4: #define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH williamr@4: */ williamr@4: /* same for C headers like */ williamr@4: /* williamr@4: #undef _STLP_NATIVE_C_INCLUDE_PATH williamr@4: #define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH williamr@4: */ williamr@4: /* Some compilers locate basic C++ runtime support headers (, , ) in separate directory */ williamr@4: /* williamr@4: #undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH williamr@4: #define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH williamr@4: */ williamr@4: williamr@4: /* williamr@4: * If namespases available, STLport use own namespace (and masquerade williamr@4: * it as std). Disable own namespace may cause undefined behaviour. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_NO_OWN_NAMESPACE 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated williamr@4: * memory chunks. Normally not required. But if you worry about quazi-leaks williamr@4: * (may be reported by some leaks detection tools), use williamr@4: * _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or williamr@4: * _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean williamr@4: * its internal memory pool but only if STLport is used as a dynamic library williamr@4: * under Win32 (using MSVC like compilers). williamr@4: */ williamr@4: /* williamr@4: #define _STLP_LEAKS_PEDANTIC 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment _STLP_USE_NEWALLOC to force allocator to use plain "new" williamr@4: * instead of STLport optimized node allocator engine. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_NEWALLOC 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment _STLP_USE_MALLOC to force allocator to use plain "malloc" williamr@4: * instead of STLport optimized node allocator engine. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_MALLOC 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator to use williamr@4: * a specific implementation targetting the massively multi-threaded williamr@4: * environment. The implementation is based on the POSIX pthread williamr@4: * interface. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_PERTHREAD_ALLOC 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging, williamr@4: * such as padding/checking for memory consistency williamr@4: */ williamr@4: /* williamr@4: #define _STLP_DEBUG_ALLOC 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * For compiler not supporting partial template specialization or ordering of williamr@4: * template functions STLport implement a workaround based on inheritance williamr@4: * detection. This inheritance can introduce trouble in client code when williamr@4: * a user class derived a STL container (which is not advised as STL containers williamr@4: * do not have virtual destructors). To disable this workaround turn this macro on: williamr@4: */ williamr@4: /* williamr@4: #define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment this to force all debug diagnostic to be directed through a williamr@4: * user-defined global function: williamr@4: * void __stl_debug_message(const char * format_str, ...) williamr@4: * instead of predefined STLport routine. williamr@4: * This allows you to take control of debug message output. williamr@4: * Default routine calls fprintf(stderr,...) williamr@4: * Note : If you set this macro, you must supply __stl_debug_message williamr@4: * function definition somewhere. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_DEBUG_MESSAGE 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment this to force all failed assertions to be executed through williamr@4: * user-defined global function: williamr@4: * void __stl_debug_terminate(void). This allows williamr@4: * you to take control of assertion behaviour for debugging purposes. williamr@4: * Default routine calls _STLP_ABORT(). williamr@4: * Note : If you set this macro, you must supply __stl_debug_terminate williamr@4: * function definition somewhere. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_DEBUG_TERMINATE 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Uncomment that to disable exception handling code williamr@4: */ williamr@4: /* williamr@4: #define _STLP_DONT_USE_EXCEPTIONS 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace williamr@4: * stlport:: or std::, even if the compiler supports namespaces williamr@4: */ williamr@4: /* williamr@4: #define _STLP_NO_NAMESPACES 1 williamr@4: */ williamr@4: williamr@4: /*========================================================== williamr@4: * Compatibility section williamr@4: *==========================================================*/ williamr@4: williamr@4: /* williamr@4: * Use abbreviated class names for linker benefit (don't affect interface). williamr@4: * This option is obsolete, but should work in this release. williamr@4: * williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_ABBREVS williamr@4: */ williamr@4: williamr@4: /* williamr@4: * This definition precludes STLport reverse_iterator to be compatible with williamr@4: * other parts of MSVC library. (With partial specialization, it just williamr@4: * has no effect). williamr@4: * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly williamr@4: */ williamr@4: /* williamr@4: #define _STLP_NO_MSVC50_COMPATIBILITY 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of williamr@4: * allocator as default parameter for containers, and use SGI williamr@4: * raw allocators as default ones, without having to edit library headers. williamr@4: * Use of this macro is strongly discouraged. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_RAW_SGI_ALLOCATORS 1 williamr@4: */ williamr@4: williamr@4: /* williamr@4: * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() williamr@4: * for querying iterator properties. Please note those names are non-standard and are not guaranteed williamr@4: * to be used by every implementation. However, this setting is on by default when partial specialization williamr@4: * is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set). williamr@4: * Use of those interfaces for user-defined iterators is strongly discouraged: williamr@4: * please use public inheritance from iterator<> template to achieve desired effect. williamr@4: * Second form is to disable old-style queries in any case. williamr@4: */ williamr@4: /* williamr@4: #define _STLP_USE_OLD_HP_ITERATOR_QUERIES williamr@4: #define _STLP_NO_OLD_HP_ITERATOR_QUERIES williamr@4: */ williamr@4: williamr@4: williamr@4: /*==========================================================================*/ williamr@4: williamr@4: /* This section contains swithes which should be off by default, williamr@4: * but so few compilers would have it undefined, so that we set them here, williamr@4: * with the option to be turned off later in compiler-specific file williamr@4: */ williamr@4: williamr@4: #define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT williamr@4: #define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT williamr@4: williamr@4: /* williamr@4: Local Variables: williamr@4: mode:C++ williamr@4: End: williamr@4: */