epoc32/include/tools/stlport/stl/config/host.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
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  * _STLP_NO_THREADS: if defined, STLport don't use any
     7  * multithreading support. Synonym is _NOTHREADS
     8  */
     9 /*
    10 #define _NOTHREADS
    11 #define _STLP_NO_THREADS
    12 */
    13 
    14 /* _PTHREADS: if defined, use POSIX threads for multithreading support. */
    15 /*
    16 #define _PTHREADS
    17 */
    18 
    19 /* compatibility section
    20  */
    21 
    22 #if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS))
    23 #  if !defined (_NOTHREADS)
    24 #    define _NOTHREADS
    25 #  endif
    26 #  if !defined (_STLP_NO_THREADS)
    27 #    define _STLP_NO_THREADS
    28 #  endif
    29 #endif
    30 
    31 #if !defined(_STLP_USE_DYNAMIC_LIB) && !defined(_STLP_USE_STATIC_LIB)
    32 /*
    33  * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library.
    34  * NOTE: please do that only if you know what you are doing!
    35  * Changing default will require you to change makefiles in "build" accordingly
    36  * and to rebuild STLPort library!
    37  * On UNIX, this has no effect, see build/lib/README for make tags.
    38  * See STLport configuration file (build/lib/configure.bat) for help in building
    39  * the require library versions.
    40  */
    41 /*
    42 #define _STLP_USE_DYNAMIC_LIB
    43 */
    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 "build" accordingly
    49  * and to rebuild STLPort library!
    50  * On UNIX, this has no effect, see build/lib/README for make tags.
    51  * See STLport configuration file (build/lib/configure.bat) for help in building
    52  * the require library versions.
    53  */
    54 /*
    55 #define _STLP_USE_STATIC_LIB
    56 */
    57 #endif
    58 
    59 /*
    60  * Signal STLport that we are using the cygwin distrib with the -mno-cygwin option.
    61  * This is similar to a mingw environment except that relative path to native headers
    62  * is different, this is why we need this macro.
    63  */
    64 /*
    65 #define _STLP_NO_CYGWIN
    66  */
    67 
    68 /*
    69  * Edit relative path below (or put full path) to get native
    70  * compiler vendor's headers included. Default is "../include"
    71  * for _STLP_NATIVE_INCLUDE_PATH, default for other macros is
    72  * _STLP_NATIVE_INCLUDE_PATH.
    73  * Hint: never install STLport in the directory that ends with "include"
    74  */
    75 /*
    76 #undef _STLP_NATIVE_INCLUDE_PATH
    77 #define _STLP_NATIVE_INCLUDE_PATH ../include
    78 */
    79 /* same for C library headers like <cstring> */
    80 /*
    81 #undef _STLP_NATIVE_CPP_C_INCLUDE_PATH
    82 #define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
    83 */
    84 /* same for C headers like <string.h> */
    85 /*
    86 #undef _STLP_NATIVE_C_INCLUDE_PATH
    87 #define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
    88 */
    89 /* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */
    90 /*
    91 #undef _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH
    92 #define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH
    93 */
    94 
    95 /*
    96  * If namespases available, STLport use own namespace (and masquerade
    97  * it as std). Disable own namespace may cause undefined behaviour.
    98  */
    99 /*
   100 #define _STLP_NO_OWN_NAMESPACE  1
   101 */
   102 
   103 /*
   104  * Uncomment _STLP_LEAKS_PEDANTIC to force deallocation of ALL allocated
   105  * memory chunks. Normally not required. But if you worry about quazi-leaks
   106  * (may be reported by some leaks detection tools), use
   107  * _STLP_LEAKS_PEDANTIC. It should be used with _STLP_USE_NEWALLOC or
   108  * _STLP_USE_MALLOC (see below), the default node_alloc allocator also clean
   109  * its internal memory pool but only if STLport is used as a dynamic library
   110  * under Win32 (using MSVC like compilers).
   111  */
   112 /*
   113 #define _STLP_LEAKS_PEDANTIC 1
   114 */
   115 
   116 /*
   117  * Uncomment _STLP_USE_NEWALLOC to force allocator<T> to use plain "new"
   118  * instead of STLport optimized node allocator engine.
   119  */
   120 /*
   121 #define _STLP_USE_NEWALLOC 1
   122 */
   123 
   124 /*
   125  * Uncomment _STLP_USE_MALLOC to force allocator<T> to use plain "malloc"
   126  * instead of STLport optimized node allocator engine.
   127  */
   128 /*
   129 #define _STLP_USE_MALLOC 1
   130 */
   131 
   132 /*
   133  * Uncomment _STLP_USE_PERTHREAD_ALLOC to force allocator<T> to use
   134  * a specific implementation targetting the massively multi-threaded
   135  * environment. The implementation is based on the POSIX pthread
   136  * interface.
   137  */
   138 /*
   139 #define _STLP_USE_PERTHREAD_ALLOC 1
   140 */
   141 
   142 /*
   143  * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging,
   144  * such as padding/checking for memory consistency
   145  */
   146 /*
   147 #define _STLP_DEBUG_ALLOC 1
   148 */
   149 
   150 /*
   151  * For compiler not supporting partial template specialization or ordering of
   152  * template functions STLport implement a workaround based on inheritance
   153  * detection. This inheritance can introduce trouble in client code when
   154  * a user class derived a STL container (which is not advised as STL containers
   155  * do not have virtual destructors). To disable this workaround turn this macro on:
   156  */
   157 /*
   158 #define _STLP_DONT_USE_PARTIAL_SPEC_WRKD 1
   159 */
   160 
   161 /*
   162  * Uncomment this to force all debug diagnostic to be directed through a
   163  * user-defined global function:
   164  *  void __stl_debug_message(const char * format_str, ...)
   165  * instead of predefined STLport routine.
   166  * This allows you to take control of debug message output.
   167  * Default routine calls fprintf(stderr,...)
   168  * Note : If you set this macro, you must supply __stl_debug_message
   169  * function definition somewhere.
   170  */
   171 /*
   172 #define _STLP_DEBUG_MESSAGE 1
   173 */
   174 
   175 /*
   176  * Uncomment this to force all failed assertions to be executed through
   177  * user-defined global function:
   178  *  void __stl_debug_terminate(void). This allows
   179  * you to take control of assertion behaviour for debugging purposes.
   180  * Default routine calls _STLP_ABORT().
   181  * Note : If you set this macro, you must supply __stl_debug_terminate
   182  * function definition somewhere.
   183  */
   184 /*
   185 #define _STLP_DEBUG_TERMINATE 1
   186 */
   187 
   188 /*
   189  * Uncomment that to disable exception handling code
   190  */
   191 /*
   192 #define _STLP_DONT_USE_EXCEPTIONS 1
   193 */
   194 
   195 /*
   196  * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace
   197  * stlport:: or std::, even if the compiler supports namespaces
   198  */
   199 /*
   200 #define _STLP_NO_NAMESPACES 1
   201 */
   202 
   203 /*==========================================================
   204  * Compatibility section
   205  *==========================================================*/
   206 
   207 /*
   208  * Use abbreviated class names for linker benefit (don't affect interface).
   209  * This option is obsolete, but should work in this release.
   210  *
   211  */
   212 /*
   213 #define _STLP_USE_ABBREVS
   214 */
   215 
   216 /*
   217  * This definition precludes STLport reverse_iterator to be compatible with
   218  * other parts of MSVC library. (With partial specialization, it just
   219  * has no effect).
   220  * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly
   221  */
   222 /*
   223 #define _STLP_NO_MSVC50_COMPATIBILITY 1
   224 */
   225 
   226 /*
   227  * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of
   228  * allocator<T> as default parameter for containers, and use SGI
   229  * raw allocators as default ones, without having to edit library headers.
   230  * Use of this macro is strongly discouraged.
   231  */
   232 /*
   233 #define _STLP_USE_RAW_SGI_ALLOCATORS 1
   234 */
   235 
   236 /*
   237  * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type()
   238  * for querying iterator properties. Please note those names are non-standard and are not guaranteed
   239  * to be used by every implementation. However, this setting is on by default when partial specialization
   240  * is not implemented in the compiler and cannot be simulated (only if _STLP_NO_ANACHRONISMS is not set).
   241  * Use of those interfaces for user-defined iterators is strongly discouraged:
   242  * please use public inheritance from iterator<> template to achieve desired effect.
   243  * Second form is to disable old-style queries in any case.
   244  */
   245 /*
   246 #define _STLP_USE_OLD_HP_ITERATOR_QUERIES
   247 #define _STLP_NO_OLD_HP_ITERATOR_QUERIES
   248 */
   249 
   250 
   251 /*==========================================================================*/
   252 
   253 /* This section contains swithes which should be off by default,
   254  * but so few compilers would have it undefined, so that we set them here,
   255  * with the option to be turned off later in compiler-specific file
   256  */
   257 
   258 #define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
   259 #define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
   260 
   261 /*
   262   Local Variables:
   263   mode:C++
   264   End:
   265 */