| /* |
| Simple DirectMedia Layer |
| Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org> |
| |
| This software is provided 'as-is', without any express or implied |
| warranty. In no event will the authors be held liable for any damages |
| arising from the use of this software. |
| |
| Permission is granted to anyone to use this software for any purpose, |
| including commercial applications, and to alter it and redistribute it |
| freely, subject to the following restrictions: |
| |
| 1. The origin of this software must not be misrepresented; you must not |
| claim that you wrote the original software. If you use this software |
| in a product, an acknowledgment in the product documentation would be |
| appreciated but is not required. |
| 2. Altered source versions must be plainly marked as such, and must not be |
| misrepresented as being the original software. |
| 3. This notice may not be removed or altered from any source distribution. |
| */ |
| |
| #ifndef SDL_config_h_ |
| #define SDL_config_h_ |
| |
| /** |
| * \file SDL_config.h.in |
| * |
| * This is a set of defines to configure the SDL features |
| */ |
| |
| /* General platform specific identifiers */ |
| #include "SDL_platform.h" |
| |
| /* Make sure that this isn't included by Visual C++ */ |
| #ifdef _MSC_VER |
| #error You should run git checkout -f include/SDL_config.h |
| #endif |
| |
| /* C language features */ |
| #undef const |
| #undef inline |
| #undef volatile |
| |
| /* C datatypes */ |
| #if defined(__LP64__) || defined(_LP64) || defined(_WIN64) |
| #define SIZEOF_VOIDP 8 |
| #else |
| #define SIZEOF_VOIDP 4 |
| #endif |
| |
| #undef HAVE_GCC_ATOMICS |
| #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET |
| |
| /* Comment this if you want to build without any C library requirements */ |
| #undef HAVE_LIBC |
| #if HAVE_LIBC |
| |
| /* Useful headers */ |
| #undef STDC_HEADERS |
| #undef HAVE_ALLOCA_H |
| #undef HAVE_CTYPE_H |
| #undef HAVE_FLOAT_H |
| #undef HAVE_ICONV_H |
| #undef HAVE_INTTYPES_H |
| #undef HAVE_LIMITS_H |
| #undef HAVE_MALLOC_H |
| #undef HAVE_MATH_H |
| #undef HAVE_MEMORY_H |
| #undef HAVE_SIGNAL_H |
| #undef HAVE_STDARG_H |
| #undef HAVE_STDINT_H |
| #undef HAVE_STDIO_H |
| #undef HAVE_STDLIB_H |
| #undef HAVE_STRINGS_H |
| #undef HAVE_STRING_H |
| #undef HAVE_SYS_TYPES_H |
| #undef HAVE_WCHAR_H |
| #undef HAVE_PTHREAD_NP_H |
| #undef HAVE_LIBUNWIND_H |
| |
| /* C library functions */ |
| #undef HAVE_DLOPEN |
| #undef HAVE_MALLOC |
| #undef HAVE_CALLOC |
| #undef HAVE_REALLOC |
| #undef HAVE_FREE |
| #undef HAVE_ALLOCA |
| #ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */ |
| #undef HAVE_GETENV |
| #undef HAVE_SETENV |
| #undef HAVE_PUTENV |
| #undef HAVE_UNSETENV |
| #endif |
| #undef HAVE_QSORT |
| #undef HAVE_BSEARCH |
| #undef HAVE_ABS |
| #undef HAVE_BCOPY |
| #undef HAVE_MEMSET |
| #undef HAVE_MEMCPY |
| #undef HAVE_MEMMOVE |
| #undef HAVE_MEMCMP |
| #undef HAVE_WCSLEN |
| #undef HAVE_WCSLCPY |
| #undef HAVE_WCSLCAT |
| #undef HAVE__WCSDUP |
| #undef HAVE_WCSDUP |
| #undef HAVE_WCSSTR |
| #undef HAVE_WCSCMP |
| #undef HAVE_WCSNCMP |
| #undef HAVE_WCSCASECMP |
| #undef HAVE__WCSICMP |
| #undef HAVE_WCSNCASECMP |
| #undef HAVE__WCSNICMP |
| #undef HAVE_STRLEN |
| #undef HAVE_STRLCPY |
| #undef HAVE_STRLCAT |
| #undef HAVE__STRREV |
| #undef HAVE__STRUPR |
| #undef HAVE__STRLWR |
| #undef HAVE_INDEX |
| #undef HAVE_RINDEX |
| #undef HAVE_STRCHR |
| #undef HAVE_STRRCHR |
| #undef HAVE_STRSTR |
| #undef HAVE_STRTOK_R |
| #undef HAVE_ITOA |
| #undef HAVE__LTOA |
| #undef HAVE__UITOA |
| #undef HAVE__ULTOA |
| #undef HAVE_STRTOL |
| #undef HAVE_STRTOUL |
| #undef HAVE__I64TOA |
| #undef HAVE__UI64TOA |
| #undef HAVE_STRTOLL |
| #undef HAVE_STRTOULL |
| #undef HAVE_STRTOD |
| #undef HAVE_ATOI |
| #undef HAVE_ATOF |
| #undef HAVE_STRCMP |
| #undef HAVE_STRNCMP |
| #undef HAVE__STRICMP |
| #undef HAVE_STRCASECMP |
| #undef HAVE__STRNICMP |
| #undef HAVE_STRNCASECMP |
| #undef HAVE_SSCANF |
| #undef HAVE_VSSCANF |
| #undef HAVE_SNPRINTF |
| #undef HAVE_VSNPRINTF |
| #undef HAVE_M_PI |
| #undef HAVE_ACOS |
| #undef HAVE_ACOSF |
| #undef HAVE_ASIN |
| #undef HAVE_ASINF |
| #undef HAVE_ATAN |
| #undef HAVE_ATANF |
| #undef HAVE_ATAN2 |
| #undef HAVE_ATAN2F |
| #undef HAVE_CEIL |
| #undef HAVE_CEILF |
| #undef HAVE_COPYSIGN |
| #undef HAVE_COPYSIGNF |
| #undef HAVE_COS |
| #undef HAVE_COSF |
| #undef HAVE_EXP |
| #undef HAVE_EXPF |
| #undef HAVE_FABS |
| #undef HAVE_FABSF |
| #undef HAVE_FLOOR |
| #undef HAVE_FLOORF |
| #undef HAVE_FMOD |
| #undef HAVE_FMODF |
| #undef HAVE_LOG |
| #undef HAVE_LOGF |
| #undef HAVE_LOG10 |
| #undef HAVE_LOG10F |
| #undef HAVE_LROUND |
| #undef HAVE_LROUNDF |
| #undef HAVE_POW |
| #undef HAVE_POWF |
| #undef HAVE_ROUND |
| #undef HAVE_ROUNDF |
| #undef HAVE_SCALBN |
| #undef HAVE_SCALBNF |
| #undef HAVE_SIN |
| #undef HAVE_SINF |
| #undef HAVE_SQRT |
| #undef HAVE_SQRTF |
| #undef HAVE_TAN |
| #undef HAVE_TANF |
| #undef HAVE_TRUNC |
| #undef HAVE_TRUNCF |
| #undef HAVE_FOPEN64 |
| #undef HAVE_FSEEKO |
| #undef HAVE_FSEEKO64 |
| #undef HAVE_SIGACTION |
| #undef HAVE_SA_SIGACTION |
| #undef HAVE_SETJMP |
| #undef HAVE_NANOSLEEP |
| #undef HAVE_SYSCONF |
| #undef HAVE_SYSCTLBYNAME |
| #undef HAVE_CLOCK_GETTIME |
| #undef HAVE_GETPAGESIZE |
| #undef HAVE_MPROTECT |
| #undef HAVE_ICONV |
| #undef HAVE_PTHREAD_SETNAME_NP |
| #undef HAVE_PTHREAD_SET_NAME_NP |
| #undef HAVE_SEM_TIMEDWAIT |
| #undef HAVE_GETAUXVAL |
| #undef HAVE_ELF_AUX_INFO |
| #undef HAVE_POLL |
| #undef HAVE__EXIT |
| |
| #else |
| #define HAVE_STDARG_H 1 |
| #define HAVE_STDDEF_H 1 |
| #define HAVE_STDINT_H 1 |
| #endif /* HAVE_LIBC */ |
| |
| #undef HAVE_O_CLOEXEC |
| #undef HAVE_ALTIVEC_H |
| #undef HAVE_DBUS_DBUS_H |
| #undef HAVE_FCITX |
| #undef HAVE_SYS_INOTIFY_H |
| #undef HAVE_INOTIFY_INIT |
| #undef HAVE_INOTIFY_INIT1 |
| #undef HAVE_INOTIFY |
| #undef HAVE_IBUS_IBUS_H |
| #undef HAVE_IMMINTRIN_H |
| #undef HAVE_LIBUDEV_H |
| #undef HAVE_LIBUSB |
| #undef HAVE_LIBSAMPLERATE_H |
| #undef HAVE_LIBDECOR_H |
| #undef HAVE_LSXINTRIN_H |
| #undef HAVE_LASXINTRIN_H |
| |
| #undef HAVE_DDRAW_H |
| #undef HAVE_DINPUT_H |
| #undef HAVE_DSOUND_H |
| #undef HAVE_DXGI_H |
| #undef HAVE_WINDOWS_GAMING_INPUT_H |
| #undef HAVE_XINPUT_H |
| #undef HAVE_XINPUT_GAMEPAD_EX |
| #undef HAVE_XINPUT_STATE_EX |
| |
| #undef HAVE_MMDEVICEAPI_H |
| #undef HAVE_AUDIOCLIENT_H |
| #undef HAVE_TPCSHRD_H |
| #undef HAVE_SENSORSAPI_H |
| #undef HAVE_ROAPI_H |
| #undef HAVE_SHELLSCALINGAPI_H |
| |
| /* SDL internal assertion support */ |
| #undef SDL_DEFAULT_ASSERT_LEVEL |
| |
| /* Allow disabling of core subsystems */ |
| #undef SDL_ATOMIC_DISABLED |
| #undef SDL_AUDIO_DISABLED |
| #undef SDL_CPUINFO_DISABLED |
| #undef SDL_EVENTS_DISABLED |
| #undef SDL_FILE_DISABLED |
| #undef SDL_JOYSTICK_DISABLED |
| #undef SDL_HAPTIC_DISABLED |
| #undef SDL_HIDAPI_DISABLED |
| #undef SDL_SENSOR_DISABLED |
| #undef SDL_LOADSO_DISABLED |
| #undef SDL_RENDER_DISABLED |
| #undef SDL_THREADS_DISABLED |
| #undef SDL_TIMERS_DISABLED |
| #undef SDL_VIDEO_DISABLED |
| #undef SDL_POWER_DISABLED |
| #undef SDL_FILESYSTEM_DISABLED |
| #undef SDL_LOCALE_DISABLED |
| #undef SDL_MISC_DISABLED |
| |
| /* Enable various audio drivers */ |
| #undef SDL_AUDIO_DRIVER_AAUDIO |
| #undef SDL_AUDIO_DRIVER_ALSA |
| #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_ANDROID |
| #undef SDL_AUDIO_DRIVER_ARTS |
| #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_COREAUDIO |
| #undef SDL_AUDIO_DRIVER_DISK |
| #undef SDL_AUDIO_DRIVER_DSOUND |
| #undef SDL_AUDIO_DRIVER_DUMMY |
| #undef SDL_AUDIO_DRIVER_EMSCRIPTEN |
| #undef SDL_AUDIO_DRIVER_ESD |
| #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_FUSIONSOUND |
| #undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_HAIKU |
| #undef SDL_AUDIO_DRIVER_JACK |
| #undef SDL_AUDIO_DRIVER_JACK_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_NACL |
| #undef SDL_AUDIO_DRIVER_NAS |
| #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_NETBSD |
| #undef SDL_AUDIO_DRIVER_OPENSLES |
| #undef SDL_AUDIO_DRIVER_OSS |
| #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H |
| #undef SDL_AUDIO_DRIVER_PAUDIO |
| #undef SDL_AUDIO_DRIVER_PIPEWIRE |
| #undef SDL_AUDIO_DRIVER_PIPEWIRE_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_PULSEAUDIO |
| #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_QSA |
| #undef SDL_AUDIO_DRIVER_SNDIO |
| #undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC |
| #undef SDL_AUDIO_DRIVER_SUNAUDIO |
| #undef SDL_AUDIO_DRIVER_WASAPI |
| #undef SDL_AUDIO_DRIVER_WINMM |
| #undef SDL_AUDIO_DRIVER_OS2 |
| |
| /* Enable various input drivers */ |
| #undef SDL_INPUT_LINUXEV |
| #undef SDL_INPUT_FBSDKBIO |
| #undef SDL_INPUT_LINUXKD |
| #undef SDL_INPUT_WSCONS |
| #undef SDL_JOYSTICK_HAIKU |
| #undef SDL_JOYSTICK_DINPUT |
| #undef SDL_JOYSTICK_WGI |
| #undef SDL_JOYSTICK_XINPUT |
| #undef SDL_JOYSTICK_DUMMY |
| #undef SDL_JOYSTICK_IOKIT |
| #undef SDL_JOYSTICK_MFI |
| #undef SDL_JOYSTICK_LINUX |
| #undef SDL_JOYSTICK_ANDROID |
| #undef SDL_JOYSTICK_OS2 |
| #undef SDL_JOYSTICK_USBHID |
| #undef SDL_HAVE_MACHINE_JOYSTICK_H |
| #undef SDL_JOYSTICK_HIDAPI |
| #undef SDL_JOYSTICK_RAWINPUT |
| #undef SDL_JOYSTICK_EMSCRIPTEN |
| #undef SDL_JOYSTICK_VIRTUAL |
| #undef SDL_HAPTIC_DUMMY |
| #undef SDL_HAPTIC_ANDROID |
| #undef SDL_HAPTIC_LINUX |
| #undef SDL_HAPTIC_IOKIT |
| #undef SDL_HAPTIC_DINPUT |
| #undef SDL_HAPTIC_XINPUT |
| |
| /* Enable various sensor drivers */ |
| #undef SDL_SENSOR_ANDROID |
| #undef SDL_SENSOR_COREMOTION |
| #undef SDL_SENSOR_WINDOWS |
| #undef SDL_SENSOR_DUMMY |
| |
| /* Enable various shared object loading systems */ |
| #undef SDL_LOADSO_DLOPEN |
| #undef SDL_LOADSO_DUMMY |
| #undef SDL_LOADSO_LDG |
| #undef SDL_LOADSO_WINDOWS |
| #undef SDL_LOADSO_OS2 |
| |
| /* Enable various threading systems */ |
| #undef SDL_THREAD_GENERIC_COND_SUFFIX |
| #undef SDL_THREAD_PTHREAD |
| #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX |
| #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP |
| #undef SDL_THREAD_WINDOWS |
| #undef SDL_THREAD_OS2 |
| |
| /* Enable various timer systems */ |
| #undef SDL_TIMER_HAIKU |
| #undef SDL_TIMER_DUMMY |
| #undef SDL_TIMER_UNIX |
| #undef SDL_TIMER_WINDOWS |
| #undef SDL_TIMER_OS2 |
| |
| /* Enable various video drivers */ |
| #undef SDL_VIDEO_DRIVER_HAIKU |
| #undef SDL_VIDEO_DRIVER_COCOA |
| #undef SDL_VIDEO_DRIVER_DIRECTFB |
| #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC |
| #undef SDL_VIDEO_DRIVER_DUMMY |
| #undef SDL_VIDEO_DRIVER_WINDOWS |
| #undef SDL_VIDEO_DRIVER_WAYLAND |
| #undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH |
| #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC |
| #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL |
| #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR |
| #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON |
| #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR |
| #undef SDL_VIDEO_DRIVER_X11 |
| #undef SDL_VIDEO_DRIVER_RPI |
| #undef SDL_VIDEO_DRIVER_KMSDRM |
| #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC |
| #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM |
| #undef SDL_VIDEO_DRIVER_ANDROID |
| #undef SDL_VIDEO_DRIVER_EMSCRIPTEN |
| #undef SDL_VIDEO_DRIVER_OFFSCREEN |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR |
| #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS |
| #undef SDL_VIDEO_DRIVER_X11_XCURSOR |
| #undef SDL_VIDEO_DRIVER_X11_XDBE |
| #undef SDL_VIDEO_DRIVER_X11_XINPUT2 |
| #undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH |
| #undef SDL_VIDEO_DRIVER_X11_XFIXES |
| #undef SDL_VIDEO_DRIVER_X11_XRANDR |
| #undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER |
| #undef SDL_VIDEO_DRIVER_X11_XSHAPE |
| #undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS |
| #undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM |
| #undef SDL_VIDEO_DRIVER_NACL |
| #undef SDL_VIDEO_DRIVER_VIVANTE |
| #undef SDL_VIDEO_DRIVER_VIVANTE_VDK |
| #undef SDL_VIDEO_DRIVER_OS2 |
| #undef SDL_VIDEO_DRIVER_QNX |
| #undef SDL_VIDEO_DRIVER_RISCOS |
| |
| #undef SDL_VIDEO_RENDER_D3D |
| #undef SDL_VIDEO_RENDER_D3D11 |
| #undef SDL_VIDEO_RENDER_D3D12 |
| #undef SDL_VIDEO_RENDER_OGL |
| #undef SDL_VIDEO_RENDER_OGL_ES |
| #undef SDL_VIDEO_RENDER_OGL_ES2 |
| #undef SDL_VIDEO_RENDER_DIRECTFB |
| #undef SDL_VIDEO_RENDER_METAL |
| |
| /* Enable OpenGL support */ |
| #undef SDL_VIDEO_OPENGL |
| #undef SDL_VIDEO_OPENGL_ES |
| #undef SDL_VIDEO_OPENGL_ES2 |
| #undef SDL_VIDEO_OPENGL_BGL |
| #undef SDL_VIDEO_OPENGL_CGL |
| #undef SDL_VIDEO_OPENGL_EGL |
| #undef SDL_VIDEO_OPENGL_GLX |
| #undef SDL_VIDEO_OPENGL_WGL |
| #undef SDL_VIDEO_OPENGL_OSMESA |
| #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC |
| |
| /* Enable Vulkan support */ |
| #undef SDL_VIDEO_VULKAN |
| |
| /* Enable Metal support */ |
| #undef SDL_VIDEO_METAL |
| |
| /* Enable system power support */ |
| #undef SDL_POWER_LINUX |
| #undef SDL_POWER_WINDOWS |
| #undef SDL_POWER_MACOSX |
| #undef SDL_POWER_HAIKU |
| #undef SDL_POWER_ANDROID |
| #undef SDL_POWER_EMSCRIPTEN |
| #undef SDL_POWER_HARDWIRED |
| |
| /* Enable system filesystem support */ |
| #undef SDL_FILESYSTEM_ANDROID |
| #undef SDL_FILESYSTEM_HAIKU |
| #undef SDL_FILESYSTEM_COCOA |
| #undef SDL_FILESYSTEM_DUMMY |
| #undef SDL_FILESYSTEM_RISCOS |
| #undef SDL_FILESYSTEM_UNIX |
| #undef SDL_FILESYSTEM_WINDOWS |
| #undef SDL_FILESYSTEM_NACL |
| #undef SDL_FILESYSTEM_EMSCRIPTEN |
| #undef SDL_FILESYSTEM_OS2 |
| #undef SDL_FILESYSTEM_VITA |
| #undef SDL_FILESYSTEM_PSP |
| #undef SDL_FILESYSTEM_PS2 |
| |
| /* Enable misc subsystem */ |
| #undef SDL_MISC_DUMMY |
| |
| /* Enable locale subsystem */ |
| #undef SDL_LOCALE_DUMMY |
| |
| /* Enable assembly routines */ |
| #undef SDL_ALTIVEC_BLITTERS |
| #undef SDL_ARM_SIMD_BLITTERS |
| #undef SDL_ARM_NEON_BLITTERS |
| |
| /* Whether SDL_DYNAMIC_API needs dlopen() */ |
| #undef DYNAPI_NEEDS_DLOPEN |
| |
| /* Enable ime support */ |
| #undef SDL_USE_IME |
| |
| /* Enable dynamic udev support */ |
| #undef SDL_UDEV_DYNAMIC |
| |
| /* Enable dynamic libusb support */ |
| #undef SDL_LIBUSB_DYNAMIC |
| |
| /* Enable dynamic libsamplerate support */ |
| #undef SDL_LIBSAMPLERATE_DYNAMIC |
| |
| #endif /* SDL_config_h_ */ |