1/* 2 Simple DirectMedia Layer 3 Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org> 4 5 This software is provided 'as-is', without any express or implied 6 warranty. In no event will the authors be held liable for any damages 7 arising from the use of this software. 8 9 Permission is granted to anyone to use this software for any purpose, 10 including commercial applications, and to alter it and redistribute it 11 freely, subject to the following restrictions: 12 13 1. The origin of this software must not be misrepresented; you must not 14 claim that you wrote the original software. If you use this software 15 in a product, an acknowledgment in the product documentation would be 16 appreciated but is not required. 17 2. Altered source versions must be plainly marked as such, and must not be 18 misrepresented as being the original software. 19 3. This notice may not be removed or altered from any source distribution. 20*/ 21 22#ifndef _SDL_config_h 23#define _SDL_config_h 24 25/** 26 * \file SDL_config.h.in 27 * 28 * This is a set of defines to configure the SDL features 29 */ 30 31/* General platform specific identifiers */ 32#include "SDL_platform.h" 33 34/* Make sure that this isn't included by Visual C++ */ 35#ifdef _MSC_VER 36#error You should run hg revert SDL_config.h 37#endif 38 39/* C language features */ 40#undef const 41#undef inline 42#undef volatile 43 44/* C datatypes */ 45#ifdef __LP64__ 46#define SIZEOF_VOIDP 8 47#else 48#define SIZEOF_VOIDP 4 49#endif 50#undef HAVE_GCC_ATOMICS 51#undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET 52 53#undef HAVE_DDRAW_H 54#undef HAVE_DINPUT_H 55#undef HAVE_DSOUND_H 56#undef HAVE_DXGI_H 57#undef HAVE_XINPUT_H 58 59/* Comment this if you want to build without any C library requirements */ 60#undef HAVE_LIBC 61#if HAVE_LIBC 62 63/* Useful headers */ 64#undef HAVE_ALLOCA_H 65#undef HAVE_SYS_TYPES_H 66#undef HAVE_STDIO_H 67#undef STDC_HEADERS 68#undef HAVE_STDLIB_H 69#undef HAVE_STDARG_H 70#undef HAVE_MALLOC_H 71#undef HAVE_MEMORY_H 72#undef HAVE_STRING_H 73#undef HAVE_STRINGS_H 74#undef HAVE_INTTYPES_H 75#undef HAVE_STDINT_H 76#undef HAVE_CTYPE_H 77#undef HAVE_MATH_H 78#undef HAVE_ICONV_H 79#undef HAVE_SIGNAL_H 80#undef HAVE_ALTIVEC_H 81#undef HAVE_PTHREAD_NP_H 82#undef HAVE_LIBUDEV_H 83#undef HAVE_DBUS_DBUS_H 84#undef HAVE_IBUS_IBUS_H 85#undef HAVE_FCITX_FRONTEND_H 86 87/* C library functions */ 88#undef HAVE_MALLOC 89#undef HAVE_CALLOC 90#undef HAVE_REALLOC 91#undef HAVE_FREE 92#undef HAVE_ALLOCA 93#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */ 94#undef HAVE_GETENV 95#undef HAVE_SETENV 96#undef HAVE_PUTENV 97#undef HAVE_UNSETENV 98#endif 99#undef HAVE_QSORT 100#undef HAVE_ABS 101#undef HAVE_BCOPY 102#undef HAVE_MEMSET 103#undef HAVE_MEMCPY 104#undef HAVE_MEMMOVE 105#undef HAVE_MEMCMP 106#undef HAVE_STRLEN 107#undef HAVE_STRLCPY 108#undef HAVE_STRLCAT 109#undef HAVE_STRDUP 110#undef HAVE__STRREV 111#undef HAVE__STRUPR 112#undef HAVE__STRLWR 113#undef HAVE_INDEX 114#undef HAVE_RINDEX 115#undef HAVE_STRCHR 116#undef HAVE_STRRCHR 117#undef HAVE_STRSTR 118#undef HAVE_ITOA 119#undef HAVE__LTOA 120#undef HAVE__UITOA 121#undef HAVE__ULTOA 122#undef HAVE_STRTOL 123#undef HAVE_STRTOUL 124#undef HAVE__I64TOA 125#undef HAVE__UI64TOA 126#undef HAVE_STRTOLL 127#undef HAVE_STRTOULL 128#undef HAVE_STRTOD 129#undef HAVE_ATOI 130#undef HAVE_ATOF 131#undef HAVE_STRCMP 132#undef HAVE_STRNCMP 133#undef HAVE__STRICMP 134#undef HAVE_STRCASECMP 135#undef HAVE__STRNICMP 136#undef HAVE_STRNCASECMP 137#undef HAVE_SSCANF 138#undef HAVE_VSSCANF 139#undef HAVE_SNPRINTF 140#undef HAVE_VSNPRINTF 141#undef HAVE_M_PI 142#undef HAVE_ATAN 143#undef HAVE_ATAN2 144#undef HAVE_ACOS 145#undef HAVE_ASIN 146#undef HAVE_CEIL 147#undef HAVE_COPYSIGN 148#undef HAVE_COS 149#undef HAVE_COSF 150#undef HAVE_FABS 151#undef HAVE_FLOOR 152#undef HAVE_LOG 153#undef HAVE_POW 154#undef HAVE_SCALBN 155#undef HAVE_SIN 156#undef HAVE_SINF 157#undef HAVE_SQRT 158#undef HAVE_SQRTF 159#undef HAVE_TAN 160#undef HAVE_TANF 161#undef HAVE_FSEEKO 162#undef HAVE_FSEEKO64 163#undef HAVE_SIGACTION 164#undef HAVE_SA_SIGACTION 165#undef HAVE_SETJMP 166#undef HAVE_NANOSLEEP 167#undef HAVE_SYSCONF 168#undef HAVE_SYSCTLBYNAME 169#undef HAVE_CLOCK_GETTIME 170#undef HAVE_GETPAGESIZE 171#undef HAVE_MPROTECT 172#undef HAVE_ICONV 173#undef HAVE_PTHREAD_SETNAME_NP 174#undef HAVE_PTHREAD_SET_NAME_NP 175#undef HAVE_SEM_TIMEDWAIT 176 177#else 178#define HAVE_STDARG_H 1 179#define HAVE_STDDEF_H 1 180#define HAVE_STDINT_H 1 181#endif /* HAVE_LIBC */ 182 183/* SDL internal assertion support */ 184#undef SDL_DEFAULT_ASSERT_LEVEL 185 186/* Allow disabling of core subsystems */ 187#undef SDL_ATOMIC_DISABLED 188#undef SDL_AUDIO_DISABLED 189#undef SDL_CPUINFO_DISABLED 190#undef SDL_EVENTS_DISABLED 191#undef SDL_FILE_DISABLED 192#undef SDL_JOYSTICK_DISABLED 193#undef SDL_HAPTIC_DISABLED 194#undef SDL_LOADSO_DISABLED 195#undef SDL_RENDER_DISABLED 196#undef SDL_THREADS_DISABLED 197#undef SDL_TIMERS_DISABLED 198#undef SDL_VIDEO_DISABLED 199#undef SDL_POWER_DISABLED 200#undef SDL_FILESYSTEM_DISABLED 201 202/* Enable various audio drivers */ 203#undef SDL_AUDIO_DRIVER_ALSA 204#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC 205#undef SDL_AUDIO_DRIVER_ARTS 206#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC 207#undef SDL_AUDIO_DRIVER_PULSEAUDIO 208#undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC 209#undef SDL_AUDIO_DRIVER_HAIKU 210#undef SDL_AUDIO_DRIVER_BSD 211#undef SDL_AUDIO_DRIVER_COREAUDIO 212#undef SDL_AUDIO_DRIVER_DISK 213#undef SDL_AUDIO_DRIVER_DUMMY 214#undef SDL_AUDIO_DRIVER_ANDROID 215#undef SDL_AUDIO_DRIVER_XAUDIO2 216#undef SDL_AUDIO_DRIVER_DSOUND 217#undef SDL_AUDIO_DRIVER_ESD 218#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC 219#undef SDL_AUDIO_DRIVER_NACL 220#undef SDL_AUDIO_DRIVER_NAS 221#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC 222#undef SDL_AUDIO_DRIVER_SNDIO 223#undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC 224#undef SDL_AUDIO_DRIVER_OSS 225#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H 226#undef SDL_AUDIO_DRIVER_PAUDIO 227#undef SDL_AUDIO_DRIVER_QSA 228#undef SDL_AUDIO_DRIVER_SUNAUDIO 229#undef SDL_AUDIO_DRIVER_WINMM 230#undef SDL_AUDIO_DRIVER_FUSIONSOUND 231#undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC 232#undef SDL_AUDIO_DRIVER_EMSCRIPTEN 233 234/* Enable various input drivers */ 235#undef SDL_INPUT_LINUXEV 236#undef SDL_INPUT_LINUXKD 237#undef SDL_INPUT_TSLIB 238#undef SDL_JOYSTICK_HAIKU 239#undef SDL_JOYSTICK_DINPUT 240#undef SDL_JOYSTICK_XINPUT 241#undef SDL_JOYSTICK_DUMMY 242#undef SDL_JOYSTICK_IOKIT 243#undef SDL_JOYSTICK_LINUX 244#undef SDL_JOYSTICK_ANDROID 245#undef SDL_JOYSTICK_WINMM 246#undef SDL_JOYSTICK_USBHID 247#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H 248#undef SDL_JOYSTICK_EMSCRIPTEN 249#undef SDL_HAPTIC_DUMMY 250#undef SDL_HAPTIC_LINUX 251#undef SDL_HAPTIC_IOKIT 252#undef SDL_HAPTIC_DINPUT 253#undef SDL_HAPTIC_XINPUT 254 255/* Enable various shared object loading systems */ 256#undef SDL_LOADSO_HAIKU 257#undef SDL_LOADSO_DLOPEN 258#undef SDL_LOADSO_DUMMY 259#undef SDL_LOADSO_LDG 260#undef SDL_LOADSO_WINDOWS 261 262/* Enable various threading systems */ 263#undef SDL_THREAD_PTHREAD 264#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 265#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 266#undef SDL_THREAD_WINDOWS 267 268/* Enable various timer systems */ 269#undef SDL_TIMER_HAIKU 270#undef SDL_TIMER_DUMMY 271#undef SDL_TIMER_UNIX 272#undef SDL_TIMER_WINDOWS 273 274/* Enable various video drivers */ 275#undef SDL_VIDEO_DRIVER_HAIKU 276#undef SDL_VIDEO_DRIVER_COCOA 277#undef SDL_VIDEO_DRIVER_DIRECTFB 278#undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC 279#undef SDL_VIDEO_DRIVER_DUMMY 280#undef SDL_VIDEO_DRIVER_WINDOWS 281#undef SDL_VIDEO_DRIVER_WAYLAND 282#undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 283#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC 284#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL 285#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR 286#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON 287#undef SDL_VIDEO_DRIVER_MIR 288#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC 289#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON 290#undef SDL_VIDEO_DRIVER_X11 291#undef SDL_VIDEO_DRIVER_RPI 292#undef SDL_VIDEO_DRIVER_ANDROID 293#undef SDL_VIDEO_DRIVER_EMSCRIPTEN 294#undef SDL_VIDEO_DRIVER_X11_DYNAMIC 295#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT 296#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR 297#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA 298#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 299#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR 300#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS 301#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE 302#undef SDL_VIDEO_DRIVER_X11_XCURSOR 303#undef SDL_VIDEO_DRIVER_X11_XDBE 304#undef SDL_VIDEO_DRIVER_X11_XINERAMA 305#undef SDL_VIDEO_DRIVER_X11_XINPUT2 306#undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 307#undef SDL_VIDEO_DRIVER_X11_XRANDR 308#undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER 309#undef SDL_VIDEO_DRIVER_X11_XSHAPE 310#undef SDL_VIDEO_DRIVER_X11_XVIDMODE 311#undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 312#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 313#undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 314#undef SDL_VIDEO_DRIVER_NACL 315#undef SDL_VIDEO_DRIVER_VIVANTE 316#undef SDL_VIDEO_DRIVER_VIVANTE_VDK 317 318#undef SDL_VIDEO_RENDER_D3D 319#undef SDL_VIDEO_RENDER_D3D11 320#undef SDL_VIDEO_RENDER_OGL 321#undef SDL_VIDEO_RENDER_OGL_ES 322#undef SDL_VIDEO_RENDER_OGL_ES2 323#undef SDL_VIDEO_RENDER_DIRECTFB 324 325/* Enable OpenGL support */ 326#undef SDL_VIDEO_OPENGL 327#undef SDL_VIDEO_OPENGL_ES 328#undef SDL_VIDEO_OPENGL_ES2 329#undef SDL_VIDEO_OPENGL_BGL 330#undef SDL_VIDEO_OPENGL_CGL 331#undef SDL_VIDEO_OPENGL_EGL 332#undef SDL_VIDEO_OPENGL_GLX 333#undef SDL_VIDEO_OPENGL_WGL 334#undef SDL_VIDEO_OPENGL_OSMESA 335#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC 336 337/* Enable system power support */ 338#undef SDL_POWER_LINUX 339#undef SDL_POWER_WINDOWS 340#undef SDL_POWER_MACOSX 341#undef SDL_POWER_HAIKU 342#undef SDL_POWER_ANDROID 343#undef SDL_POWER_EMSCRIPTEN 344#undef SDL_POWER_HARDWIRED 345 346/* Enable system filesystem support */ 347#undef SDL_FILESYSTEM_HAIKU 348#undef SDL_FILESYSTEM_COCOA 349#undef SDL_FILESYSTEM_DUMMY 350#undef SDL_FILESYSTEM_UNIX 351#undef SDL_FILESYSTEM_WINDOWS 352#undef SDL_FILESYSTEM_NACL 353#undef SDL_FILESYSTEM_ANDROID 354#undef SDL_FILESYSTEM_EMSCRIPTEN 355 356/* Enable assembly routines */ 357#undef SDL_ASSEMBLY_ROUTINES 358#undef SDL_ALTIVEC_BLITTERS 359 360/* Enable ime support */ 361#undef SDL_USE_IME 362 363#endif /* _SDL_config_h */ 364