WTF
Platform.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef WTF_Platform_h
00028 #define WTF_Platform_h
00029
00030
00031 #ifndef BUILDING_KDE__
00032 #define BUILDING_KDE__ 1
00033 #endif
00034
00035
00036 #define PLATFORM(WTF_FEATURE) (defined( WTF_PLATFORM_##WTF_FEATURE ) && WTF_PLATFORM_##WTF_FEATURE)
00037 #define COMPILER(WTF_FEATURE) (defined( WTF_COMPILER_##WTF_FEATURE ) && WTF_COMPILER_##WTF_FEATURE)
00038 #define HAVE(WTF_FEATURE) (defined( HAVE_##WTF_FEATURE ) && HAVE_##WTF_FEATURE)
00039 #define USE(WTF_FEATURE) (defined( WTF_USE_##WTF_FEATURE ) && WTF_USE_##WTF_FEATURE)
00040 #define ENABLE(WTF_FEATURE) (defined( ENABLE_##WTF_FEATURE ) && ENABLE_##WTF_FEATURE)
00041
00042
00043
00044
00045
00046
00047 #ifdef __APPLE__
00048 #define WTF_PLATFORM_DARWIN 1
00049 #endif
00050
00051
00052
00053
00054 #if defined(WIN32) || defined(_WIN32)
00055 #define WTF_PLATFORM_WIN_OS 1
00056 #endif
00057
00058
00059
00060
00061
00062 #if defined(__APPLE__) \
00063 || defined(unix) \
00064 || defined(__unix) \
00065 || defined(__unix__) \
00066 || defined (__NetBSD__) \
00067 || defined(_AIX)
00068 #define WTF_PLATFORM_UNIX 1
00069 #endif
00070
00071
00072
00073
00074
00075 #if defined(__sun) || defined(sun)
00076 #define WTF_PLATFORM_SOLARIS_OS 1
00077 #endif
00078
00079
00080
00081
00082
00083
00084
00085
00086 #if BUILDING_KDE__
00087 #define WTF_PLATFORM_KDE 1
00088 #elif PLATFORM(DARWIN)
00089 #define WTF_PLATFORM_MAC 1
00090 #elif PLATFORM(WIN_OS)
00091 #define WTF_PLATFORM_WIN 1
00092 #endif
00093 #if defined(BUILDING_GDK__)
00094 #define WTF_PLATFORM_GDK 1
00095 #endif
00096
00097
00098
00099
00100
00101 #if defined(__s390x__)
00102 #define WTF_PLATFORM_S390X 1
00103 #define WTF_PLATFORM_BIG_ENDIAN 1
00104 #endif
00105
00106
00107 #if defined(__s390__)
00108 #define WTF_PLATFORM_S390 1
00109 #define WTF_PLATFORM_BIG_ENDIAN 1
00110 #endif
00111
00112
00113 #if defined(__ppc__) \
00114 || defined(__PPC__) \
00115 || defined(__powerpc__) \
00116 || defined(__powerpc) \
00117 || defined(__POWERPC__) \
00118 || defined(_M_PPC) \
00119 || defined(__PPC)
00120 #define WTF_PLATFORM_PPC 1
00121 #define WTF_PLATFORM_BIG_ENDIAN 1
00122 #endif
00123
00124
00125 #if defined(__ppc64__) \
00126 || defined(__PPC64__)
00127 #define WTF_PLATFORM_PPC64 1
00128 #define WTF_PLATFORM_BIG_ENDIAN 1
00129 #endif
00130
00131 #if defined(arm)
00132 #define WTF_PLATFORM_ARM 1
00133 #if defined(__ARMEB__)
00134 #define WTF_PLATFORM_BIG_ENDIAN 1
00135 #elif !defined(__ARM_EABI__) && !defined(__ARMEB__)
00136 #define WTF_PLATFORM_MIDDLE_ENDIAN 1
00137 #endif
00138 #if !defined(__ARM_EABI__)
00139 #define WTF_PLATFORM_FORCE_PACK 1
00140 #endif
00141 #endif
00142
00143
00144 #if defined(__i386__) \
00145 || defined(i386) \
00146 || defined(_M_IX86) \
00147 || defined(_X86_) \
00148 || defined(__THW_INTEL)
00149 #define WTF_PLATFORM_X86 1
00150 #endif
00151
00152
00153 #if defined(__x86_64__) \
00154 || defined(__ia64__)
00155 #define WTF_PLATFORM_X86_64 1
00156 #endif
00157
00158
00159 #if defined(sparc)
00160 #define WTF_PLATFORM_SPARC 1
00161 #endif
00162
00163
00164
00165
00166 #if defined(__MWERKS__)
00167 #define WTF_COMPILER_CWP 1
00168 #endif
00169
00170
00171 #if defined(_MSC_VER)
00172 #define WTF_COMPILER_MSVC 1
00173 #endif
00174
00175
00176 #if defined(__GNUC__)
00177 #define WTF_COMPILER_GCC 1
00178 #endif
00179
00180
00181 #if defined(__SUNPRO_CC)
00182 #define WTF_COMPILER_SUNPRO 1
00183 #endif
00184
00185
00186
00187 #if defined(__BORLANDC__)
00188 #define WTF_COMPILER_BORLAND 1
00189 #endif
00190
00191
00192
00193 #if defined(__CYGWIN__)
00194 #define WTF_COMPILER_CYGWIN 1
00195 #endif
00196
00197
00198 #if PLATFORM(MAC)
00199 #ifndef WTF_USE_MULTIPLE_THREADS
00200 #define WTF_USE_MULTIPLE_THREADS 1
00201 #endif
00202 #ifndef WTF_USE_BINDINGS
00203 #define WTF_USE_BINDINGS 1
00204 #endif
00205 #endif
00206
00207
00208 #if PLATFORM(KDE) || PLATFORM(QT)
00209 #define WTF_USE_QT4_UNICODE 1
00210 #elif PLATFORM(SYMBIAN)
00211 #define WTF_USE_SYMBIAN_UNICODE 1
00212 #else
00213 #define WTF_USE_ICU_UNICODE 1
00214 #endif
00215
00216 #if PLATFORM(MAC)
00217 #define WTF_PLATFORM_CF 1
00218 #endif
00219
00220 #if PLATFORM(WIN)
00221 #define WTF_USE_WININET 1
00222 #endif
00223
00224 #if PLATFORM(GDK)
00225 #define WTF_USE_CURL 1
00226 #endif
00227
00228
00229
00230 #endif