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