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 #ifndef WIN32_LEAN_AND_MEAN
00036 #define WIN32_LEAN_AND_MEAN
00037 #endif
00038 #ifndef NOMINMAX
00039 #define NOMINMAX
00040 #endif
00041 #include <windows.h>
00042 #undef DELETE
00043
00044 #elif defined(linux) || defined(__linux)
00045
00046
00047 #define SFML_SYSTEM_LINUX
00048
00049 #elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)
00050
00051
00052 #define SFML_SYSTEM_MACOS
00053 #include <Carbon/Carbon.h>
00054
00055 #else
00056
00057
00058 #error This operating system is not supported by SFML library
00059
00060 #endif
00061
00062
00064
00066 #if defined(__i386__) || defined(_M_IX86) || defined(_X86_) || defined(__INTEL__) || defined(__i386)
00067
00068
00069 #define SFML_PLATFORM_X86
00070
00071 #elif defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64)
00072
00073
00074 #define SFML_PLATFORM_AMD64
00075
00076 #elif defined(__IA64__) || defined(_M_IA64)
00077
00078
00079 #define SFML_PLATFORM_IA64
00080
00081 #elif defined(__powerpc__) || defined(_M_PPC) || defined(_ARCH_PPC)
00082
00083
00084 #define SFML_PLATFORM_POWERPC
00085
00086 #else
00087
00088
00089 #error This platform is not supported by SFML library
00090
00091 #endif
00092
00093
00095
00097 #if !defined(NDEBUG)
00098
00099 #define SFML_DEBUG
00100
00101 #endif
00102
00103
00105
00107 #if defined(SFML_SYSTEM_MACOS)
00108
00109 #define SFML_OPENGL_HEADER <OpenGL/gl.h>
00110
00111 #else
00112
00113 #define SFML_OPENGL_HEADER <GL/gl.h>
00114
00115 #endif
00116
00117
00119
00121 #if defined(SFML_SYSTEM_WINDOWS)
00122
00123 #ifdef SFML_DYNAMIC
00124
00125
00126 #ifdef SFML_EXPORTS
00127
00128
00129 #define SFML_API __declspec(dllexport)
00130
00131 #else
00132
00133
00134 #define SFML_API __declspec(dllimport)
00135
00136 #endif
00137
00138
00139
00140
00141 #ifdef _MSC_VER
00142
00143 #pragma warning(disable : 4251)
00144
00145 #endif
00146
00147 #else
00148
00149
00150 #define SFML_API
00151
00152 #endif
00153
00154 #else
00155
00156
00157 #define SFML_API
00158
00159 #endif
00160
00161
00163
00165 #ifdef SFML_PLATFORM_POWERPC
00166
00167
00168 #define SFML_BIG_ENDIAN
00169
00170 #else
00171
00172
00173 #define SFML_LITTLE_ENDIAN
00174
00175 #endif
00176
00177
00179
00181 #include <climits>
00182
00183 namespace sf
00184 {
00185
00186 #if UCHAR_MAX == 0xFF
00187 typedef char Int8;
00188 typedef unsigned char Uint8;
00189 #else
00190 #error No 8 bits integer type for this platform
00191 #endif
00192
00193
00194 #if USHRT_MAX == 0xFFFF
00195 typedef short Int16;
00196 typedef unsigned short Uint16;
00197 #elif UINT_MAX == 0xFFFF
00198 typedef int Int16;
00199 typedef unsigned int Uint16;
00200 #elif ULONG_MAX == 0xFFFF
00201 typedef long Int16;
00202 typedef unsigned long Uint16;
00203 #else
00204 #error No 16 bits integer type for this platform
00205 #endif
00206
00207
00208 #if USHRT_MAX == 0xFFFFFFFF
00209 typedef short Int32;
00210 typedef unsigned short Uint32;
00211 #elif UINT_MAX == 0xFFFFFFFF
00212 typedef int Int32;
00213 typedef unsigned int Uint32;
00214 #elif ULONG_MAX == 0xFFFFFFFF
00215 typedef long Int32;
00216 typedef unsigned long Uint32;
00217 #else
00218 #error No 32 bits integer type for this platform
00219 #endif
00220
00221 }
00222
00223
00224 #endif // SFML_CONFIG_HPP