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(__ppc__) \
00102 || defined(__PPC__) \
00103 || defined(__powerpc__) \
00104 || defined(__powerpc) \
00105 || defined(__POWERPC__) \
00106 || defined(_M_PPC) \
00107 || defined(__PPC)
00108 #define WTF_PLATFORM_PPC 1
00109 #define WTF_PLATFORM_BIG_ENDIAN 1
00110 #endif
00111
00112
00113 #if defined(__ppc64__) \
00114 || defined(__PPC64__)
00115 #define WTF_PLATFORM_PPC64 1
00116 #define WTF_PLATFORM_BIG_ENDIAN 1
00117 #endif
00118
00119 #if defined(arm)
00120 #define WTF_PLATFORM_ARM 1
00121 #if defined(__ARMEB__)
00122 #define WTF_PLATFORM_BIG_ENDIAN 1
00123 #elif !defined(__ARM_EABI__) && !defined(__ARMEB__)
00124 #define WTF_PLATFORM_MIDDLE_ENDIAN 1
00125 #endif
00126 #if !defined(__ARM_EABI__)
00127 #define WTF_PLATFORM_FORCE_PACK 1
00128 #endif
00129 #endif
00130
00131
00132 #if defined(__i386__) \
00133 || defined(i386) \
00134 || defined(_M_IX86) \
00135 || defined(_X86_) \
00136 || defined(__THW_INTEL)
00137 #define WTF_PLATFORM_X86 1
00138 #endif
00139
00140
00141 #if defined(__x86_64__) \
00142 || defined(__ia64__)
00143 #define WTF_PLATFORM_X86_64 1
00144 #endif
00145
00146
00147 #if defined(sparc)
00148 #define WTF_PLATFORM_SPARC 1
00149 #endif
00150
00151
00152
00153
00154 #if defined(__MWERKS__)
00155 #define WTF_COMPILER_CWP 1
00156 #endif
00157
00158
00159 #if defined(_MSC_VER)
00160 #define WTF_COMPILER_MSVC 1
00161 #endif
00162
00163
00164 #if defined(__GNUC__)
00165 #define WTF_COMPILER_GCC 1
00166 #endif
00167
00168
00169 #if defined(__SUNPRO_CC)
00170 #define WTF_COMPILER_SUNPRO 1
00171 #endif
00172
00173
00174
00175 #if defined(__BORLANDC__)
00176 #define WTF_COMPILER_BORLAND 1
00177 #endif
00178
00179
00180
00181 #if defined(__CYGWIN__)
00182 #define WTF_COMPILER_CYGWIN 1
00183 #endif
00184
00185
00186 #if PLATFORM(MAC)
00187 #ifndef WTF_USE_MULTIPLE_THREADS
00188 #define WTF_USE_MULTIPLE_THREADS 1
00189 #endif
00190 #ifndef WTF_USE_BINDINGS
00191 #define WTF_USE_BINDINGS 1
00192 #endif
00193 #endif
00194
00195
00196 #if PLATFORM(KDE) || PLATFORM(QT)
00197 #define WTF_USE_QT4_UNICODE 1
00198 #elif PLATFORM(SYMBIAN)
00199 #define WTF_USE_SYMBIAN_UNICODE 1
00200 #else
00201 #define WTF_USE_ICU_UNICODE 1
00202 #endif
00203
00204 #if PLATFORM(MAC)
00205 #define WTF_PLATFORM_CF 1
00206 #endif
00207
00208 #if PLATFORM(WIN)
00209 #define WTF_USE_WININET 1
00210 #endif
00211
00212 #if PLATFORM(GDK)
00213 #define WTF_USE_CURL 1
00214 #endif
00215
00216
00217
00218 #endif