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_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_SA_SIGACTION
135#undef HAVE_SETJMP
136#undef HAVE_NANOSLEEP
137#undef HAVE_CLOCK_GETTIME
138#undef HAVE_GETPAGESIZE
139#undef HAVE_MPROTECT
140#undef HAVE_SEM_TIMEDWAIT
141
142#else
143/* We may need some replacement for stdarg.h here */
144#include <stdarg.h>
145#endif /* HAVE_LIBC */
146
147/* Allow disabling of core subsystems */
148#undef SDL_AUDIO_DISABLED
149#undef SDL_CDROM_DISABLED
150#undef SDL_CPUINFO_DISABLED
151#undef SDL_EVENTS_DISABLED
152#undef SDL_FILE_DISABLED
153#undef SDL_JOYSTICK_DISABLED
154#undef SDL_LOADSO_DISABLED
155#undef SDL_THREADS_DISABLED
156#undef SDL_TIMERS_DISABLED
157#undef SDL_VIDEO_DISABLED
158
159/* Enable various audio drivers */
160#undef SDL_AUDIO_DRIVER_ALSA
161#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
162#undef SDL_AUDIO_DRIVER_ARTS
163#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
164#undef SDL_AUDIO_DRIVER_BAUDIO
165#undef SDL_AUDIO_DRIVER_BSD
166#undef SDL_AUDIO_DRIVER_COREAUDIO
167#undef SDL_AUDIO_DRIVER_DART
168#undef SDL_AUDIO_DRIVER_DC
169#undef SDL_AUDIO_DRIVER_DISK
170#undef SDL_AUDIO_DRIVER_DUMMY
171#undef SDL_AUDIO_DRIVER_DMEDIA
172#undef SDL_AUDIO_DRIVER_DSOUND
173#undef SDL_AUDIO_DRIVER_PULSE
174#undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC
175#undef SDL_AUDIO_DRIVER_ESD
176#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
177#undef SDL_AUDIO_DRIVER_MINT
178#undef SDL_AUDIO_DRIVER_MMEAUDIO
179#undef SDL_AUDIO_DRIVER_NAS
180#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
181#undef SDL_AUDIO_DRIVER_OSS
182#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
183#undef SDL_AUDIO_DRIVER_PAUD
184#undef SDL_AUDIO_DRIVER_QNXNTO
185#undef SDL_AUDIO_DRIVER_SNDMGR
186#undef SDL_AUDIO_DRIVER_SUNAUDIO
187#undef SDL_AUDIO_DRIVER_WAVEOUT
188
189/* Enable various cdrom drivers */
190#undef SDL_CDROM_AIX
191#undef SDL_CDROM_BEOS
192#undef SDL_CDROM_BSDI
193#undef SDL_CDROM_DC
194#undef SDL_CDROM_DUMMY
195#undef SDL_CDROM_FREEBSD
196#undef SDL_CDROM_LINUX
197#undef SDL_CDROM_MACOS
198#undef SDL_CDROM_MACOSX
199#undef SDL_CDROM_MINT
200#undef SDL_CDROM_OPENBSD
201#undef SDL_CDROM_OS2
202#undef SDL_CDROM_OSF
203#undef SDL_CDROM_QNX
204#undef SDL_CDROM_WIN32
205
206/* Enable various input drivers */
207#undef SDL_INPUT_LINUXEV
208#undef SDL_INPUT_TSLIB
209#undef SDL_JOYSTICK_BEOS
210#undef SDL_JOYSTICK_DC
211#undef SDL_JOYSTICK_DUMMY
212#undef SDL_JOYSTICK_IOKIT
213#undef SDL_JOYSTICK_LINUX
214#undef SDL_JOYSTICK_MACOS
215#undef SDL_JOYSTICK_MINT
216#undef SDL_JOYSTICK_OS2
217#undef SDL_JOYSTICK_RISCOS
218#undef SDL_JOYSTICK_WINMM
219#undef SDL_JOYSTICK_USBHID
220#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
221
222/* Enable various shared object loading systems */
223#undef SDL_LOADSO_BEOS
224#undef SDL_LOADSO_DLCOMPAT
225#undef SDL_LOADSO_DLOPEN
226#undef SDL_LOADSO_DUMMY
227#undef SDL_LOADSO_LDG
228#undef SDL_LOADSO_MACOS
229#undef SDL_LOADSO_OS2
230#undef SDL_LOADSO_WIN32
231
232/* Enable various threading systems */
233#undef SDL_THREAD_BEOS
234#undef SDL_THREAD_DC
235#undef SDL_THREAD_OS2
236#undef SDL_THREAD_PTH
237#undef SDL_THREAD_PTHREAD
238#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
239#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
240#undef SDL_THREAD_SPROC
241#undef SDL_THREAD_WIN32
242
243/* Enable various timer systems */
244#undef SDL_TIMER_BEOS
245#undef SDL_TIMER_DC
246#undef SDL_TIMER_DUMMY
247#undef SDL_TIMER_MACOS
248#undef SDL_TIMER_MINT
249#undef SDL_TIMER_OS2
250#undef SDL_TIMER_RISCOS
251#undef SDL_TIMER_UNIX
252#undef SDL_TIMER_WIN32
253#undef SDL_TIMER_WINCE
254
255/* Enable various video drivers */
256#undef SDL_VIDEO_DRIVER_AALIB
257#undef SDL_VIDEO_DRIVER_BWINDOW
258#undef SDL_VIDEO_DRIVER_CACA
259#undef SDL_VIDEO_DRIVER_DC
260#undef SDL_VIDEO_DRIVER_DDRAW
261#undef SDL_VIDEO_DRIVER_DGA
262#undef SDL_VIDEO_DRIVER_DIRECTFB
263#undef SDL_VIDEO_DRIVER_DRAWSPROCKET
264#undef SDL_VIDEO_DRIVER_DUMMY
265#undef SDL_VIDEO_DRIVER_FBCON
266#undef SDL_VIDEO_DRIVER_GAPI
267#undef SDL_VIDEO_DRIVER_GEM
268#undef SDL_VIDEO_DRIVER_GGI
269#undef SDL_VIDEO_DRIVER_IPOD
270#undef SDL_VIDEO_DRIVER_NANOX
271#undef SDL_VIDEO_DRIVER_OS2FS
272#undef SDL_VIDEO_DRIVER_PHOTON
273#undef SDL_VIDEO_DRIVER_PICOGUI
274#undef SDL_VIDEO_DRIVER_PS2GS
275#undef SDL_VIDEO_DRIVER_PS3
276#undef SDL_VIDEO_DRIVER_QTOPIA
277#undef SDL_VIDEO_DRIVER_QUARTZ
278#undef SDL_VIDEO_DRIVER_RISCOS
279#undef SDL_VIDEO_DRIVER_SVGALIB
280#undef SDL_VIDEO_DRIVER_TOOLBOX
281#undef SDL_VIDEO_DRIVER_VGL
282#undef SDL_VIDEO_DRIVER_WINDIB
283#undef SDL_VIDEO_DRIVER_WSCONS
284#undef SDL_VIDEO_DRIVER_X11
285#undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
286#undef SDL_VIDEO_DRIVER_X11_DYNAMIC
287#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
288#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
289#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
290#undef SDL_VIDEO_DRIVER_X11_VIDMODE
291#undef SDL_VIDEO_DRIVER_X11_XINERAMA
292#undef SDL_VIDEO_DRIVER_X11_XME
293#undef SDL_VIDEO_DRIVER_X11_XRANDR
294#undef SDL_VIDEO_DRIVER_X11_XV
295#undef SDL_VIDEO_DRIVER_XBIOS
296
297/* Enable OpenGL support */
298#undef SDL_VIDEO_OPENGL
299#undef SDL_VIDEO_OPENGL_GLX
300#undef SDL_VIDEO_OPENGL_WGL
301#undef SDL_VIDEO_OPENGL_OSMESA
302#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
303
304/* Disable screensaver */
305#undef SDL_VIDEO_DISABLE_SCREENSAVER
306
307/* Enable assembly routines */
308#undef SDL_ASSEMBLY_ROUTINES
309#undef SDL_HERMES_BLITTERS
310#undef SDL_ALTIVEC_BLITTERS
311
312#endif /* _SDL_config_h */
313