Rev Author Line No. Line
23 ovan 1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2009 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_h
24 #define _SDL_config_h
25  
26 /* This is a set of defines to configure the SDL features */
27  
28 /* General platform specific identifiers */
29 #include "SDL_platform.h"
30  
31 /* Make sure that this isn't included by Visual C++ */
32 #ifdef _MSC_VER
33 #error You should copy include/SDL_config.h.default to include/SDL_config.h
34 #endif
35  
36 /* C language features */
37 #undef const
38 #undef inline
39 #undef volatile
40  
41 /* C datatypes */
42 #undef size_t
43 #undef int8_t
44 #undef uint8_t
45 #undef int16_t
46 #undef uint16_t
47 #undef int32_t
48 #undef uint32_t
49 #undef int64_t
50 #undef uint64_t
51 #undef uintptr_t
52 #undef SDL_HAS_64BIT_TYPE
53  
54 /* Endianness */
55 #undef SDL_BYTEORDER
56  
57 /* Comment this if you want to build without any C library requirements */
58 #undef HAVE_LIBC
59 #if HAVE_LIBC
60  
61 /* Useful headers */
62 #undef HAVE_ALLOCA_H
63 #undef HAVE_SYS_TYPES_H
64 #undef HAVE_STDIO_H
65 #undef STDC_HEADERS
66 #undef HAVE_STDLIB_H
67 #undef HAVE_STDARG_H
68 #undef HAVE_MALLOC_H
69 #undef HAVE_MEMORY_H
70 #undef HAVE_STRING_H
71 #undef HAVE_STRINGS_H
72 #undef HAVE_INTTYPES_H
73 #undef HAVE_STDINT_H
74 #undef HAVE_CTYPE_H
75 #undef HAVE_MATH_H
76 #undef HAVE_ICONV_H
77 #undef HAVE_SIGNAL_H
78 #undef HAVE_ALTIVEC_H
79  
80 /* C library functions */
81 #undef HAVE_MALLOC
82 #undef HAVE_CALLOC
83 #undef HAVE_REALLOC
84 #undef HAVE_FREE
85 #undef HAVE_ALLOCA
86 #ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
87 #undef HAVE_GETENV
88 #undef HAVE_PUTENV
89 #undef HAVE_UNSETENV
90 #endif
91 #undef HAVE_QSORT
92 #undef HAVE_ABS
93 #undef HAVE_BCOPY
94 #undef HAVE_MEMSET
95 #undef HAVE_MEMCPY
96 #undef HAVE_MEMMOVE
97 #undef HAVE_MEMCMP
98 #undef HAVE_STRLEN
99 #undef HAVE_STRLCPY
100 #undef HAVE_STRLCAT
101 #undef HAVE_STRDUP
102 #undef HAVE__STRREV
103 #undef HAVE__STRUPR
104 #undef HAVE__STRLWR
105 #undef HAVE_INDEX
106 #undef HAVE_RINDEX
107 #undef HAVE_STRCHR
108 #undef HAVE_STRRCHR
109 #undef HAVE_STRSTR
110 #undef HAVE_ITOA
111 #undef HAVE__LTOA
112 #undef HAVE__UITOA
113 #undef HAVE__ULTOA
114 #undef HAVE_STRTOL
115 #undef HAVE_STRTOUL
116 #undef HAVE__I64TOA
117 #undef HAVE__UI64TOA
118 #undef HAVE_STRTOLL
119 #undef HAVE_STRTOULL
120 #undef HAVE_STRTOD
121 #undef HAVE_ATOI
122 #undef HAVE_ATOF
123 #undef HAVE_STRCMP
124 #undef HAVE_STRNCMP
125 #undef HAVE__STRICMP
126 #undef HAVE_STRCASECMP
127 #undef HAVE__STRNICMP
128 #undef HAVE_STRNCASECMP
129 #undef HAVE_SSCANF
130 #undef HAVE_SNPRINTF
131 #undef HAVE_VSNPRINTF
132 #undef HAVE_ICONV
133 #undef HAVE_SIGACTION
134 #undef HAVE_SETJMP
135 #undef HAVE_NANOSLEEP
136 #undef HAVE_CLOCK_GETTIME
137 #undef HAVE_GETPAGESIZE
138 #undef HAVE_MPROTECT
139  
140 #else
141 /* We may need some replacement for stdarg.h here */
142 #include <stdarg.h>
143 #endif /* HAVE_LIBC */
144  
145 /* Allow disabling of core subsystems */
146 #undef SDL_AUDIO_DISABLED
147 #undef SDL_CDROM_DISABLED
148 #undef SDL_CPUINFO_DISABLED
149 #undef SDL_EVENTS_DISABLED
150 #undef SDL_FILE_DISABLED
151 #undef SDL_JOYSTICK_DISABLED
152 #undef SDL_LOADSO_DISABLED
153 #undef SDL_THREADS_DISABLED
154 #undef SDL_TIMERS_DISABLED
155 #undef SDL_VIDEO_DISABLED
156  
157 /* Enable various audio drivers */
158 #undef SDL_AUDIO_DRIVER_ALSA
159 #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
160 #undef SDL_AUDIO_DRIVER_ARTS
161 #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
162 #undef SDL_AUDIO_DRIVER_BAUDIO
163 #undef SDL_AUDIO_DRIVER_BSD
164 #undef SDL_AUDIO_DRIVER_COREAUDIO
165 #undef SDL_AUDIO_DRIVER_DART
166 #undef SDL_AUDIO_DRIVER_DC
167 #undef SDL_AUDIO_DRIVER_DISK
168 #undef SDL_AUDIO_DRIVER_DUMMY
169 #undef SDL_AUDIO_DRIVER_DMEDIA
170 #undef SDL_AUDIO_DRIVER_DSOUND
171 #undef SDL_AUDIO_DRIVER_PULSE
172 #undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC
173 #undef SDL_AUDIO_DRIVER_ESD
174 #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
175 #undef SDL_AUDIO_DRIVER_MINT
176 #undef SDL_AUDIO_DRIVER_MMEAUDIO
177 #undef SDL_AUDIO_DRIVER_NAS
178 #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
179 #undef SDL_AUDIO_DRIVER_OSS
180 #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
181 #undef SDL_AUDIO_DRIVER_PAUD
182 #undef SDL_AUDIO_DRIVER_QNXNTO
183 #undef SDL_AUDIO_DRIVER_SNDMGR
184 #undef SDL_AUDIO_DRIVER_SUNAUDIO
185 #undef SDL_AUDIO_DRIVER_WAVEOUT
186  
187 /* Enable various cdrom drivers */
188 #undef SDL_CDROM_AIX
189 #undef SDL_CDROM_BEOS
190 #undef SDL_CDROM_BSDI
191 #undef SDL_CDROM_DC
192 #undef SDL_CDROM_DUMMY
193 #undef SDL_CDROM_FREEBSD
194 #undef SDL_CDROM_LINUX
195 #undef SDL_CDROM_MACOS
196 #undef SDL_CDROM_MACOSX
197 #undef SDL_CDROM_MINT
198 #undef SDL_CDROM_OPENBSD
199 #undef SDL_CDROM_OS2
200 #undef SDL_CDROM_OSF
201 #undef SDL_CDROM_QNX
202 #undef SDL_CDROM_WIN32
203  
204 /* Enable various input drivers */
205 #undef SDL_INPUT_LINUXEV
206 #undef SDL_INPUT_TSLIB
207 #undef SDL_JOYSTICK_BEOS
208 #undef SDL_JOYSTICK_DC
209 #undef SDL_JOYSTICK_DUMMY
210 #undef SDL_JOYSTICK_IOKIT
211 #undef SDL_JOYSTICK_LINUX
212 #undef SDL_JOYSTICK_MACOS
213 #undef SDL_JOYSTICK_MINT
214 #undef SDL_JOYSTICK_OS2
215 #undef SDL_JOYSTICK_RISCOS
216 #undef SDL_JOYSTICK_WINMM
217 #undef SDL_JOYSTICK_USBHID
218 #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
219  
220 /* Enable various shared object loading systems */
221 #undef SDL_LOADSO_BEOS
222 #undef SDL_LOADSO_DLCOMPAT
223 #undef SDL_LOADSO_DLOPEN
224 #undef SDL_LOADSO_DUMMY
225 #undef SDL_LOADSO_LDG
226 #undef SDL_LOADSO_MACOS
227 #undef SDL_LOADSO_OS2
228 #undef SDL_LOADSO_WIN32
229  
230 /* Enable various threading systems */
231 #undef SDL_THREAD_BEOS
232 #undef SDL_THREAD_DC
233 #undef SDL_THREAD_OS2
234 #undef SDL_THREAD_PTH
235 #undef SDL_THREAD_PTHREAD
236 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
237 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
238 #undef SDL_THREAD_SPROC
239 #undef SDL_THREAD_WIN32
240  
241 /* Enable various timer systems */
242 #undef SDL_TIMER_BEOS
243 #undef SDL_TIMER_DC
244 #undef SDL_TIMER_DUMMY
245 #undef SDL_TIMER_MACOS
246 #undef SDL_TIMER_MINT
247 #undef SDL_TIMER_OS2
248 #undef SDL_TIMER_RISCOS
249 #undef SDL_TIMER_UNIX
250 #undef SDL_TIMER_WIN32
251 #undef SDL_TIMER_WINCE
252  
253 /* Enable various video drivers */
254 #undef SDL_VIDEO_DRIVER_AALIB
255 #undef SDL_VIDEO_DRIVER_BWINDOW
256 #undef SDL_VIDEO_DRIVER_CACA
257 #undef SDL_VIDEO_DRIVER_DC
258 #undef SDL_VIDEO_DRIVER_DDRAW
259 #undef SDL_VIDEO_DRIVER_DGA
260 #undef SDL_VIDEO_DRIVER_DIRECTFB
261 #undef SDL_VIDEO_DRIVER_DRAWSPROCKET
262 #undef SDL_VIDEO_DRIVER_DUMMY
263 #undef SDL_VIDEO_DRIVER_FBCON
264 #undef SDL_VIDEO_DRIVER_GAPI
265 #undef SDL_VIDEO_DRIVER_GEM
266 #undef SDL_VIDEO_DRIVER_GGI
267 #undef SDL_VIDEO_DRIVER_IPOD
268 #undef SDL_VIDEO_DRIVER_NANOX
269 #undef SDL_VIDEO_DRIVER_OS2FS
270 #undef SDL_VIDEO_DRIVER_PHOTON
271 #undef SDL_VIDEO_DRIVER_PICOGUI
272 #undef SDL_VIDEO_DRIVER_PS2GS
273 #undef SDL_VIDEO_DRIVER_PS3
274 #undef SDL_VIDEO_DRIVER_QTOPIA
275 #undef SDL_VIDEO_DRIVER_QUARTZ
276 #undef SDL_VIDEO_DRIVER_RISCOS
277 #undef SDL_VIDEO_DRIVER_SVGALIB
278 #undef SDL_VIDEO_DRIVER_TOOLBOX
279 #undef SDL_VIDEO_DRIVER_VGL
280 #undef SDL_VIDEO_DRIVER_WINDIB
281 #undef SDL_VIDEO_DRIVER_WSCONS
282 #undef SDL_VIDEO_DRIVER_X11
283 #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
284 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
285 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
286 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
287 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
288 #undef SDL_VIDEO_DRIVER_X11_VIDMODE
289 #undef SDL_VIDEO_DRIVER_X11_XINERAMA
290 #undef SDL_VIDEO_DRIVER_X11_XME
291 #undef SDL_VIDEO_DRIVER_X11_XRANDR
292 #undef SDL_VIDEO_DRIVER_X11_XV
293 #undef SDL_VIDEO_DRIVER_XBIOS
294  
295 /* Enable OpenGL support */
296 #undef SDL_VIDEO_OPENGL
297 #undef SDL_VIDEO_OPENGL_GLX
298 #undef SDL_VIDEO_OPENGL_WGL
299 #undef SDL_VIDEO_OPENGL_OSMESA
300 #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
301  
302 /* Disable screensaver */
303 #undef SDL_VIDEO_DISABLE_SCREENSAVER
304  
305 /* Enable assembly routines */
306 #undef SDL_ASSEMBLY_ROUTINES
307 #undef SDL_HERMES_BLITTERS
308 #undef SDL_ALTIVEC_BLITTERS
309  
310 #endif /* _SDL_config_h */