Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygen_gcc.h
Go to the documentation of this file.
00001 /* STLport configuration file 00002 * It is internal STLport header - DO NOT include it directly 00003 */ 00004 00005 #define _STLP_COMPILER "gcc" 00006 00007 #define _STLP_HAS_INCLUDE_NEXT 1 00008 00009 #if (__GNUC__ < 2) || ((__GNUC__ < 3) && ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96))) 00010 /* We do not support neither the unofficial 2.96 gcc version. */ 00011 # error GNU compilers before 2.95 are not supported anymore. 00012 #endif 00013 00014 /* Systems having GLIBC installed have different traits */ 00015 #if defined (__linux__) 00016 # ifndef _STLP_USE_GLIBC 00017 # define _STLP_USE_GLIBC 1 00018 # endif 00019 # if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC) 00020 # define _STLP_USE_UCLIBC 1 00021 # endif 00022 #endif 00023 00024 #if defined (__CYGWIN__) && \ 00025 (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99) 00026 # define _STLP_NO_VENDOR_MATH_L 00027 # define _STLP_NO_VENDOR_STDLIB_L 00028 #endif 00029 00030 #if (__GNUC__ < 3) 00031 # define _STLP_NO_VENDOR_STDLIB_L 00032 #endif 00033 00034 #if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4)) 00035 /* define for gcc versions before 3.4.0. */ 00036 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 00037 #endif 00038 00039 #if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \ 00040 (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \ 00041 (defined (__MINGW32__) && defined (_MT))) 00042 # define _REENTRANT 00043 #endif 00044 00045 #if defined (__DJGPP) 00046 # define _STLP_RAND48 1 00047 # define _NOTHREADS 1 00048 # undef _PTHREADS 00049 # define _STLP_LITTLE_ENDIAN 00050 #endif 00051 00052 #if defined (__MINGW32__) 00053 /* Mingw32, egcs compiler using the Microsoft C runtime */ 00054 # if (__GNUC__ >= 3) 00055 /* For gcc before version 3 this macro is defined below */ 00056 # define _STLP_VENDOR_GLOBAL_CSTD 00057 # endif 00058 # undef _STLP_NO_DRAND48 00059 # define _STLP_NO_DRAND48 00060 # define _STLP_CALL 00061 #endif /* __MINGW32__ */ 00062 00063 #if defined (__CYGWIN__) || defined (__MINGW32__) 00064 # if !defined (_STLP_USE_STATIC_LIB) 00065 # define _STLP_USE_DECLSPEC 1 00066 # if !defined (_STLP_USE_DYNAMIC_LIB) 00067 # define _STLP_USE_DYNAMIC_LIB 00068 # endif 00069 # define _STLP_EXPORT_DECLSPEC __declspec(dllexport) 00070 # define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) 00071 # define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) 00072 # endif 00073 /* The following is defined independently of _STLP_USE_STATIC_LIB because it is also 00074 * used to import symbols from PSDK under MinGW 00075 */ 00076 # define _STLP_IMPORT_DECLSPEC __declspec(dllimport) 00077 #else 00078 # if (__GNUC__ >= 4) 00079 # if !defined (_STLP_USE_STATIC_LIB) 00080 # if !defined (_STLP_USE_DYNAMIC_LIB) 00081 # define _STLP_USE_DYNAMIC_LIB 00082 # endif 00083 # define _STLP_USE_DECLSPEC 1 00084 # define _STLP_EXPORT_DECLSPEC __attribute__((visibility("default"))) 00085 # define _STLP_IMPORT_DECLSPEC __attribute__((visibility("default"))) 00086 # define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((visibility("default"))) 00087 # define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((visibility("default"))) 00088 # endif 00089 # endif 00090 #endif 00091 00092 #if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__)) 00093 # if !defined (__MINGW32__) && !defined (__CYGWIN__) 00094 # define _STLP_NO_NATIVE_MBSTATE_T 1 00095 # endif 00096 # if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4) 00097 # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 00098 # endif 00099 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 00100 #endif 00101 00102 #define _STLP_NORETURN_FUNCTION __attribute__((noreturn)) 00103 00104 /* Mac OS X is a little different with namespaces and cannot instantiate 00105 * static data members in template classes */ 00106 #if defined (__APPLE__) 00107 # if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))) 00108 /* Mac OS X is missing a required typedef and standard macro */ 00109 typedef unsigned int wint_t; 00110 # endif 00111 00112 # define __unix 00113 00114 # define _STLP_NO_LONG_DOUBLE 00115 00116 /* Mac OS X needs all "::" scope references to be "std::" */ 00117 # define _STLP_USE_NEW_C_HEADERS 00118 00119 # define _STLP_NO_VENDOR_STDLIB_L 00120 00121 #endif /* __APPLE__ */ 00122 00123 /* g++ 2.7.x and above */ 00124 #define _STLP_LONG_LONG long long 00125 00126 #ifdef _STLP_USE_UCLIBC 00127 /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ 00128 # define _STLP_NO_VENDOR_MATH_F 00129 /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */ 00130 # define _STLP_NO_VENDOR_MATH_L 00131 # define _STLP_NO_LONG_DOUBLE 00132 #endif 00133 00134 #if defined (__OpenBSD__) || defined (__FreeBSD__) 00135 # define _STLP_NO_VENDOR_MATH_L 00136 # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ 00137 # ifndef __unix 00138 # define __unix 00139 # endif 00140 #endif 00141 00142 #if defined (__alpha__) 00143 # define _STLP_NO_VENDOR_MATH_L 00144 #endif 00145 00146 #if defined (__hpux) 00147 # define _STLP_VENDOR_GLOBAL_CSTD 1 00148 # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ 00149 /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ 00150 # define _STLP_NO_VENDOR_MATH_F 00151 #endif 00152 00153 #if (__GNUC__ >= 3) 00154 # ifndef _STLP_HAS_NO_NEW_C_HEADERS 00155 /* 00156 # ifndef _STLP_USE_UCLIBC 00157 */ 00158 # define _STLP_HAS_NATIVE_FLOAT_ABS 00159 /* 00160 # endif 00161 */ 00162 # else 00163 # ifdef _STLP_USE_GLIBC 00164 # define _STLP_VENDOR_LONG_DOUBLE_MATH 1 00165 # endif 00166 # endif 00167 #endif 00168 00169 #if (__GNUC__ < 3) 00170 # define _STLP_HAS_NO_NEW_C_HEADERS 1 00171 # define _STLP_VENDOR_GLOBAL_CSTD 1 00172 # define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 00173 # ifndef __HONOR_STD 00174 # define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 00175 # endif 00176 /* egcs fails to initialize builtin types in expr. like this : new(p) char(); */ 00177 # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 00178 #endif 00179 00180 #undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 00181 #undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 00182 00183 /* strict ANSI prohibits "long long" ( gcc) */ 00184 #if defined ( __STRICT_ANSI__ ) 00185 # undef _STLP_LONG_LONG 00186 #endif 00187 00188 #ifndef __EXCEPTIONS 00189 # undef _STLP_DONT_USE_EXCEPTIONS 00190 # define _STLP_DONT_USE_EXCEPTIONS 1 00191 #endif 00192 00193 #if (__GNUC__ >= 3) 00194 /* Instantiation scheme that used (default) in gcc 3 made void of sense explicit 00195 instantiation within library: nothing except increased library size. - ptr 00196 */ 00197 # define _STLP_NO_FORCE_INSTANTIATE 00198 #endif Generated on Sat May 26 2012 04:28:24 for ReactOS by
1.7.6.1
|