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/* 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_DLVSYM
138#undef HAVE_GETPAGESIZE
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_OSS
179#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
180#undef SDL_AUDIO_DRIVER_PAUD
181#undef SDL_AUDIO_DRIVER_QNXNTO
182#undef SDL_AUDIO_DRIVER_SNDMGR
183#undef SDL_AUDIO_DRIVER_SUNAUDIO
184#undef SDL_AUDIO_DRIVER_WAVEOUT
185
186/* Enable various cdrom drivers */
187#undef SDL_CDROM_AIX
188#undef SDL_CDROM_BEOS
189#undef SDL_CDROM_BSDI
190#undef SDL_CDROM_DC
191#undef SDL_CDROM_DUMMY
192#undef SDL_CDROM_FREEBSD
193#undef SDL_CDROM_LINUX
194#undef SDL_CDROM_MACOS
195#undef SDL_CDROM_MACOSX
196#undef SDL_CDROM_MINT
197#undef SDL_CDROM_OPENBSD
198#undef SDL_CDROM_OS2
199#undef SDL_CDROM_OSF
200#undef SDL_CDROM_QNX
201#undef SDL_CDROM_WIN32
202
203/* Enable various input drivers */
204#undef SDL_INPUT_TSLIB
205#undef SDL_JOYSTICK_BEOS
206#undef SDL_JOYSTICK_DC
207#undef SDL_JOYSTICK_DUMMY
208#undef SDL_JOYSTICK_IOKIT
209#undef SDL_JOYSTICK_LINUX
210#undef SDL_JOYSTICK_LINUXEV
211#undef SDL_JOYSTICK_MACOS
212#undef SDL_JOYSTICK_MINT
213#undef SDL_JOYSTICK_OS2
214#undef SDL_JOYSTICK_RISCOS
215#undef SDL_JOYSTICK_WINMM
216#undef SDL_JOYSTICK_USBHID
217#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
218
219/* Enable various shared object loading systems */
220#undef SDL_LOADSO_BEOS
221#undef SDL_LOADSO_DLCOMPAT
222#undef SDL_LOADSO_DLOPEN
223#undef SDL_LOADSO_DUMMY
224#undef SDL_LOADSO_LDG
225#undef SDL_LOADSO_MACOS
226#undef SDL_LOADSO_OS2
227#undef SDL_LOADSO_WIN32
228
229/* Enable various threading systems */
230#undef SDL_THREAD_BEOS
231#undef SDL_THREAD_DC
232#undef SDL_THREAD_OS2
233#undef SDL_THREAD_PTH
234#undef SDL_THREAD_PTHREAD
235#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
236#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
237#undef SDL_THREAD_SPROC
238#undef SDL_THREAD_WIN32
239
240/* Enable various timer systems */
241#undef SDL_TIMER_BEOS
242#undef SDL_TIMER_DC
243#undef SDL_TIMER_DUMMY
244#undef SDL_TIMER_MACOS
245#undef SDL_TIMER_MINT
246#undef SDL_TIMER_OS2
247#undef SDL_TIMER_RISCOS
248#undef SDL_TIMER_UNIX
249#undef SDL_TIMER_WIN32
250#undef SDL_TIMER_WINCE
251
252/* Enable various video drivers */
253#undef SDL_VIDEO_DRIVER_AALIB
254#undef SDL_VIDEO_DRIVER_BWINDOW
255#undef SDL_VIDEO_DRIVER_DC
256#undef SDL_VIDEO_DRIVER_DDRAW
257#undef SDL_VIDEO_DRIVER_DGA
258#undef SDL_VIDEO_DRIVER_DIRECTFB
259#undef SDL_VIDEO_DRIVER_DRAWSPROCKET
260#undef SDL_VIDEO_DRIVER_DUMMY
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