mirror of
https://github.com/reactos/reactos.git
synced 2024-09-19 09:09:53 +00:00
199 lines
5.7 KiB
C
199 lines
5.7 KiB
C
/* STLport configuration file
|
|
* It is internal STLport header - DO NOT include it directly
|
|
*/
|
|
|
|
#define _STLP_COMPILER "gcc"
|
|
|
|
#define _STLP_HAS_INCLUDE_NEXT 1
|
|
|
|
#if (__GNUC__ < 2) || ((__GNUC__ < 3) && ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)))
|
|
/* We do not support neither the unofficial 2.96 gcc version. */
|
|
# error GNU compilers before 2.95 are not supported anymore.
|
|
#endif
|
|
|
|
/* Systems having GLIBC installed have different traits */
|
|
#if defined (__linux__)
|
|
# ifndef _STLP_USE_GLIBC
|
|
# define _STLP_USE_GLIBC 1
|
|
# endif
|
|
# if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC)
|
|
# define _STLP_USE_UCLIBC 1
|
|
# endif
|
|
#endif
|
|
|
|
#if defined (__CYGWIN__) && \
|
|
(__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99)
|
|
# define _STLP_NO_VENDOR_MATH_L
|
|
# define _STLP_NO_VENDOR_STDLIB_L
|
|
#endif
|
|
|
|
#if (__GNUC__ < 3)
|
|
# define _STLP_NO_VENDOR_STDLIB_L
|
|
#endif
|
|
|
|
#if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4))
|
|
/* define for gcc versions before 3.4.0. */
|
|
# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD
|
|
#endif
|
|
|
|
#if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \
|
|
(defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \
|
|
(defined (__MINGW32__) && defined (_MT)))
|
|
# define _REENTRANT
|
|
#endif
|
|
|
|
#if defined (__DJGPP)
|
|
# define _STLP_RAND48 1
|
|
# define _NOTHREADS 1
|
|
# undef _PTHREADS
|
|
# define _STLP_LITTLE_ENDIAN
|
|
#endif
|
|
|
|
#if defined (__MINGW32__)
|
|
/* Mingw32, egcs compiler using the Microsoft C runtime */
|
|
# if (__GNUC__ >= 3)
|
|
/* For gcc before version 3 this macro is defined below */
|
|
# define _STLP_VENDOR_GLOBAL_CSTD
|
|
# endif
|
|
# undef _STLP_NO_DRAND48
|
|
# define _STLP_NO_DRAND48
|
|
# define _STLP_CALL
|
|
#endif /* __MINGW32__ */
|
|
|
|
#if defined (__CYGWIN__) || defined (__MINGW32__)
|
|
# if !defined (_STLP_USE_STATIC_LIB)
|
|
# define _STLP_USE_DECLSPEC 1
|
|
# if !defined (_STLP_USE_DYNAMIC_LIB)
|
|
# define _STLP_USE_DYNAMIC_LIB
|
|
# endif
|
|
# define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
|
|
# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
|
|
# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
|
|
# endif
|
|
/* The following is defined independently of _STLP_USE_STATIC_LIB because it is also
|
|
* used to import symbols from PSDK under MinGW
|
|
*/
|
|
# define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
|
|
#else
|
|
# if (__GNUC__ >= 4)
|
|
# if !defined (_STLP_USE_STATIC_LIB)
|
|
# if !defined (_STLP_USE_DYNAMIC_LIB)
|
|
# define _STLP_USE_DYNAMIC_LIB
|
|
# endif
|
|
# define _STLP_USE_DECLSPEC 1
|
|
# define _STLP_EXPORT_DECLSPEC __attribute__((visibility("default")))
|
|
# define _STLP_IMPORT_DECLSPEC __attribute__((visibility("default")))
|
|
# define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((visibility("default")))
|
|
# define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((visibility("default")))
|
|
# endif
|
|
# endif
|
|
#endif
|
|
|
|
#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__))
|
|
# if !defined (__MINGW32__) && !defined (__CYGWIN__)
|
|
# define _STLP_NO_NATIVE_MBSTATE_T 1
|
|
# endif
|
|
# if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4)
|
|
# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
|
|
# endif
|
|
# define _STLP_NO_NATIVE_WIDE_STREAMS 1
|
|
#endif
|
|
|
|
#define _STLP_NORETURN_FUNCTION __attribute__((noreturn))
|
|
|
|
/* Mac OS X is a little different with namespaces and cannot instantiate
|
|
* static data members in template classes */
|
|
#if defined (__APPLE__)
|
|
# if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)))
|
|
/* Mac OS X is missing a required typedef and standard macro */
|
|
typedef unsigned int wint_t;
|
|
# endif
|
|
|
|
# define __unix
|
|
|
|
# define _STLP_NO_LONG_DOUBLE
|
|
|
|
/* Mac OS X needs all "::" scope references to be "std::" */
|
|
# define _STLP_USE_NEW_C_HEADERS
|
|
|
|
# define _STLP_NO_VENDOR_STDLIB_L
|
|
|
|
#endif /* __APPLE__ */
|
|
|
|
/* g++ 2.7.x and above */
|
|
#define _STLP_LONG_LONG long long
|
|
|
|
#ifdef _STLP_USE_UCLIBC
|
|
/* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
|
|
# define _STLP_NO_VENDOR_MATH_F
|
|
/* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */
|
|
# define _STLP_NO_VENDOR_MATH_L
|
|
# define _STLP_NO_LONG_DOUBLE
|
|
#endif
|
|
|
|
#if defined (__OpenBSD__) || defined (__FreeBSD__)
|
|
# define _STLP_NO_VENDOR_MATH_L
|
|
# define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
|
|
# ifndef __unix
|
|
# define __unix
|
|
# endif
|
|
#endif
|
|
|
|
#if defined (__alpha__)
|
|
# define _STLP_NO_VENDOR_MATH_L
|
|
#endif
|
|
|
|
#if defined (__hpux)
|
|
# define _STLP_VENDOR_GLOBAL_CSTD 1
|
|
# define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
|
|
/* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
|
|
# define _STLP_NO_VENDOR_MATH_F
|
|
#endif
|
|
|
|
#if (__GNUC__ >= 3)
|
|
# ifndef _STLP_HAS_NO_NEW_C_HEADERS
|
|
/*
|
|
# ifndef _STLP_USE_UCLIBC
|
|
*/
|
|
# define _STLP_HAS_NATIVE_FLOAT_ABS
|
|
/*
|
|
# endif
|
|
*/
|
|
# else
|
|
# ifdef _STLP_USE_GLIBC
|
|
# define _STLP_VENDOR_LONG_DOUBLE_MATH 1
|
|
# endif
|
|
# endif
|
|
#endif
|
|
|
|
#if (__GNUC__ < 3)
|
|
# define _STLP_HAS_NO_NEW_C_HEADERS 1
|
|
# define _STLP_VENDOR_GLOBAL_CSTD 1
|
|
# define _STLP_DONT_USE_PTHREAD_SPINLOCK 1
|
|
# ifndef __HONOR_STD
|
|
# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1
|
|
# endif
|
|
/* egcs fails to initialize builtin types in expr. like this : new(p) char(); */
|
|
# define _STLP_DEF_CONST_PLCT_NEW_BUG 1
|
|
#endif
|
|
|
|
#undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
|
|
#undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
|
|
|
|
/* strict ANSI prohibits "long long" ( gcc) */
|
|
#if defined ( __STRICT_ANSI__ )
|
|
# undef _STLP_LONG_LONG
|
|
#endif
|
|
|
|
#ifndef __EXCEPTIONS
|
|
# undef _STLP_DONT_USE_EXCEPTIONS
|
|
# define _STLP_DONT_USE_EXCEPTIONS 1
|
|
#endif
|
|
|
|
#if (__GNUC__ >= 3)
|
|
/* Instantiation scheme that used (default) in gcc 3 made void of sense explicit
|
|
instantiation within library: nothing except increased library size. - ptr
|
|
*/
|
|
# define _STLP_NO_FORCE_INSTANTIATE
|
|
#endif
|