1 /* STLport configuration file 2 * It is internal STLport header - DO NOT include it directly 3 */ 4 5 #define _STLP_COMPILER "gcc" 6 7 #define _STLP_HAS_INCLUDE_NEXT 1 8 9 #if (__GNUC__ < 2) || ((__GNUC__ < 3) && ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96))) 10 /* We do not support neither the unofficial 2.96 gcc version. */ 11 # error GNU compilers before 2.95 are not supported anymore. 12 #endif 13 14 /* Systems having GLIBC installed have different traits */ 15 #if defined (__linux__) 16 # ifndef _STLP_USE_GLIBC 17 # define _STLP_USE_GLIBC 1 18 # endif 19 # if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC) 20 # define _STLP_USE_UCLIBC 1 21 # endif 22 #endif 23 24 #if defined (__CYGWIN__) && \ 25 (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99) 26 # define _STLP_NO_VENDOR_MATH_L 27 # define _STLP_NO_VENDOR_STDLIB_L 28 #endif 29 30 #if (__GNUC__ < 3) 31 # define _STLP_NO_VENDOR_STDLIB_L 32 #endif 33 34 #if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4)) 35 /* define for gcc versions before 3.4.0. */ 36 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 37 #endif 38 39 #if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \ 40 (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \ 41 (defined (__MINGW32__) && defined (_MT))) 42 # define _REENTRANT 43 #endif 44 45 #if defined (__DJGPP) 46 # define _STLP_RAND48 1 47 # define _NOTHREADS 1 48 # undef _PTHREADS 49 # define _STLP_LITTLE_ENDIAN 50 #endif 51 52 #if defined (__MINGW32__) 53 /* Mingw32, egcs compiler using the Microsoft C runtime */ 54 # if (__GNUC__ >= 3) 55 /* For gcc before version 3 this macro is defined below */ 56 # define _STLP_VENDOR_GLOBAL_CSTD 57 # endif 58 # undef _STLP_NO_DRAND48 59 # define _STLP_NO_DRAND48 60 # define _STLP_CALL 61 #endif /* __MINGW32__ */ 62 63 #if defined (__CYGWIN__) || defined (__MINGW32__) 64 # if !defined (_STLP_USE_STATIC_LIB) 65 # define _STLP_USE_DECLSPEC 1 66 # if !defined (_STLP_USE_DYNAMIC_LIB) 67 # define _STLP_USE_DYNAMIC_LIB 68 # endif 69 # define _STLP_EXPORT_DECLSPEC __declspec(dllexport) 70 # define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) 71 # define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) 72 # endif 73 /* The following is defined independently of _STLP_USE_STATIC_LIB because it is also 74 * used to import symbols from PSDK under MinGW 75 */ 76 # define _STLP_IMPORT_DECLSPEC __declspec(dllimport) 77 #else 78 # if (__GNUC__ >= 4) 79 # if !defined (_STLP_USE_STATIC_LIB) 80 # if !defined (_STLP_USE_DYNAMIC_LIB) 81 # define _STLP_USE_DYNAMIC_LIB 82 # endif 83 # define _STLP_USE_DECLSPEC 1 84 # define _STLP_EXPORT_DECLSPEC __attribute__((visibility("default"))) 85 # define _STLP_IMPORT_DECLSPEC __attribute__((visibility("default"))) 86 # define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((visibility("default"))) 87 # define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((visibility("default"))) 88 # endif 89 # endif 90 #endif 91 92 #if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__)) 93 # if !defined (__MINGW32__) && !defined (__CYGWIN__) 94 # define _STLP_NO_NATIVE_MBSTATE_T 1 95 # endif 96 # if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4) 97 # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 98 # endif 99 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 100 #endif 101 102 #define _STLP_NORETURN_FUNCTION __attribute__((noreturn)) 103 104 /* Mac OS X is a little different with namespaces and cannot instantiate 105 * static data members in template classes */ 106 #if defined (__APPLE__) 107 # if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))) 108 /* Mac OS X is missing a required typedef and standard macro */ 109 typedef unsigned int wint_t; 110 # endif 111 112 # define __unix 113 114 # define _STLP_NO_LONG_DOUBLE 115 116 /* Mac OS X needs all "::" scope references to be "std::" */ 117 # define _STLP_USE_NEW_C_HEADERS 118 119 # define _STLP_NO_VENDOR_STDLIB_L 120 121 #endif /* __APPLE__ */ 122 123 /* g++ 2.7.x and above */ 124 #define _STLP_LONG_LONG long long 125 126 #ifdef _STLP_USE_UCLIBC 127 /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ 128 # define _STLP_NO_VENDOR_MATH_F 129 /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */ 130 # define _STLP_NO_VENDOR_MATH_L 131 # define _STLP_NO_LONG_DOUBLE 132 #endif 133 134 #if defined (__OpenBSD__) || defined (__FreeBSD__) 135 # define _STLP_NO_VENDOR_MATH_L 136 # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ 137 # ifndef __unix 138 # define __unix 139 # endif 140 #endif 141 142 #if defined (__alpha__) 143 # define _STLP_NO_VENDOR_MATH_L 144 #endif 145 146 #if defined (__hpux) 147 # define _STLP_VENDOR_GLOBAL_CSTD 1 148 # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ 149 /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ 150 # define _STLP_NO_VENDOR_MATH_F 151 #endif 152 153 #if (__GNUC__ >= 3) 154 # ifndef _STLP_HAS_NO_NEW_C_HEADERS 155 /* 156 # ifndef _STLP_USE_UCLIBC 157 */ 158 # define _STLP_HAS_NATIVE_FLOAT_ABS 159 /* 160 # endif 161 */ 162 # else 163 # ifdef _STLP_USE_GLIBC 164 # define _STLP_VENDOR_LONG_DOUBLE_MATH 1 165 # endif 166 # endif 167 #endif 168 169 #if (__GNUC__ < 3) 170 # define _STLP_HAS_NO_NEW_C_HEADERS 1 171 # define _STLP_VENDOR_GLOBAL_CSTD 1 172 # define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 173 # ifndef __HONOR_STD 174 # define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 175 # endif 176 /* egcs fails to initialize builtin types in expr. like this : new(p) char(); */ 177 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 178 #endif 179 180 #undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 181 #undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 182 183 /* strict ANSI prohibits "long long" ( gcc) */ 184 #if defined ( __STRICT_ANSI__ ) 185 # undef _STLP_LONG_LONG 186 #endif 187 188 #ifndef __EXCEPTIONS 189 # undef _STLP_DONT_USE_EXCEPTIONS 190 # define _STLP_DONT_USE_EXCEPTIONS 1 191 #endif 192 193 #if (__GNUC__ >= 3) 194 /* Instantiation scheme that used (default) in gcc 3 made void of sense explicit 195 instantiation within library: nothing except increased library size. - ptr 196 */ 197 # define _STLP_NO_FORCE_INSTANTIATE 198 #endif 199