|
|
- /*
- Simple DirectMedia Layer
- Copyright (C) 1997-2023 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_LINUX_INPUT_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_STRCASESTR
- #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_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
-
- /* Libdecor get min/max content size functions */
- #undef SDL_HAVE_LIBDECOR_GET_MIN_MAX
-
- #endif /* SDL_config_h_ */
|