/* STLport configuration file * It is internal STLport header - DO NOT include it directly */ #define _STLP_COMPILER "gcc" #if !defined (_STLP_SGX_CONFIG) #define _STLP_HAS_INCLUDE_NEXT 1 #endif #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 (_STLP_SGX_CONFIG) #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 #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 (_STLP_SGX_CONFIG) #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 #endif /* _STLP_SGX_CONFIG */ #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