1/* 2 Simple DirectMedia Layer 3 Copyright (C) 1997-2020 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/* Comment this if you want to build without any C library requirements */ 54#undef HAVE_LIBC 55#if HAVE_LIBC 56 57/* Useful headers */ 58#undef STDC_HEADERS 59#undef HAVE_ALLOCA_H 60#undef HAVE_CTYPE_H 61#undef HAVE_FLOAT_H 62#undef HAVE_ICONV_H 63#undef HAVE_INTTYPES_H 64#undef HAVE_LIMITS_H 65#undef HAVE_MALLOC_H 66#undef HAVE_MATH_H 67#undef HAVE_MEMORY_H 68#undef HAVE_SIGNAL_H 69#undef HAVE_STDARG_H 70#undef HAVE_STDINT_H 71#undef HAVE_STDIO_H 72#undef HAVE_STDLIB_H 73#undef HAVE_STRINGS_H 74#undef HAVE_STRING_H 75#undef HAVE_SYS_TYPES_H 76#undef HAVE_WCHAR_H 77#undef HAVE_PTHREAD_NP_H 78#undef HAVE_LIBUNWIND_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_SETENV 89#undef HAVE_PUTENV 90#undef HAVE_UNSETENV 91#endif 92#undef HAVE_QSORT 93#undef HAVE_ABS 94#undef HAVE_BCOPY 95#undef HAVE_MEMSET 96#undef HAVE_MEMCPY 97#undef HAVE_MEMMOVE 98#undef HAVE_MEMCMP 99#undef HAVE_WCSLEN 100#undef HAVE_WCSLCPY 101#undef HAVE_WCSLCAT 102#undef HAVE_WCSDUP 103#undef HAVE_WCSSTR 104#undef HAVE_WCSCMP 105#undef HAVE_WCSNCMP 106#undef HAVE_STRLEN 107#undef HAVE_STRLCPY 108#undef HAVE_STRLCAT 109#undef HAVE__STRREV 110#undef HAVE__STRUPR 111#undef HAVE__STRLWR 112#undef HAVE_INDEX 113#undef HAVE_RINDEX 114#undef HAVE_STRCHR 115#undef HAVE_STRRCHR 116#undef HAVE_STRSTR 117#undef HAVE_STRTOK_R 118#undef HAVE_STRTOK_S 119#undef HAVE_ITOA 120#undef HAVE__LTOA 121#undef HAVE__UITOA 122#undef HAVE__ULTOA 123#undef HAVE_STRTOL 124#undef HAVE_STRTOUL 125#undef HAVE__I64TOA 126#undef HAVE__UI64TOA 127#undef HAVE_STRTOLL 128#undef HAVE_STRTOULL 129#undef HAVE_STRTOD 130#undef HAVE_ATOI 131#undef HAVE_ATOF 132#undef HAVE_STRCMP 133#undef HAVE_STRNCMP 134#undef HAVE__STRICMP 135#undef HAVE_STRCASECMP 136#undef HAVE__STRNICMP 137#undef HAVE_STRNCASECMP 138#undef HAVE_SSCANF 139#undef HAVE_VSSCANF 140#undef HAVE_SNPRINTF 141#undef HAVE_VSNPRINTF 142#undef HAVE_M_PI 143#undef HAVE_ACOS 144#undef HAVE_ACOSF 145#undef HAVE_ASIN 146#undef HAVE_ASINF 147#undef HAVE_ATAN 148#undef HAVE_ATANF 149#undef HAVE_ATAN2 150#undef HAVE_ATAN2F 151#undef HAVE_CEIL 152#undef HAVE_CEILF 153#undef HAVE_COPYSIGN 154#undef HAVE_COPYSIGNF 155#undef HAVE_COS 156#undef HAVE_COSF 157#undef HAVE_EXP 158#undef HAVE_EXPF 159#undef HAVE_FABS 160#undef HAVE_FABSF 161#undef HAVE_FLOOR 162#undef HAVE_FLOORF 163#undef HAVE_FMOD 164#undef HAVE_FMODF 165#undef HAVE_LOG 166#undef HAVE_LOGF 167#undef HAVE_LOG10 168#undef HAVE_LOG10F 169#undef HAVE_POW 170#undef HAVE_POWF 171#undef HAVE_SCALBN 172#undef HAVE_SCALBNF 173#undef HAVE_SIN 174#undef HAVE_SINF 175#undef HAVE_SQRT 176#undef HAVE_SQRTF 177#undef HAVE_TAN 178#undef HAVE_TANF 179#undef HAVE_FOPEN64 180#undef HAVE_FSEEKO 181#undef HAVE_FSEEKO64 182#undef HAVE_SIGACTION 183#undef HAVE_SA_SIGACTION 184#undef HAVE_SETJMP 185#undef HAVE_NANOSLEEP 186#undef HAVE_SYSCONF 187#undef HAVE_SYSCTLBYNAME 188#undef HAVE_CLOCK_GETTIME 189#undef HAVE_GETPAGESIZE 190#undef HAVE_MPROTECT 191#undef HAVE_ICONV 192#undef HAVE_PTHREAD_SETNAME_NP 193#undef HAVE_PTHREAD_SET_NAME_NP 194#undef HAVE_SEM_TIMEDWAIT 195#undef HAVE_GETAUXVAL 196#undef HAVE_POLL 197#undef HAVE__EXIT 198 199#else 200#define HAVE_STDARG_H 1 201#define HAVE_STDDEF_H 1 202#define HAVE_STDINT_H 1 203#endif /* HAVE_LIBC */ 204 205#undef HAVE_ALTIVEC_H 206#undef HAVE_DBUS_DBUS_H 207#undef HAVE_FCITX 208#undef HAVE_IBUS_IBUS_H 209#undef HAVE_IMMINTRIN_H 210#undef HAVE_LIBSAMPLERATE_H 211#undef HAVE_LIBUDEV_H 212 213#undef HAVE_DDRAW_H 214#undef HAVE_DINPUT_H 215#undef HAVE_DSOUND_H 216#undef HAVE_DXGI_H 217#undef HAVE_XINPUT_H 218#undef HAVE_MMDEVICEAPI_H 219#undef HAVE_AUDIOCLIENT_H 220#undef HAVE_XINPUT_GAMEPAD_EX 221#undef HAVE_XINPUT_STATE_EX 222 223/* SDL internal assertion support */ 224#undef SDL_DEFAULT_ASSERT_LEVEL 225 226/* Allow disabling of core subsystems */ 227#undef SDL_ATOMIC_DISABLED 228#undef SDL_AUDIO_DISABLED 229#undef SDL_CPUINFO_DISABLED 230#undef SDL_EVENTS_DISABLED 231#undef SDL_FILE_DISABLED 232#undef SDL_JOYSTICK_DISABLED 233#undef SDL_HAPTIC_DISABLED 234#undef SDL_SENSOR_DISABLED 235#undef SDL_LOADSO_DISABLED 236#undef SDL_RENDER_DISABLED 237#undef SDL_THREADS_DISABLED 238#undef SDL_TIMERS_DISABLED 239#undef SDL_VIDEO_DISABLED 240#undef SDL_POWER_DISABLED 241#undef SDL_FILESYSTEM_DISABLED 242 243/* Enable various audio drivers */ 244#undef SDL_AUDIO_DRIVER_ALSA 245#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC 246#undef SDL_AUDIO_DRIVER_ANDROID 247#undef SDL_AUDIO_DRIVER_ARTS 248#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC 249#undef SDL_AUDIO_DRIVER_COREAUDIO 250#undef SDL_AUDIO_DRIVER_DISK 251#undef SDL_AUDIO_DRIVER_DSOUND 252#undef SDL_AUDIO_DRIVER_DUMMY 253#undef SDL_AUDIO_DRIVER_EMSCRIPTEN 254#undef SDL_AUDIO_DRIVER_ESD 255#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC 256#undef SDL_AUDIO_DRIVER_FUSIONSOUND 257#undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC 258#undef SDL_AUDIO_DRIVER_HAIKU 259#undef SDL_AUDIO_DRIVER_JACK 260#undef SDL_AUDIO_DRIVER_JACK_DYNAMIC 261#undef SDL_AUDIO_DRIVER_NACL 262#undef SDL_AUDIO_DRIVER_NAS 263#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC 264#undef SDL_AUDIO_DRIVER_NETBSD 265#undef SDL_AUDIO_DRIVER_OSS 266#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H 267#undef SDL_AUDIO_DRIVER_PAUDIO 268#undef SDL_AUDIO_DRIVER_PULSEAUDIO 269#undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC 270#undef SDL_AUDIO_DRIVER_QSA 271#undef SDL_AUDIO_DRIVER_SNDIO 272#undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC 273#undef SDL_AUDIO_DRIVER_SUNAUDIO 274#undef SDL_AUDIO_DRIVER_WASAPI 275#undef SDL_AUDIO_DRIVER_WINMM 276 277/* Enable various input drivers */ 278#undef SDL_INPUT_LINUXEV 279#undef SDL_INPUT_LINUXKD 280#undef SDL_INPUT_TSLIB 281#undef SDL_JOYSTICK_HAIKU 282#undef SDL_JOYSTICK_DINPUT 283#undef SDL_JOYSTICK_XINPUT 284#undef SDL_JOYSTICK_DUMMY 285#undef SDL_JOYSTICK_IOKIT 286#undef SDL_JOYSTICK_LINUX 287#undef SDL_JOYSTICK_ANDROID 288#undef SDL_JOYSTICK_WINMM 289#undef SDL_JOYSTICK_USBHID 290#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H 291#undef SDL_JOYSTICK_HIDAPI 292#undef SDL_JOYSTICK_RAWINPUT 293#undef SDL_JOYSTICK_EMSCRIPTEN 294#undef SDL_JOYSTICK_VIRTUAL 295#undef SDL_HAPTIC_DUMMY 296#undef SDL_HAPTIC_ANDROID 297#undef SDL_HAPTIC_LINUX 298#undef SDL_HAPTIC_IOKIT 299#undef SDL_HAPTIC_DINPUT 300#undef SDL_HAPTIC_XINPUT 301 302/* Enable various sensor drivers */ 303#undef SDL_SENSOR_ANDROID 304#undef SDL_SENSOR_DUMMY 305 306/* Enable various shared object loading systems */ 307#undef SDL_LOADSO_DLOPEN 308#undef SDL_LOADSO_DUMMY 309#undef SDL_LOADSO_LDG 310#undef SDL_LOADSO_WINDOWS 311 312/* Enable various threading systems */ 313#undef SDL_THREAD_PTHREAD 314#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 315#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 316#undef SDL_THREAD_WINDOWS 317 318/* Enable various timer systems */ 319#undef SDL_TIMER_HAIKU 320#undef SDL_TIMER_DUMMY 321#undef SDL_TIMER_UNIX 322#undef SDL_TIMER_WINDOWS 323 324/* Enable various video drivers */ 325#undef SDL_VIDEO_DRIVER_HAIKU 326#undef SDL_VIDEO_DRIVER_COCOA 327#undef SDL_VIDEO_DRIVER_DIRECTFB 328#undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC 329#undef SDL_VIDEO_DRIVER_DUMMY 330#undef SDL_VIDEO_DRIVER_WINDOWS 331#undef SDL_VIDEO_DRIVER_WAYLAND 332#undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 333#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC 334#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL 335#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR 336#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON 337#undef SDL_VIDEO_DRIVER_X11 338#undef SDL_VIDEO_DRIVER_RPI 339#undef SDL_VIDEO_DRIVER_KMSDRM 340#undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC 341#undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM 342#undef SDL_VIDEO_DRIVER_ANDROID 343#undef SDL_VIDEO_DRIVER_EMSCRIPTEN 344#undef SDL_VIDEO_DRIVER_X11_DYNAMIC 345#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT 346#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR 347#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA 348#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 349#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR 350#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS 351#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE 352#undef SDL_VIDEO_DRIVER_X11_XCURSOR 353#undef SDL_VIDEO_DRIVER_X11_XDBE 354#undef SDL_VIDEO_DRIVER_X11_XINERAMA 355#undef SDL_VIDEO_DRIVER_X11_XINPUT2 356#undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 357#undef SDL_VIDEO_DRIVER_X11_XRANDR 358#undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER 359#undef SDL_VIDEO_DRIVER_X11_XSHAPE 360#undef SDL_VIDEO_DRIVER_X11_XVIDMODE 361#undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 362#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 363#undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 364#undef SDL_VIDEO_DRIVER_NACL 365#undef SDL_VIDEO_DRIVER_VIVANTE 366#undef SDL_VIDEO_DRIVER_VIVANTE_VDK 367#undef SDL_VIDEO_DRIVER_QNX 368 369#undef SDL_VIDEO_RENDER_D3D 370#undef SDL_VIDEO_RENDER_D3D11 371#undef SDL_VIDEO_RENDER_OGL 372#undef SDL_VIDEO_RENDER_OGL_ES 373#undef SDL_VIDEO_RENDER_OGL_ES2 374#undef SDL_VIDEO_RENDER_DIRECTFB 375#undef SDL_VIDEO_RENDER_METAL 376 377/* Enable OpenGL support */ 378#undef SDL_VIDEO_OPENGL 379#undef SDL_VIDEO_OPENGL_ES 380#undef SDL_VIDEO_OPENGL_ES2 381#undef SDL_VIDEO_OPENGL_BGL 382#undef SDL_VIDEO_OPENGL_CGL 383#undef SDL_VIDEO_OPENGL_EGL 384#undef SDL_VIDEO_OPENGL_GLX 385#undef SDL_VIDEO_OPENGL_WGL 386#undef SDL_VIDEO_OPENGL_OSMESA 387#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC 388 389/* Enable Vulkan support */ 390#undef SDL_VIDEO_VULKAN 391 392/* Enable Metal support */ 393#undef SDL_VIDEO_METAL 394 395/* Enable system power support */ 396#undef SDL_POWER_LINUX 397#undef SDL_POWER_WINDOWS 398#undef SDL_POWER_MACOSX 399#undef SDL_POWER_HAIKU 400#undef SDL_POWER_ANDROID 401#undef SDL_POWER_EMSCRIPTEN 402#undef SDL_POWER_HARDWIRED 403 404/* Enable system filesystem support */ 405#undef SDL_FILESYSTEM_HAIKU 406#undef SDL_FILESYSTEM_COCOA 407#undef SDL_FILESYSTEM_DUMMY 408#undef SDL_FILESYSTEM_UNIX 409#undef SDL_FILESYSTEM_WINDOWS 410#undef SDL_FILESYSTEM_NACL 411#undef SDL_FILESYSTEM_ANDROID 412#undef SDL_FILESYSTEM_EMSCRIPTEN 413 414/* Enable assembly routines */ 415#undef SDL_ASSEMBLY_ROUTINES 416#undef SDL_ALTIVEC_BLITTERS 417#undef SDL_ARM_SIMD_BLITTERS 418#undef SDL_ARM_NEON_BLITTERS 419 420/* Enable ime support */ 421#undef SDL_USE_IME 422 423/* Enable dynamic udev support */ 424#undef SDL_UDEV_DYNAMIC 425 426/* Enable dynamic libusb support */ 427#undef SDL_LIBUSB_DYNAMIC 428 429/* Enable dynamic libsamplerate support */ 430#undef SDL_LIBSAMPLERATE_DYNAMIC 431 432#endif /* SDL_config_h_ */ 433