25 #ifndef SFML_CONFIG_HPP
26 #define SFML_CONFIG_HPP
31 #if defined(_WIN32) || defined(__WIN32__)
34 #define SFML_SYSTEM_WINDOWS
35 #ifndef WIN32_LEAN_AND_MEAN
36 #define WIN32_LEAN_AND_MEAN
42 #elif defined(linux) || defined(__linux)
45 #define SFML_SYSTEM_LINUX
47 #elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)
50 #define SFML_SYSTEM_MACOS
52 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
55 #define SFML_SYSTEM_FREEBSD
60 #error This operating system is not supported by SFML library
78 #if defined(SFML_SYSTEM_WINDOWS)
86 #define SFML_API __declspec(dllexport)
91 #define SFML_API __declspec(dllimport)
100 #pragma warning(disable : 4251)
127 #if UCHAR_MAX == 0xFF
128 typedef signed char Int8;
129 typedef unsigned char Uint8;
131 #error No 8 bits integer type for this platform
135 #if USHRT_MAX == 0xFFFF
136 typedef signed short Int16;
137 typedef unsigned short Uint16;
138 #elif UINT_MAX == 0xFFFF
139 typedef signed int Int16;
140 typedef unsigned int Uint16;
141 #elif ULONG_MAX == 0xFFFF
142 typedef signed long Int16;
143 typedef unsigned long Uint16;
145 #error No 16 bits integer type for this platform
149 #if USHRT_MAX == 0xFFFFFFFF
150 typedef signed short Int32;
151 typedef unsigned short Uint32;
152 #elif UINT_MAX == 0xFFFFFFFF
153 typedef signed int Int32;
154 typedef unsigned int Uint32;
155 #elif ULONG_MAX == 0xFFFFFFFF
156 typedef signed long Int32;
157 typedef unsigned long Uint32;
159 #error No 32 bits integer type for this platform
165 #endif // SFML_CONFIG_HPP