williamr@4: williamr@4: // STLport configuration file williamr@4: // It is internal STLport header - DO NOT include it directly williamr@4: williamr@4: #define _STLP_COMPILER "Comeau" williamr@4: williamr@4: #include williamr@4: williamr@4: #define _STLP_UINT32_T unsigned int williamr@4: williamr@4: #define _STLP_HAS_NO_NEW_C_HEADERS williamr@4: // #define _STLP_VENDOR_GLOBAL_EXCEPT_STD williamr@4: #define _STLP_LONG_LONG long long williamr@4: williamr@4: williamr@4: // williamr@4: // ADDITIONS FOR COMEAU C++, made by Comeau Computing. williamr@4: // We can be reached through comeau@comeaucomputing.com williamr@4: // You shouldn't need to change anything below here for Comeau C++. williamr@4: // If you do, please tell us at comeau@comeaucomputing.com williamr@4: // williamr@4: // Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro williamr@4: // (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will williamr@4: // change as SGI integrates the changes into their code base since williamr@4: // some changes are not really Comeau C++ specific, but required to williamr@4: // make the SGI code compliant with Standard C++). williamr@4: // williamr@4: // Testing was done with Comeau C++ 4.2.44 and 4.2.45.2. Changes were made for williamr@4: // both Comeau relaxed mode and Comeau strict mode, especially for end user code williamr@4: // (that is, some of the .cxx files cannot compile in strict mode, because they williamr@4: // contain extensions to Standard C++, however their object code forms can williamr@4: // be used once compiled in relaxed mode, even if the end user code uses williamr@4: // strict mode). williamr@4: // williamr@4: // These changes may also work for some earlier versions of Comeau C++, williamr@4: // though we have not tested them. williamr@4: // williamr@4: // Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and williamr@4: // other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX, williamr@4: // and NetBSD. Other platforms may be added. Comeau will also perform williamr@4: // custom ports for you. williamr@4: // williamr@4: // Check libcomo details at http://www.comeaucomputing.com/libcomo and williamr@4: // http://www.comeaucomputing.com williamr@4: // williamr@4: // History of Comeau changes (this is rough, as work was often going on in parallel): williamr@4: // BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF williamr@4: // BETA2 Aug 4, 2000, Stronger RedHat support williamr@4: // Support for Comeau strict mode for end user code williamr@4: // BETA3 Aug 22, 2000, Support for other LINUX/INTEL/ELF's, including older ones williamr@4: // BETA4 Sept 2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's williamr@4: // Stronger support for end user Comeau strict mode williamr@4: // BETA5 Oct 5, 2000, Initial support for Solaris/SPARC williamr@4: // More SCO support (though still incomplete) williamr@4: // BETA6 Feb 5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1 williamr@4: // BETA7 Mar 13, 2001, Verified with Comeau C++ 4.2.45.2 williamr@4: // Minor NetBSD support williamr@4: // BETA8 Apr 1. 2001, Initial support for SunOS/SPARC williamr@4: // BETA9 Apr 7, 2001, Stronger SCO support + other UNIX x86 SVR3's williamr@4: // Mods for an fpos_t problem for some LINUXes williamr@4: // Mods since Destroy did not work in strict mode williamr@4: // BETA10 Apr 12. 2001, Stronger NetBSD support williamr@4: // williamr@4: // PLANNED: williamr@4: // BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected williamr@4: // williamr@4: williamr@4: williamr@4: #ifdef __linux__ williamr@4: williamr@4: # define _STLP_NO_NATIVE_MBSTATE_T 1 williamr@4: # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 williamr@4: # define _STLP_NO_NATIVE_WIDE_STREAMS 1 williamr@4: # define _STLP_NO_LONG_DOUBLE 1 williamr@4: williamr@4: // Comeau C++ under LINUX/INTEL/ELF williamr@4: // Preprocess away "long long" routines for now, even in relaxed mode williamr@4: # define __wcstoull_internal_defined 1 williamr@4: # define __wcstoll_internal_defined 1 williamr@4: williamr@4: #endif /* __COMO__ under __linux__ */ williamr@4: williamr@4: #ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */ williamr@4: /* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO williamr@4: in other sources, not here */ williamr@4: # define atan2l atan2 williamr@4: # define cosl cos williamr@4: # define sinl sin williamr@4: # define sqrtl sqrt williamr@4: # include williamr@4: inline long double expl(long double arg) { return exp(arg); } williamr@4: inline long double logl(long double arg) { return log(arg); } williamr@4: # define log10l log10 williamr@4: williamr@4: # define sinhl sinh williamr@4: # define coshl cosh williamr@4: # define fabsl fabs williamr@4: namespace std { williamr@4: inline int min(int a, int b) { return a>b ? b : a; } williamr@4: } williamr@4: #endif williamr@4: williamr@4: #ifdef sun williamr@4: // Comeau C++ under Solaris/SPARC or SunOS williamr@4: williamr@4: #ifdef solarissparc williamr@4: #define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */ williamr@4: // Note comowchar.h for Solaris/SPARC wchar stuff williamr@4: williamr@4: #include williamr@4: # define sinf sin williamr@4: # define sinl sin williamr@4: # define sinhf sinh williamr@4: # define sinhl sinh williamr@4: # define cosf cos williamr@4: # define cosl cos williamr@4: # define coshf cosh williamr@4: # define coshl cosh williamr@4: # define atan2l atan2 williamr@4: # define atan2f atan2 williamr@4: inline float logf(float arg) { return log(arg); } williamr@4: inline long double logl(long double arg) { return log(arg); } williamr@4: # define log10f log10 williamr@4: # define log10l log10 williamr@4: # define expf exp williamr@4: inline long double expl(long double arg) { return exp(arg); } williamr@4: # define sqrtf sqrt williamr@4: # define sqrtl sqrt williamr@4: # define fabsf fabs williamr@4: # define fabsl fabs williamr@4: #else williamr@4: #define __USING_SUNOS_WITH_COMO williamr@4: williamr@4: #define __unix 1 williamr@4: #define __EXTENSIONS__ /* This might create undue noise somewhere */ williamr@4: #endif williamr@4: #endif /* sun */ williamr@4: williamr@4: #if defined(__NetBSD__) williamr@4: // From non-como #ifdef __GNUC__ above williamr@4: #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE williamr@4: #define __unix 1 williamr@4: williamr@4: #include williamr@4: // Some joker #define'd __END_DECLS as }; williamr@4: #undef __END_DECLS williamr@4: #define __END_DECLS } williamr@4: williamr@4: // prob williamr@4: #include williamr@4: #undef __RENAME williamr@4: #define __RENAME(x) williamr@4: williamr@4: #define wchar_t __COMO_WCHAR_T williamr@4: #include williamr@4: #undef wchar_t williamr@4: williamr@4: #include williamr@4: # ifdef BORIS_DISABLED williamr@4: # define atan2l atan2 williamr@4: # define cosl cos williamr@4: # define sinl sin williamr@4: # define sqrtl sqrt williamr@4: inline long double expl(long double arg) { return exp(arg); } williamr@4: inline long double logl(long double arg) { return log(arg); } williamr@4: # define log10l log10 williamr@4: # define sinhl sinh williamr@4: # define coshl cosh williamr@4: # define fabsl fabs williamr@4: # endif williamr@4: #endif /* __NetBSD__ under __COMO__ */ williamr@4: williamr@4: // Shouldn't need to change anything below here for Comeau C++ williamr@4: // If so, tell us at comeau@comeaucomputing.com williamr@4: williamr@4: #define _STLP_NO_DRAND48 williamr@4: williamr@4: #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX williamr@4: #define _STLP_NO_USING_CLAUSE_IN_CLASS williamr@4: williamr@4: #if __COMO_VERSION__ < 4300 williamr@4: #if __COMO_VERSION__ >= 4245 williamr@4: #define _STLP_NO_EXCEPTION_HEADER /**/ williamr@4: // Is this needed? williamr@4: # include williamr@4: #endif williamr@4: #define _STLP_NO_BAD_ALLOC /**/ williamr@4: #define _STLP_USE_AUTO_PTR_CONVERSIONS /**/ williamr@4: #endif williamr@4: williamr@4: // this one is true only with MS williamr@4: # if defined (_MSC_VER) williamr@4: # define _STLP_WCHAR_T_IS_USHORT 1 williamr@4: # if _MSC_VER <= 1200 williamr@4: # define _STLP_VENDOR_GLOBAL_CSTD williamr@4: # endif williamr@4: # if _MSC_VER < 1100 williamr@4: # define _STLP_NO_BAD_ALLOC 1 williamr@4: # define _STLP_NO_EXCEPTION_HEADER 1 williamr@4: # define _STLP_NO_NEW_NEW_HEADER 1 williamr@4: # define _STLP_USE_NO_IOSTREAMS 1 williamr@4: # endif williamr@4: # endif williamr@4: williamr@4: // # define __EDG_SWITCHES williamr@4: williamr@4: