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