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