|
1 /* |
|
2 SDL - Simple DirectMedia Layer |
|
3 Copyright (C) 1997-2012 Sam Lantinga |
|
4 |
|
5 This library is free software; you can redistribute it and/or |
|
6 modify it under the terms of the GNU Lesser General Public |
|
7 License as published by the Free Software Foundation; either |
|
8 version 2.1 of the License, or (at your option) any later version. |
|
9 |
|
10 This library is distributed in the hope that it will be useful, |
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 Lesser General Public License for more details. |
|
14 |
|
15 You should have received a copy of the GNU Lesser General Public |
|
16 License along with this library; if not, write to the Free Software |
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|
18 |
|
19 Sam Lantinga |
|
20 slouken@libsdl.org |
|
21 */ |
|
22 |
|
23 #ifndef _SDL_config_win32_h |
|
24 #define _SDL_config_win32_h |
|
25 |
|
26 #include "SDL_platform.h" |
|
27 |
|
28 /* This is a set of defines to configure the SDL features */ |
|
29 |
|
30 #if defined(__GNUC__) || defined(__DMC__) |
|
31 #define HAVE_STDINT_H 1 |
|
32 #elif defined(_MSC_VER) |
|
33 typedef signed __int8 int8_t; |
|
34 typedef unsigned __int8 uint8_t; |
|
35 typedef signed __int16 int16_t; |
|
36 typedef unsigned __int16 uint16_t; |
|
37 typedef signed __int32 int32_t; |
|
38 typedef unsigned __int32 uint32_t; |
|
39 typedef signed __int64 int64_t; |
|
40 typedef unsigned __int64 uint64_t; |
|
41 #ifndef _UINTPTR_T_DEFINED |
|
42 #ifdef _WIN64 |
|
43 typedef unsigned __int64 uintptr_t; |
|
44 #else |
|
45 typedef unsigned int uintptr_t; |
|
46 #endif |
|
47 #define _UINTPTR_T_DEFINED |
|
48 #endif |
|
49 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */ |
|
50 #if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) |
|
51 #define DWORD_PTR DWORD |
|
52 #endif |
|
53 #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) |
|
54 #define LONG_PTR LONG |
|
55 #endif |
|
56 #else /* !__GNUC__ && !_MSC_VER */ |
|
57 typedef signed char int8_t; |
|
58 typedef unsigned char uint8_t; |
|
59 typedef signed short int16_t; |
|
60 typedef unsigned short uint16_t; |
|
61 typedef signed int int32_t; |
|
62 typedef unsigned int uint32_t; |
|
63 typedef signed long long int64_t; |
|
64 typedef unsigned long long uint64_t; |
|
65 #ifndef _SIZE_T_DEFINED_ |
|
66 #define _SIZE_T_DEFINED_ |
|
67 typedef unsigned int size_t; |
|
68 #endif |
|
69 typedef unsigned int uintptr_t; |
|
70 #endif /* __GNUC__ || _MSC_VER */ |
|
71 #define SDL_HAS_64BIT_TYPE 1 |
|
72 |
|
73 /* Enabled for SDL 1.2 (binary compatibility) */ |
|
74 #define HAVE_LIBC 1 |
|
75 #ifdef HAVE_LIBC |
|
76 /* Useful headers */ |
|
77 #define HAVE_STDIO_H 1 |
|
78 #define STDC_HEADERS 1 |
|
79 #define HAVE_STRING_H 1 |
|
80 #define HAVE_CTYPE_H 1 |
|
81 #define HAVE_MATH_H 1 |
|
82 #ifndef _WIN32_WCE |
|
83 #define HAVE_SIGNAL_H 1 |
|
84 #endif |
|
85 |
|
86 /* C library functions */ |
|
87 #define HAVE_MALLOC 1 |
|
88 #define HAVE_CALLOC 1 |
|
89 #define HAVE_REALLOC 1 |
|
90 #define HAVE_FREE 1 |
|
91 #define HAVE_ALLOCA 1 |
|
92 #define HAVE_QSORT 1 |
|
93 #define HAVE_ABS 1 |
|
94 #define HAVE_MEMSET 1 |
|
95 #define HAVE_MEMCPY 1 |
|
96 #define HAVE_MEMMOVE 1 |
|
97 #define HAVE_MEMCMP 1 |
|
98 #define HAVE_STRLEN 1 |
|
99 #define HAVE__STRREV 1 |
|
100 #define HAVE__STRUPR 1 |
|
101 #define HAVE__STRLWR 1 |
|
102 #define HAVE_STRCHR 1 |
|
103 #define HAVE_STRRCHR 1 |
|
104 #define HAVE_STRSTR 1 |
|
105 #define HAVE_ITOA 1 |
|
106 #define HAVE__LTOA 1 |
|
107 #define HAVE__ULTOA 1 |
|
108 #define HAVE_STRTOL 1 |
|
109 #define HAVE_STRTOUL 1 |
|
110 #define HAVE_STRTOLL 1 |
|
111 #define HAVE_STRTOD 1 |
|
112 #define HAVE_ATOI 1 |
|
113 #define HAVE_ATOF 1 |
|
114 #define HAVE_STRCMP 1 |
|
115 #define HAVE_STRNCMP 1 |
|
116 #define HAVE__STRICMP 1 |
|
117 #define HAVE__STRNICMP 1 |
|
118 #define HAVE_SSCANF 1 |
|
119 #else |
|
120 #define HAVE_STDARG_H 1 |
|
121 #define HAVE_STDDEF_H 1 |
|
122 #endif |
|
123 |
|
124 /* Enable various audio drivers */ |
|
125 #ifndef _WIN32_WCE |
|
126 #define SDL_AUDIO_DRIVER_DSOUND 1 |
|
127 #endif |
|
128 #define SDL_AUDIO_DRIVER_WAVEOUT 1 |
|
129 #define SDL_AUDIO_DRIVER_DISK 1 |
|
130 #define SDL_AUDIO_DRIVER_DUMMY 1 |
|
131 |
|
132 /* Enable various cdrom drivers */ |
|
133 #ifdef _WIN32_WCE |
|
134 #define SDL_CDROM_DISABLED 1 |
|
135 #else |
|
136 #define SDL_CDROM_WIN32 1 |
|
137 #endif |
|
138 |
|
139 /* Enable various input drivers */ |
|
140 #ifdef _WIN32_WCE |
|
141 #define SDL_JOYSTICK_DISABLED 1 |
|
142 #else |
|
143 #define SDL_JOYSTICK_WINMM 1 |
|
144 #endif |
|
145 |
|
146 /* Enable various shared object loading systems */ |
|
147 #define SDL_LOADSO_WIN32 1 |
|
148 |
|
149 /* Enable various threading systems */ |
|
150 #define SDL_THREAD_WIN32 1 |
|
151 |
|
152 /* Enable various timer systems */ |
|
153 #ifdef _WIN32_WCE |
|
154 #define SDL_TIMER_WINCE 1 |
|
155 #else |
|
156 #define SDL_TIMER_WIN32 1 |
|
157 #endif |
|
158 |
|
159 /* Enable various video drivers */ |
|
160 #ifdef _WIN32_WCE |
|
161 #define SDL_VIDEO_DRIVER_GAPI 1 |
|
162 #endif |
|
163 #ifndef _WIN32_WCE |
|
164 #define SDL_VIDEO_DRIVER_DDRAW 1 |
|
165 #endif |
|
166 #define SDL_VIDEO_DRIVER_DUMMY 1 |
|
167 #define SDL_VIDEO_DRIVER_WINDIB 1 |
|
168 |
|
169 /* Enable OpenGL support */ |
|
170 #ifndef _WIN32_WCE |
|
171 #define SDL_VIDEO_OPENGL 1 |
|
172 #define SDL_VIDEO_OPENGL_WGL 1 |
|
173 #endif |
|
174 |
|
175 /* Disable screensaver */ |
|
176 #define SDL_VIDEO_DISABLE_SCREENSAVER 1 |
|
177 |
|
178 /* Enable assembly routines (Win64 doesn't have inline asm) */ |
|
179 #ifndef _WIN64 |
|
180 #define SDL_ASSEMBLY_ROUTINES 1 |
|
181 #endif |
|
182 |
|
183 #endif /* _SDL_config_win32_h */ |