First public contribution.
2 // STLport configuration file
3 // It is internal STLport header - DO NOT include it directly
6 # define _STLP_UINT32_T unsigned int
8 # define _STLP_HAS_NO_NEW_C_HEADERS
9 // # define _STLP_VENDOR_GLOBAL_EXCEPT_STD
10 // # define _STLP_LONG_LONG
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
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++).
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
32 // These changes may also work for some earlier versions of Comeau C++,
33 // though we have not tested them.
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.
40 // Check libcomo details at http://www.comeaucomputing.com/libcomo and
41 // http://www.comeaucomputing.com
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
62 // BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected
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
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
78 #endif /* __COMO__ under __linux__ */
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 */
88 inline long double expl(long double arg) { return exp(arg); }
89 inline long double logl(long double arg) { return log(arg); }
96 inline int min(int a, int b) { return a>b ? b : a; }
101 // Comeau C++ under Solaris/SPARC or SunOS
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
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
123 inline long double expl(long double arg) { return exp(arg); }
129 #define __USING_SUNOS_WITH_COMO
132 #define __EXTENSIONS__ /* This might create undue noise somewhere */
136 #if defined(__NetBSD__)
137 // From non-como #ifdef __GNUC__ above
138 #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE
141 #include <sys/cdefs.h>
142 // Some joker #define'd __END_DECLS as };
144 #define __END_DECLS }
147 #include <sys/cdefs.h>
151 #define wchar_t __COMO_WCHAR_T
156 # ifdef BORIS_DISABLED
157 # define atan2l atan2
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
168 #endif /* __NetBSD__ under __COMO__ */
170 // Shouldn't need to change anything below here for Comeau C++
171 // If so, tell us at comeau@comeaucomputing.com
173 #define _STLP_NO_DRAND48
175 #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX
176 #define _STLP_NO_USING_CLAUSE_IN_CLASS
179 #if __COMO_VERSION__ >= 4245
180 #define _STLP_NO_EXCEPTION_HEADER /**/
182 #define _STLP_NO_BAD_ALLOC /**/
183 #define _STLP_USE_AUTO_PTR_CONVERSIONS /**/
185 #if __COMO_VERSION__ >= 4245
187 #include <stdexcept.stdh>
189 // ALSO: SEE THE END OF THIS FILE FOR #INCLUDE <IOSTREAM>
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
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
207 // # define __EDG_SWITCHES