|
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 // STLport configuration file |
|
19 // It is internal STLport header - DO NOT include it directly |
|
20 |
|
21 #define _STLP_COMPILER "Comeau" |
|
22 |
|
23 #include <stl/config/_native_headers.h> |
|
24 |
|
25 #define _STLP_UINT32_T unsigned int |
|
26 |
|
27 #define _STLP_HAS_NO_NEW_C_HEADERS |
|
28 // #define _STLP_VENDOR_GLOBAL_EXCEPT_STD |
|
29 #define _STLP_LONG_LONG long long |
|
30 |
|
31 |
|
32 // |
|
33 // ADDITIONS FOR COMEAU C++, made by Comeau Computing. |
|
34 // We can be reached through comeau@comeaucomputing.com |
|
35 // You shouldn't need to change anything below here for Comeau C++. |
|
36 // If you do, please tell us at comeau@comeaucomputing.com |
|
37 // |
|
38 // Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro |
|
39 // (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will |
|
40 // change as SGI integrates the changes into their code base since |
|
41 // some changes are not really Comeau C++ specific, but required to |
|
42 // make the SGI code compliant with Standard C++). |
|
43 // |
|
44 // Testing was done with Comeau C++ 4.2.44 and 4.2.45.2. Changes were made for |
|
45 // both Comeau relaxed mode and Comeau strict mode, especially for end user code |
|
46 // (that is, some of the .cxx files cannot compile in strict mode, because they |
|
47 // contain extensions to Standard C++, however their object code forms can |
|
48 // be used once compiled in relaxed mode, even if the end user code uses |
|
49 // strict mode). |
|
50 // |
|
51 // These changes may also work for some earlier versions of Comeau C++, |
|
52 // though we have not tested them. |
|
53 // |
|
54 // Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and |
|
55 // other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX, |
|
56 // and NetBSD. Other platforms may be added. Comeau will also perform |
|
57 // custom ports for you. |
|
58 // |
|
59 // Check libcomo details at http://www.comeaucomputing.com/libcomo and |
|
60 // http://www.comeaucomputing.com |
|
61 // |
|
62 // History of Comeau changes (this is rough, as work was often going on in parallel): |
|
63 // BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF |
|
64 // BETA2 Aug 4, 2000, Stronger RedHat support |
|
65 // Support for Comeau strict mode for end user code |
|
66 // BETA3 Aug 22, 2000, Support for other LINUX/INTEL/ELF's, including older ones |
|
67 // BETA4 Sept 2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's |
|
68 // Stronger support for end user Comeau strict mode |
|
69 // BETA5 Oct 5, 2000, Initial support for Solaris/SPARC |
|
70 // More SCO support (though still incomplete) |
|
71 // BETA6 Feb 5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1 |
|
72 // BETA7 Mar 13, 2001, Verified with Comeau C++ 4.2.45.2 |
|
73 // Minor NetBSD support |
|
74 // BETA8 Apr 1. 2001, Initial support for SunOS/SPARC |
|
75 // BETA9 Apr 7, 2001, Stronger SCO support + other UNIX x86 SVR3's |
|
76 // Mods for an fpos_t problem for some LINUXes |
|
77 // Mods since Destroy did not work in strict mode |
|
78 // BETA10 Apr 12. 2001, Stronger NetBSD support |
|
79 // |
|
80 // PLANNED: |
|
81 // BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected |
|
82 // |
|
83 |
|
84 |
|
85 #ifdef __linux__ |
|
86 |
|
87 # define _STLP_NO_NATIVE_MBSTATE_T 1 |
|
88 # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 |
|
89 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 |
|
90 # define _STLP_NO_LONG_DOUBLE 1 |
|
91 |
|
92 // Comeau C++ under LINUX/INTEL/ELF |
|
93 // Preprocess away "long long" routines for now, even in relaxed mode |
|
94 # define __wcstoull_internal_defined 1 |
|
95 # define __wcstoll_internal_defined 1 |
|
96 |
|
97 #endif /* __COMO__ under __linux__ */ |
|
98 |
|
99 #ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */ |
|
100 /* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO |
|
101 in other sources, not here */ |
|
102 # define atan2l atan2 |
|
103 # define cosl cos |
|
104 # define sinl sin |
|
105 # define sqrtl sqrt |
|
106 # include <math.h> |
|
107 inline long double expl(long double arg) { return exp(arg); } |
|
108 inline long double logl(long double arg) { return log(arg); } |
|
109 # define log10l log10 |
|
110 |
|
111 # define sinhl sinh |
|
112 # define coshl cosh |
|
113 # define fabsl fabs |
|
114 namespace std { |
|
115 inline int min(int a, int b) { return a>b ? b : a; } |
|
116 } |
|
117 #endif |
|
118 |
|
119 #ifdef sun |
|
120 // Comeau C++ under Solaris/SPARC or SunOS |
|
121 |
|
122 #ifdef solarissparc |
|
123 #define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */ |
|
124 // Note comowchar.h for Solaris/SPARC wchar stuff |
|
125 |
|
126 #include <math.h> |
|
127 # define sinf sin |
|
128 # define sinl sin |
|
129 # define sinhf sinh |
|
130 # define sinhl sinh |
|
131 # define cosf cos |
|
132 # define cosl cos |
|
133 # define coshf cosh |
|
134 # define coshl cosh |
|
135 # define atan2l atan2 |
|
136 # define atan2f atan2 |
|
137 inline float logf(float arg) { return log(arg); } |
|
138 inline long double logl(long double arg) { return log(arg); } |
|
139 # define log10f log10 |
|
140 # define log10l log10 |
|
141 # define expf exp |
|
142 inline long double expl(long double arg) { return exp(arg); } |
|
143 # define sqrtf sqrt |
|
144 # define sqrtl sqrt |
|
145 # define fabsf fabs |
|
146 # define fabsl fabs |
|
147 #else |
|
148 #define __USING_SUNOS_WITH_COMO |
|
149 |
|
150 #define __unix 1 |
|
151 #define __EXTENSIONS__ /* This might create undue noise somewhere */ |
|
152 #endif |
|
153 #endif /* sun */ |
|
154 |
|
155 #if defined(__NetBSD__) |
|
156 // From non-como #ifdef __GNUC__ above |
|
157 #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE |
|
158 #define __unix 1 |
|
159 |
|
160 #include <sys/cdefs.h> |
|
161 // Some joker #define'd __END_DECLS as }; |
|
162 #undef __END_DECLS |
|
163 #define __END_DECLS } |
|
164 |
|
165 // <sys/stat.h> prob |
|
166 #include <sys/cdefs.h> |
|
167 #undef __RENAME |
|
168 #define __RENAME(x) |
|
169 |
|
170 #define wchar_t __COMO_WCHAR_T |
|
171 #include <stddef.h> |
|
172 #undef wchar_t |
|
173 |
|
174 #include <math.h> |
|
175 # ifdef BORIS_DISABLED |
|
176 # define atan2l atan2 |
|
177 # define cosl cos |
|
178 # define sinl sin |
|
179 # define sqrtl sqrt |
|
180 inline long double expl(long double arg) { return exp(arg); } |
|
181 inline long double logl(long double arg) { return log(arg); } |
|
182 # define log10l log10 |
|
183 # define sinhl sinh |
|
184 # define coshl cosh |
|
185 # define fabsl fabs |
|
186 # endif |
|
187 #endif /* __NetBSD__ under __COMO__ */ |
|
188 |
|
189 // Shouldn't need to change anything below here for Comeau C++ |
|
190 // If so, tell us at comeau@comeaucomputing.com |
|
191 |
|
192 #define _STLP_NO_DRAND48 |
|
193 |
|
194 #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX |
|
195 #define _STLP_NO_USING_CLAUSE_IN_CLASS |
|
196 |
|
197 #if __COMO_VERSION__ < 4300 |
|
198 #if __COMO_VERSION__ >= 4245 |
|
199 #define _STLP_NO_EXCEPTION_HEADER /**/ |
|
200 // Is this needed? |
|
201 # include <stdexcept.stdh> |
|
202 #endif |
|
203 #define _STLP_NO_BAD_ALLOC /**/ |
|
204 #define _STLP_USE_AUTO_PTR_CONVERSIONS /**/ |
|
205 #endif |
|
206 |
|
207 // this one is true only with MS |
|
208 # if defined (_MSC_VER) |
|
209 # define _STLP_WCHAR_T_IS_USHORT 1 |
|
210 # if _MSC_VER <= 1200 |
|
211 # define _STLP_VENDOR_GLOBAL_CSTD |
|
212 # endif |
|
213 # if _MSC_VER < 1100 |
|
214 # define _STLP_NO_BAD_ALLOC 1 |
|
215 # define _STLP_NO_EXCEPTION_HEADER 1 |
|
216 # define _STLP_NO_NEW_NEW_HEADER 1 |
|
217 # define _STLP_USE_NO_IOSTREAMS 1 |
|
218 # endif |
|
219 # endif |
|
220 |
|
221 // # define __EDG_SWITCHES |
|
222 |
|
223 |