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