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