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
00042 #elif defined(linux) || defined(__linux)
00043
00044
00045 #define SFML_SYSTEM_LINUX
00046
00047 #elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)
00048
00049
00050 #define SFML_SYSTEM_MACOS
00051
00052 #else
00053
00054
00055 #error This operating system is not supported by SFML library
00056
00057 #endif
00058
00059
00061
00063 #if !defined(NDEBUG)
00064
00065 #define SFML_DEBUG
00066
00067 #endif
00068
00069
00071
00073 #if defined(SFML_SYSTEM_WINDOWS)
00074
00075 #ifdef SFML_DYNAMIC
00076
00077
00078 #ifdef SFML_EXPORTS
00079
00080
00081 #define SFML_API __declspec(dllexport)
00082
00083 #else
00084
00085
00086 #define SFML_API __declspec(dllimport)
00087
00088 #endif
00089
00090
00091
00092
00093 #ifdef _MSC_VER
00094
00095 #pragma warning(disable : 4251)
00096
00097 #endif
00098
00099 #else
00100
00101
00102 #define SFML_API
00103
00104 #endif
00105
00106 #else
00107
00108
00109 #define SFML_API
00110
00111 #endif
00112
00113
00115
00117 #include <climits>
00118
00119 namespace sf
00120 {
00121
00122 #if UCHAR_MAX == 0xFF
00123 typedef signed char Int8;
00124 typedef unsigned char Uint8;
00125 #else
00126 #error No 8 bits integer type for this platform
00127 #endif
00128
00129
00130 #if USHRT_MAX == 0xFFFF
00131 typedef signed short Int16;
00132 typedef unsigned short Uint16;
00133 #elif UINT_MAX == 0xFFFF
00134 typedef signed int Int16;
00135 typedef unsigned int Uint16;
00136 #elif ULONG_MAX == 0xFFFF
00137 typedef signed long Int16;
00138 typedef unsigned long Uint16;
00139 #else
00140 #error No 16 bits integer type for this platform
00141 #endif
00142
00143
00144 #if USHRT_MAX == 0xFFFFFFFF
00145 typedef signed short Int32;
00146 typedef unsigned short Uint32;
00147 #elif UINT_MAX == 0xFFFFFFFF
00148 typedef signed int Int32;
00149 typedef unsigned int Uint32;
00150 #elif ULONG_MAX == 0xFFFFFFFF
00151 typedef signed long Int32;
00152 typedef unsigned long Uint32;
00153 #else
00154 #error No 32 bits integer type for this platform
00155 #endif
00156
00157 }
00158
00159
00160 #endif // SFML_CONFIG_HPP