epoc32/include/stdapis/stlport/stl/_site_config.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 0 061f57f2323e
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // 
     2 // This file defines site configuration.
     3 //
     4 //
     5 
     6 /* 
     7  * _STLP_NO_THREADS: if defined, STLport don't use any 
     8  * multithreading support. Synonym is _NOTHREADS
     9  */
    10 // #define _NOTHREADS
    11 // #define _STLP_NO_THREADS
    12 
    13 /* _PTHREADS: if defined, use Posix threads for multithreading support. */
    14 #define _PTHREADS
    15 
    16 // compatibility section
    17 
    18 # if defined (_STLP_NO_IOSTREAMS) || defined (_STLP_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_OWN_IOSTREAMS )
    19 #  define _STLP_NO_OWN_IOSTREAMS
    20 # endif
    21 
    22 # if !defined (_STLP_NO_OWN_IOSTREAMS) &&  ! defined (_STLP_OWN_IOSTREAMS)
    23 #  define _STLP_OWN_IOSTREAMS
    24 # endif
    25 
    26 # if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
    27 #  if ! defined (_NOTHREADS)
    28 #   define _NOTHREADS
    29 #  endif
    30 #  if ! defined (_STLP_NO_THREADS)
    31 #   define _STLP_NO_THREADS
    32 #  endif
    33 # endif
    34 
    35 /*
    36  * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library.
    37  * NOTE : please do that only if you know what you are doing !
    38  * Changing default will require you to change makefile in "src" accordingly
    39  * and to rebuild STLPort library !
    40  * On UNIX, this has no effect. 
    41  *
    42  */
    43 // # define _STLP_USE_DYNAMIC_LIB
    44 
    45 /*
    46  * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library.
    47  * NOTE : please do that only if you know what you are doing !
    48  * Changing default will require you to change makefile in "src" accordingly
    49  * and to rebuild STLPort library !
    50  * On UNIX, this has no effect. 
    51  *
    52  */
    53 // # define _STLP_USE_STATIC_LIB
    54 
    55 
    56 /* 
    57  * Edit relative path below (or put full path) to get native 
    58  * compiler vendor's headers included. Default is "../include"
    59  * Hint : never install STLport in the directory that ends with "include"
    60  */
    61 #if 0
    62  #  undef _STLP_NATIVE_INCLUDE_PATH
    63  #  define _STLP_NATIVE_INCLUDE_PATH ../include
    64   same for C library headers like <cstring>
    65  #  undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
    66  #  define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include
    67  same for C headers like <string.h>
    68  #  undef _STLP_NATIVE_C_INCLUDE_PATH
    69  #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
    70 #endif
    71 
    72 /* 
    73  * _STLP_USE_OWN_NAMESPACE/_STLP_NO_OWN_NAMESPACE
    74  * If defined, STLport uses _STL:: namespace, else std::
    75  * The reason you have to use separate namespace in wrapper mode is that new-style IO
    76  * compiled library may have its own idea about STL stuff (string, vector, etc.),
    77  * so redefining them in the same namespace would break ODR and may cause
    78  * undefined behaviour. Rule of thumb is - if new-style iostreams are
    79  * available, there WILL be a conflict. Otherwise you should be OK.
    80  * In STLport iostreams mode, there is no need for this flag other than to facilitate
    81  * link with third-part libraries compiled with different standard library implementation.
    82  */
    83 // #  define _STLP_USE_OWN_NAMESPACE 1
    84 #  define _STLP_NO_OWN_NAMESPACE  1
    85 
    86 
    87 /* 
    88  * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
    89  * instead of STLport optimized node allocator engine.
    90  */
    91 // #define   _STLP_USE_NEWALLOC   1
    92 
    93 /* 
    94  * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc" 
    95  * instead of STLport optimized node allocator engine.
    96  */
    97 // #define   _STLP_USE_MALLOC 1
    98 
    99 /*
   100  * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
   101  * such as padding/checking for memory consistency 
   102  */
   103 // #define   _STLP_DEBUG_ALLOC 1
   104 
   105 
   106 /*
   107  * Uncomment this to force all debug diagnostic to be directed through a
   108  * user-defined global function:
   109  *	void __stl_debug_message(const char * format_str, ...)
   110  * instead of predefined STLport routine. 
   111  * This allows you to take control of debug message output.
   112  * Default routine calls fprintf(stderr,...)
   113  * Note : If you set this macro, you must supply __stl_debug_message 
   114  * function definition somewhere.
   115  */
   116 //#define _STLP_DEBUG_MESSAGE 1
   117 
   118 /*
   119  * Uncomment this to force all failed assertions to be executed through
   120  * user-defined global function:
   121  *	void __stl_debug_terminate(void). This allows
   122  * you to take control of assertion behaviour for debugging purposes.
   123  * Default routine throws unique exception if _STLP_USE_EXCEPTIONS is set,
   124  * calls _STLP_ABORT() otherwise.
   125  * Note : If you set this macro, you must supply __stl_debug_terminate 
   126  * function definition somewhere.
   127  */
   128 //#define _STLP_DEBUG_TERMINATE 1
   129 
   130 /*
   131  * Comment this out to enable throwing exceptions from default __stl_debug_terminate()
   132  * instead of calling _STLP_ABORT().
   133  */
   134 #define   _STLP_NO_DEBUG_EXCEPTIONS 1
   135 
   136 /* 
   137  * Uncomment that to disable exception handling code 
   138  */
   139 // #define   _STLP_NO_EXCEPTIONS 1
   140 
   141 /*
   142  * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
   143  * stlport:: or std::, even if the compiler supports namespaces
   144  */
   145 
   146 // #define   _STLP_NO_NAMESPACES 1
   147 
   148 //==========================================================
   149 // Compatibility section
   150 //==========================================================
   151 
   152 /* 
   153  * Use abbreviated class names for linker benefit (don't affect interface).
   154  * This option is obsolete, but should work in this release.
   155  *
   156  */
   157 // # define _STLP_USE_ABBREVS
   158 
   159 /* 
   160  * This definition precludes STLport reverse_iterator to be compatible with
   161  * other parts of MSVC library. (With partial specialization, it just
   162  * has no effect).
   163  * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
   164  */
   165 // #    define _STLP_NO_MSVC50_COMPATIBILITY 1
   166 
   167 /*
   168  * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of
   169  * allocator<T> as default parameter for containers, and use SGI
   170  * raw allocators as default ones, without having to edit library headers.
   171  * Use of this macro is strongly discouraged.
   172  */
   173 // #define   _STLP_USE_RAW_SGI_ALLOCATORS 1
   174 
   175 /*
   176  * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
   177  * for querying iterator properties. Please note those names are non-standard and are not guaranteed
   178  * to be used by every implementation. However, this setting is on by default when partial specialization
   179  * is not implemented in the compiler and cannot be sumulated (only if _STLP_NO_ANACHRONISMS is not set). 
   180  * Use of those interfaces for user-defined iterators is strongly discouraged: 
   181  * please use public inheritance from iterator<> template to achieve desired effect. 
   182  * Second form is to disable old-style queries in any case.
   183  */
   184 // # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
   185 // # define _STLP_NO_OLD_HP_ITERATOR_QUERIES
   186 
   187 
   188 //==========================================================================
   189 
   190 // This section contains swithes which should be off by default,
   191 // but so few compilers would have it undefined, so that we set them here,
   192 // with the option to be turned off later in compiler-specific file
   193 
   194 # define _STLP_INCOMPLETE_EXCEPTION_HEADER
   195