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