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