blob: 7f3110188ff3d463c6ab87bdf598c90e64a29602 [file] [log] [blame]
Franklin Weia855d622017-01-21 15:18:31 -05001/*
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
Franklin Weia855d622017-01-21 15:18:31 -050086#undef HAVE_GETENV
87#undef HAVE_PUTENV
88#undef HAVE_UNSETENV
Franklin Weia855d622017-01-21 15:18:31 -050089#undef HAVE_QSORT
90#undef HAVE_ABS
91#undef HAVE_BCOPY
92#undef HAVE_MEMSET
93#undef HAVE_MEMCPY
94#undef HAVE_MEMMOVE
95#undef HAVE_MEMCMP
96#undef HAVE_STRLEN
97#undef HAVE_STRLCPY
98#undef HAVE_STRLCAT
99#undef HAVE_STRDUP
100#undef HAVE__STRREV
101#undef HAVE__STRUPR
102#undef HAVE__STRLWR
103#undef HAVE_INDEX
104#undef HAVE_RINDEX
105#undef HAVE_STRCHR
106#undef HAVE_STRRCHR
107#undef HAVE_STRSTR
108#undef HAVE_ITOA
109#undef HAVE__LTOA
110#undef HAVE__UITOA
111#undef HAVE__ULTOA
112#undef HAVE_STRTOL
113#undef HAVE_STRTOUL
114#undef HAVE__I64TOA
115#undef HAVE__UI64TOA
116#undef HAVE_STRTOLL
117#undef HAVE_STRTOULL
118#undef HAVE_STRTOD
119#undef HAVE_ATOI
120#undef HAVE_ATOF
121#undef HAVE_STRCMP
122#undef HAVE_STRNCMP
123#undef HAVE__STRICMP
124#undef HAVE_STRCASECMP
125#undef HAVE__STRNICMP
126#undef HAVE_STRNCASECMP
127#undef HAVE_SSCANF
128#undef HAVE_SNPRINTF
129#undef HAVE_VSNPRINTF
130#undef HAVE_ICONV
131#undef HAVE_SIGACTION
132#undef HAVE_SA_SIGACTION
133#undef HAVE_SETJMP
134#undef HAVE_NANOSLEEP
135#undef HAVE_CLOCK_GETTIME
136#undef HAVE_GETPAGESIZE
137#undef HAVE_MPROTECT
138#undef HAVE_SEM_TIMEDWAIT
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 */