111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This file defines site configuration. 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_NO_THREADS: if defined, STLport don't use any 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * multithreading support. Synonym is _NOTHREADS 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _NOTHREADS 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_THREADS 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* _PTHREADS: if defined, use POSIX threads for multithreading support. */ 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _PTHREADS 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* compatibility section 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS)) 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !defined (_NOTHREADS) 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _NOTHREADS 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !defined (_STLP_NO_THREADS) 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_THREADS 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB) 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * NOTE: please do that only if you know what you are doing! 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Changing default will require you to change makefiles in "build" accordingly 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * and to rebuild STLPort library! 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * On UNIX, this has no effect, see build/lib/README for make tags. 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * See STLport configuration file (build/lib/configure.bat) for help in building 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * the require library versions. 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_DYNAMIC_LIB 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library. 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * NOTE: please do that only if you know what you are doing! 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Changing default will require you to change makefile in "build" accordingly 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * and to rebuild STLPort library! 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * On UNIX, this has no effect, see build/lib/README for make tags. 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * See STLport configuration file (build/lib/configure.bat) for help in building 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * the require library versions. 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_STATIC_LIB 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Edit relative path below (or put full path) to get native 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * compiler vendor's headers included. Default is "../include" 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * for _STLP_NATIVE_INCLUDE_PATH, default for other macros is 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_NATIVE_INCLUDE_PATH. 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Hint: never install STLport in the directory that ends with "include" 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_NATIVE_INCLUDE_PATH 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_INCLUDE_PATH ../include 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* same for C library headers like <cstring> */ 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_NATIVE_CPP_C_INCLUDE_PATH 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* same for C headers like <string.h> */ 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_NATIVE_C_INCLUDE_PATH 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */ 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * If namespases available, STLport use own namespace (and masquerade 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * it as std). Disable own namespace may cause undefined behaviour. 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_OWN_NAMESPACE 1 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * memory chunks. Normally not required. But if you worry about quazi-leaks 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * (may be reported by some leaks detection tools), use 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * its internal memory pool but only if STLport is used as a dynamic library 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * under Win32 (using MSVC like compilers). 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_LEAKS_PEDANTIC 1 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new" 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * instead of STLport optimized node allocator engine. 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_NEWALLOC 1 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc" 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * instead of STLport optimized node allocator engine. 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This is default allocator for glibc 2.3.x and later, if not mentioned other 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_MALLOC 1 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator<T> to use 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * a specific implementation targetting the massively multi-threaded 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * environment. The implementation is based on the POSIX pthread 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * interface. 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_PERTHREAD_ALLOC 1 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment _STLP_USE_NODE_ALLOC if you want to force allocator<T> to use 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * "node_alloc" allocator (this is default allocator for STLport, if not 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * used other above, except glibc 2.3.x and later, where default is 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * "malloc", due to better results) 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_NODE_ALLOC 1 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging, 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * such as padding/checking for memory consistency 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DEBUG_ALLOC 1 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * For compiler not supporting partial template specialization or ordering of 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * template functions STLport implement a workaround based on inheritance 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * detection. This inheritance can introduce trouble in client code when 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * a user class derived a STL container (which is not advised as STL containers 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * do not have virtual destructors). To disable this workaround turn this macro on: 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment this to force all debug diagnostic to be directed through a 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * user-defined global function: 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * void __stl_debug_message(const char * format_str, ...) 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * instead of predefined STLport routine. 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This allows you to take control of debug message output. 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Default routine calls fprintf(stderr,...) 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Note : If you set this macro, you must supply __stl_debug_message 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * function definition somewhere. 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DEBUG_MESSAGE 1 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment this to force all failed assertions to be executed through 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * user-defined global function: 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * void __stl_debug_terminate(void). This allows 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * you to take control of assertion behaviour for debugging purposes. 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Default routine calls _STLP_ABORT(). 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Note : If you set this macro, you must supply __stl_debug_terminate 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * function definition somewhere. 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DEBUG_TERMINATE 1 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment that to disable exception handling code 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DONT_USE_EXCEPTIONS 1 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * stlport:: or std::, even if the compiler supports namespaces 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_NAMESPACES 1 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*========================================================== 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Compatibility section 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *==========================================================*/ 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Use abbreviated class names for linker benefit (don't affect interface). 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This option is obsolete, but should work in this release. 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_ABBREVS 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This definition precludes STLport reverse_iterator to be compatible with 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * other parts of MSVC library. (With partial specialization, it just 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * has no effect). 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_MSVC50_COMPATIBILITY 1 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * for querying iterator properties. Please note those names are non-standard and are not guaranteed 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * to be used by every implementation. However, this setting is on by default when partial specialization 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set). 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Use of those interfaces for user-defined iterators is strongly discouraged: 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * please use public inheritance from iterator<> template to achieve desired effect. 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Second form is to disable old-style queries in any case. 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_OLD_HP_ITERATOR_QUERIES 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_OLD_HP_ITERATOR_QUERIES 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * On systems with support of large files (_LARGEFILE_SOURCE, 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _LARGEFILE64_SOURCE defined) we will use 64-bit file offset, even if 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * __USE_FILE_OFFSET64 or _FILE_OFFSET_BITS not defined or _FILE_OFFSET_BITS 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * less than 64. In the last case sizeof(std::streamoff) may not be equal to 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * sizeof(off_t); if you want to force equal size of off_t and streamoff, 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * uncomment macro below. But pay attention, this has influence on libstlport 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * and in future usage it may cause conflict with defined _FILE_OFFSET_BITS macro. 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_DEFAULT_FILE_OFFSET 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_USE_STDIO_IO, _STLP_USE_UNIX_IO: force selection of stdio calls 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * (fopen/flose/fread/fwrite) under fstream buffers or unistd calls 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * (open/close/read/write + mmap). On systems that have both (i.e. most Unixes) 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * _STLP_USE_UNIX_IO is used. 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * There is a third variant for Windows: _STLP_USE_WIN32_IO, that based 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * on Windows calls (CreateFile/CloseHandle/ReadFile/WriteFile + CreateFileMapping, 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * MapViewOfFile) 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment only one define here! 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_UNIX_IO 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_STDIO_IO 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_WIN32_IO 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*==========================================================================*/ 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* This section contains swithes which should be off by default, 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * but so few compilers would have it undefined, so that we set them here, 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * with the option to be turned off later in compiler-specific file 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*==========================================================================*/ 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__sun) && defined(__GNUC__) 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* __SunOS_5_x is not defined in headers, and there is no way to derive it from headers only; 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * nevertheless this macro defined automagically by SunPro compilers family; 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * gcc know nothing about it, but defining it with -D on compiler command line 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * is a bad idea from one side, and this info still useful when we want to use 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * (or don't use) some Solaris version-specific features from other side. 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Of course, the best way is to define it in spec file, but this is beyond our scope. 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Uncomment ONE of the following, depends on what Solaris version you use. 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_5_1 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_6 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_7 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_8 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_9 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __SunOS_5_10 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__sun) 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* With following patches Solaris 8 and 9 will have *l and *f (long double and float) 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * variants of math functions: 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * SunOS 5.8 patch 111721-04 (May/08/2003) 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * <http://sunsolve.sun.com/search/document.do?assetkey=1-21-111721-04-1> 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * SunOS 5.9 patch 111722-04 (May/08/2003) 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * <http://sunsolve.sun.com/search/document.do?assetkey=1-21-111722-04-1> 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Solaris 10 has this functions from box. 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_SOLARIS_MATH_PATCH 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Local Variables: 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mode:C++ 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert End: 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 343