00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_CONFIG_HPP
00026 #define SFML_CONFIG_HPP
00027
00029
00031 #if defined(_WIN32) || defined(__WIN32__)
00032
00033
00034 #define SFML_SYSTEM_WINDOWS
00035 #define WIN32_LEAN_AND_MEAN
00036 #define NOMINMAX
00037 #include <windows.h>
00038 #undef DELETE
00039
00040 #elif defined(linux) || defined(__linux)
00041
00042
00043 #define SFML_SYSTEM_LINUX
00044
00045 #elif defined(__MACOSX__) || defined(__APPLE__) || defined(macintosh) || defined(Macintosh)
00046
00047
00048 #define SFML_SYSTEM_MACOS
00049
00050 #else
00051
00052
00053 #error This operating system is not supported by SFML library
00054
00055 #endif
00056
00057
00059
00061 #if defined(__i386__) || defined(_M_IX86) || defined(_X86_) || defined(__INTEL__) || defined(__i386)
00062
00063
00064 #define SFML_PLATFORM_X86
00065
00066 #elif defined(__amd64__)
00067
00068
00069 #define SFML_PLATFORM_AMD64
00070
00071 #elif defined(__IA64__) || defined(_M_IA64)
00072
00073
00074 #define SFML_PLATFORM_IA64
00075
00076 #elif defined(__powerpc__) || defined(_M_PPC) || defined(_ARCH_PPC)
00077
00078
00079 #define SFML_PLATFORM_POWERPC
00080
00081 #else
00082
00083
00084 #error This platform is not supported by SFML library
00085
00086 #endif
00087
00088
00090
00092 #if defined(_DEBUG) || defined(DEBUG)
00093
00094 #define SFML_DEBUG
00095
00096 #endif
00097
00098
00100
00102 #if defined(SFML_SYSTEM_WINDOWS)
00103
00104 #ifdef SFML_DYNAMIC
00105
00106
00107 #ifdef SFML_EXPORTS
00108
00109
00110 #define SFML_API __declspec(dllexport)
00111
00112 #else
00113
00114
00115 #define SFML_API __declspec(dllimport)
00116
00117 #endif
00118
00119
00120
00121
00122 #ifdef _MSC_VER
00123
00124 #pragma warning(disable : 4251)
00125
00126 #endif
00127
00128 #else
00129
00130
00131 #define SFML_API
00132
00133 #endif
00134
00135 #else
00136
00137
00138 #define SFML_API
00139
00140 #endif
00141
00142
00144
00146 #ifdef SFML_PLATFORM_POWERPC
00147
00148
00149 #define SFML_BIG_ENDIAN
00150
00151 #else
00152
00153
00154 #define SFML_LITTLE_ENDIAN
00155
00156 #endif
00157
00158
00160
00162 #include <climits>
00163
00164
00165 #if UCHAR_MAX == 0xFF
00166 typedef char sfInt8;
00167 typedef unsigned char sfUint8;
00168 #else
00169 #error No 8 bits integer type for this platform
00170 #endif
00171
00172
00173 #if UCHAR_MAX == 0xFFFF
00174 typedef char sfInt16;
00175 typedef unsigned char sfUint16;
00176 #elif USHRT_MAX == 0xFFFF
00177 typedef short sfInt16;
00178 typedef unsigned short sfUint16;
00179 #elif UINT_MAX == 0xFFFF
00180 typedef int sfInt16;
00181 typedef unsigned int sfUint16;
00182 #elif ULONG_MAX == 0xFFFF
00183 typedef long sfInt16;
00184 typedef unsigned long sfUint16;
00185 #else
00186 #error No 16 bits integer type for this platform
00187 #endif
00188
00189
00190 #if UCHAR_MAX == 0xFFFFFFFF
00191 typedef char sfInt32;
00192 typedef unsigned char sfUint32;
00193 #elif USHRT_MAX == 0xFFFFFFFF
00194 typedef short sfInt32;
00195 typedef unsigned short sfUint32;
00196 #elif UINT_MAX == 0xFFFFFFFF
00197 typedef int sfInt32;
00198 typedef unsigned int sfUint32;
00199 #elif ULONG_MAX == 0xFFFFFFFF
00200 typedef long sfInt32;
00201 typedef unsigned long sfUint32;
00202 #else
00203 #error No 32 bits integer type for this platform
00204 #endif
00205
00206
00207 #endif // SFML_CONFIG_HPP