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