stl_como.h

00001 
00002 // STLport configuration file
00003 // It is internal STLport header - DO NOT include it directly
00004 
00005 
00006 # define _STLP_UINT32_T unsigned int
00007 
00008 # define _STLP_HAS_NO_NEW_C_HEADERS
00009 // # define _STLP_VENDOR_GLOBAL_EXCEPT_STD
00010 // # define _STLP_LONG_LONG
00011 
00012 
00013 //
00014 // ADDITIONS FOR COMEAU C++, made by Comeau Computing.
00015 // We can be reached through comeau@comeaucomputing.com
00016 // You shouldn't need to change anything below here for Comeau C++.
00017 // If you do, please tell us at comeau@comeaucomputing.com
00018 //
00019 // Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro
00020 // (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will
00021 // change as SGI integrates the changes into their code base since
00022 // some changes are not really Comeau C++ specific, but required to
00023 // make the SGI code compliant with Standard C++).
00024 //
00025 // Testing was done with Comeau C++ 4.2.44 and 4.2.45.2.  Changes were made for
00026 // both Comeau relaxed mode and Comeau strict mode, especially for end user code
00027 // (that is, some of the .cxx files cannot compile in strict mode, because they
00028 // contain extensions to Standard C++, however their object code forms can
00029 // be used once compiled in relaxed mode, even if the end user code uses
00030 // strict mode).
00031 //
00032 // These changes may also work for some earlier versions of Comeau C++,
00033 // though we have not tested them.
00034 //
00035 // Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and
00036 // other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX,
00037 // and NetBSD. Other platforms may be added.  Comeau will also perform
00038 // custom ports for you.
00039 //
00040 // Check libcomo details at http://www.comeaucomputing.com/libcomo and
00041 // http://www.comeaucomputing.com
00042 //
00043 // History of Comeau changes (this is rough, as work was often going on in parallel):
00044 // BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF
00045 // BETA2 Aug   4, 2000, Stronger RedHat support
00046 //                      Support for Comeau strict mode for end user code
00047 // BETA3 Aug  22, 2000, Support for other LINUX/INTEL/ELF's, including older ones
00048 // BETA4 Sept  2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's
00049 //                      Stronger support for end user Comeau strict mode
00050 // BETA5 Oct   5, 2000, Initial support for Solaris/SPARC
00051 //                      More SCO support (though still incomplete)
00052 // BETA6 Feb   5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1
00053 // BETA7 Mar  13, 2001, Verified with Comeau C++ 4.2.45.2
00054 //                      Minor NetBSD support
00055 // BETA8 Apr   1. 2001, Initial support for SunOS/SPARC
00056 // BETA9 Apr   7, 2001, Stronger SCO support + other UNIX x86 SVR3's
00057 //                      Mods for an fpos_t problem for some LINUXes
00058 //                      Mods since Destroy did not work in strict mode
00059 // BETA10 Apr  12. 2001, Stronger NetBSD support
00060 //
00061 // PLANNED:
00062 // BETAx TBA  TBA, 2001, NetBSD, UNIXWARE, and Windows support expected
00063 //
00064 
00065 
00066 #ifdef __linux__
00067 
00068 #   define _STLP_NO_NATIVE_MBSTATE_T      1
00069 #   define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
00070 #   define _STLP_NO_NATIVE_WIDE_STREAMS   1
00071 #   define _STLP_NO_LONG_DOUBLE   1
00072 
00073 // Comeau C++ under LINUX/INTEL/ELF
00074 // Preprocess away "long long" routines for now, even in relaxed mode
00075 # define __wcstoull_internal_defined    1
00076 # define __wcstoll_internal_defined     1
00077 
00078 #endif /* __COMO__ under __linux__ */
00079 
00080 #ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */
00081 /* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO
00082    in other sources, not here */
00083 #    define atan2l atan2
00084 #    define cosl cos
00085 #    define sinl sin
00086 #    define sqrtl sqrt
00087 #    include <math.h>
00088      inline long double expl(long double arg) { return exp(arg); }
00089      inline long double logl(long double arg) { return log(arg); }
00090 #    define log10l log10
00091 
00092 #    define sinhl sinh
00093 #    define coshl cosh
00094 #    define fabsl fabs
00095 namespace std {
00096  inline int min(int a, int b) { return a>b ? b : a; }
00097 }
00098 #endif
00099 
00100 #ifdef sun
00101 // Comeau C++ under Solaris/SPARC or SunOS
00102 
00103 #ifdef solarissparc
00104 #define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */
00105 // Note comowchar.h for Solaris/SPARC wchar stuff
00106 
00107 #include <math.h>
00108 #    define sinf sin
00109 #    define sinl sin
00110 #    define sinhf sinh
00111 #    define sinhl sinh
00112 #    define cosf cos
00113 #    define cosl cos
00114 #    define coshf cosh
00115 #    define coshl cosh
00116 #    define atan2l atan2
00117 #    define atan2f atan2
00118      inline float logf(float arg) { return log(arg); }
00119      inline long double logl(long double arg) { return log(arg); }
00120 #    define log10f log10
00121 #    define log10l log10
00122 #    define expf exp
00123      inline long double expl(long double arg) { return exp(arg); }
00124 #    define sqrtf sqrt
00125 #    define sqrtl sqrt
00126 #    define fabsf fabs
00127 #    define fabsl fabs
00128 #else
00129 #define __USING_SUNOS_WITH_COMO
00130 
00131 #define __unix 1
00132 #define __EXTENSIONS__ /* This might create undue noise somewhere */
00133 #endif
00134 #endif /* sun */
00135 
00136 #if defined(__NetBSD__)
00137 // From non-como #ifdef __GNUC__ above
00138 #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE
00139 #define __unix 1
00140 
00141 #include <sys/cdefs.h>
00142 // Some joker #define'd __END_DECLS as };
00143 #undef __END_DECLS
00144 #define __END_DECLS }
00145 
00146 // <sys/stat.h> prob
00147 #include <sys/cdefs.h>
00148 #undef __RENAME
00149 #define __RENAME(x)
00150 
00151 #define wchar_t __COMO_WCHAR_T
00152 #include <stddef.h>
00153 #undef wchar_t
00154 
00155 #include <math.h>
00156 # ifdef BORIS_DISABLED
00157 #    define atan2l atan2
00158 #    define cosl cos
00159 #    define sinl sin
00160 #    define sqrtl sqrt
00161      inline long double expl(long double arg) { return exp(arg); }
00162      inline long double logl(long double arg) { return log(arg); }
00163 #    define log10l log10
00164 #    define sinhl sinh
00165 #    define coshl cosh
00166 #    define fabsl fabs
00167 # endif
00168 #endif /* __NetBSD__ under __COMO__ */
00169 
00170 // Shouldn't need to change anything below here for Comeau C++
00171 // If so, tell us at comeau@comeaucomputing.com
00172 
00173 #define _STLP_NO_DRAND48
00174 
00175 #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX
00176 #define _STLP_NO_USING_CLAUSE_IN_CLASS
00177 
00178 
00179 #if __COMO_VERSION__ >= 4245
00180 #define _STLP_NO_EXCEPTION_HEADER 
00181 #endif
00182 #define _STLP_NO_BAD_ALLOC 
00183 #define _STLP_USE_AUTO_PTR_CONVERSIONS 
00184 
00185 #if __COMO_VERSION__ >= 4245
00186 // Is this needed?
00187 #include <stdexcept.stdh>
00188 //
00189 // ALSO: SEE THE END OF THIS FILE FOR #INCLUDE <IOSTREAM>
00190 //
00191 #endif
00192 
00193 // this one is true only with MS
00194 # if defined (_MSC_VER)
00195 #  define _STLP_WCHAR_T_IS_USHORT 1
00196 #  if _MSC_VER <= 1200
00197 #   define _STLP_VENDOR_GLOBAL_CSTD
00198 #  endif
00199 #  if _MSC_VER < 1100
00200 #   define _STLP_NO_BAD_ALLOC 1
00201 #   define _STLP_NO_EXCEPTION_HEADER 1
00202 #   define _STLP_NO_NEW_NEW_HEADER 1
00203 #   define _STLP_NO_NEW_IOSTREAMS 1
00204 #  endif
00205 # endif
00206 
00207 // # define __EDG_SWITCHES
00208 
00209 

Generated on Mon Jun 5 10:20:45 2006 for Intelligence.kdevelop by  doxygen 1.4.6