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