2015-06-21 15:33:46 +00:00
|
|
|
/*
|
|
|
|
Simple DirectMedia Layer
|
2020-01-17 04:49:25 +00:00
|
|
|
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
*/
|
|
|
|
|
2016-11-21 05:34:54 +00:00
|
|
|
#ifndef SDL_config_h_
|
|
|
|
#define SDL_config_h_
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* \file SDL_config.h.in
|
|
|
|
*
|
|
|
|
* This is a set of defines to configure the SDL features
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* General platform specific identifiers */
|
|
|
|
#include "SDL_platform.h"
|
|
|
|
|
|
|
|
/* C language features */
|
|
|
|
#cmakedefine const @HAVE_CONST@
|
|
|
|
#cmakedefine inline @HAVE_INLINE@
|
|
|
|
#cmakedefine volatile @HAVE_VOLATILE@
|
|
|
|
|
|
|
|
/* C datatypes */
|
|
|
|
/* Define SIZEOF_VOIDP for 64/32 architectures */
|
|
|
|
#ifdef __LP64__
|
|
|
|
#define SIZEOF_VOIDP 8
|
|
|
|
#else
|
|
|
|
#define SIZEOF_VOIDP 4
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#cmakedefine HAVE_GCC_ATOMICS @HAVE_GCC_ATOMICS@
|
|
|
|
#cmakedefine HAVE_GCC_SYNC_LOCK_TEST_AND_SET @HAVE_GCC_SYNC_LOCK_TEST_AND_SET@
|
|
|
|
|
|
|
|
/* Comment this if you want to build without any C library requirements */
|
|
|
|
#cmakedefine HAVE_LIBC 1
|
|
|
|
#if HAVE_LIBC
|
|
|
|
|
|
|
|
/* Useful headers */
|
|
|
|
#cmakedefine STDC_HEADERS 1
|
2017-09-09 15:36:37 +00:00
|
|
|
#cmakedefine HAVE_ALLOCA_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_CTYPE_H 1
|
2017-09-06 08:14:23 +00:00
|
|
|
#cmakedefine HAVE_FLOAT_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_ICONV_H 1
|
2017-09-09 15:36:37 +00:00
|
|
|
#cmakedefine HAVE_INTTYPES_H 1
|
|
|
|
#cmakedefine HAVE_LIMITS_H 1
|
|
|
|
#cmakedefine HAVE_MALLOC_H 1
|
|
|
|
#cmakedefine HAVE_MATH_H 1
|
|
|
|
#cmakedefine HAVE_MEMORY_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_SIGNAL_H 1
|
2017-09-09 15:36:37 +00:00
|
|
|
#cmakedefine HAVE_STDARG_H 1
|
|
|
|
#cmakedefine HAVE_STDINT_H 1
|
|
|
|
#cmakedefine HAVE_STDIO_H 1
|
|
|
|
#cmakedefine HAVE_STDLIB_H 1
|
|
|
|
#cmakedefine HAVE_STRINGS_H 1
|
|
|
|
#cmakedefine HAVE_STRING_H 1
|
|
|
|
#cmakedefine HAVE_SYS_TYPES_H 1
|
|
|
|
#cmakedefine HAVE_WCHAR_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_PTHREAD_NP_H 1
|
2017-10-12 20:44:28 +00:00
|
|
|
#cmakedefine HAVE_LIBUNWIND_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* C library functions */
|
|
|
|
#cmakedefine HAVE_MALLOC 1
|
|
|
|
#cmakedefine HAVE_CALLOC 1
|
|
|
|
#cmakedefine HAVE_REALLOC 1
|
|
|
|
#cmakedefine HAVE_FREE 1
|
|
|
|
#cmakedefine HAVE_ALLOCA 1
|
|
|
|
#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
|
|
|
|
#cmakedefine HAVE_GETENV 1
|
|
|
|
#cmakedefine HAVE_SETENV 1
|
|
|
|
#cmakedefine HAVE_PUTENV 1
|
|
|
|
#cmakedefine HAVE_UNSETENV 1
|
|
|
|
#endif
|
|
|
|
#cmakedefine HAVE_QSORT 1
|
|
|
|
#cmakedefine HAVE_ABS 1
|
|
|
|
#cmakedefine HAVE_BCOPY 1
|
|
|
|
#cmakedefine HAVE_MEMSET 1
|
|
|
|
#cmakedefine HAVE_MEMCPY 1
|
|
|
|
#cmakedefine HAVE_MEMMOVE 1
|
|
|
|
#cmakedefine HAVE_MEMCMP 1
|
2017-08-14 03:37:49 +00:00
|
|
|
#cmakedefine HAVE_WCSLEN 1
|
|
|
|
#cmakedefine HAVE_WCSLCPY 1
|
|
|
|
#cmakedefine HAVE_WCSLCAT 1
|
2019-11-21 00:42:50 +00:00
|
|
|
#cmakedefine HAVE_WCSDUP 1
|
|
|
|
#cmakedefine HAVE_WCSSTR 1
|
2017-08-14 03:37:49 +00:00
|
|
|
#cmakedefine HAVE_WCSCMP 1
|
2019-11-21 00:42:50 +00:00
|
|
|
#cmakedefine HAVE_WCSNCMP 1
|
2020-11-25 11:51:56 +00:00
|
|
|
#cmakedefine HAVE_WCSCASECMP 1
|
|
|
|
#cmakedefine HAVE__WCSICMP 1
|
|
|
|
#cmakedefine HAVE_WCSNCASECMP 1
|
|
|
|
#cmakedefine HAVE__WCSNICMP 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_STRLEN 1
|
|
|
|
#cmakedefine HAVE_STRLCPY 1
|
|
|
|
#cmakedefine HAVE_STRLCAT 1
|
|
|
|
#cmakedefine HAVE__STRREV 1
|
|
|
|
#cmakedefine HAVE__STRUPR 1
|
|
|
|
#cmakedefine HAVE__STRLWR 1
|
|
|
|
#cmakedefine HAVE_INDEX 1
|
|
|
|
#cmakedefine HAVE_RINDEX 1
|
|
|
|
#cmakedefine HAVE_STRCHR 1
|
|
|
|
#cmakedefine HAVE_STRRCHR 1
|
|
|
|
#cmakedefine HAVE_STRSTR 1
|
2019-11-20 17:40:50 +00:00
|
|
|
#cmakedefine HAVE_STRTOK_R 1
|
|
|
|
#cmakedefine HAVE_STRTOK_S 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_ITOA 1
|
|
|
|
#cmakedefine HAVE__LTOA 1
|
|
|
|
#cmakedefine HAVE__UITOA 1
|
|
|
|
#cmakedefine HAVE__ULTOA 1
|
|
|
|
#cmakedefine HAVE_STRTOL 1
|
|
|
|
#cmakedefine HAVE_STRTOUL 1
|
|
|
|
#cmakedefine HAVE__I64TOA 1
|
|
|
|
#cmakedefine HAVE__UI64TOA 1
|
|
|
|
#cmakedefine HAVE_STRTOLL 1
|
|
|
|
#cmakedefine HAVE_STRTOULL 1
|
|
|
|
#cmakedefine HAVE_STRTOD 1
|
|
|
|
#cmakedefine HAVE_ATOI 1
|
|
|
|
#cmakedefine HAVE_ATOF 1
|
|
|
|
#cmakedefine HAVE_STRCMP 1
|
|
|
|
#cmakedefine HAVE_STRNCMP 1
|
|
|
|
#cmakedefine HAVE__STRICMP 1
|
|
|
|
#cmakedefine HAVE_STRCASECMP 1
|
|
|
|
#cmakedefine HAVE__STRNICMP 1
|
|
|
|
#cmakedefine HAVE_STRNCASECMP 1
|
2019-11-21 07:33:56 +00:00
|
|
|
#cmakedefine HAVE_SSCANF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_VSSCANF 1
|
|
|
|
#cmakedefine HAVE_VSNPRINTF 1
|
|
|
|
#cmakedefine HAVE_M_PI 1
|
|
|
|
#cmakedefine HAVE_ACOS 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_ACOSF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_ASIN 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_ASINF 1
|
|
|
|
#cmakedefine HAVE_ATAN 1
|
|
|
|
#cmakedefine HAVE_ATANF 1
|
|
|
|
#cmakedefine HAVE_ATAN2 1
|
|
|
|
#cmakedefine HAVE_ATAN2F 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_CEIL 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_CEILF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_COPYSIGN 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_COPYSIGNF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_COS 1
|
|
|
|
#cmakedefine HAVE_COSF 1
|
2018-08-04 15:52:46 +00:00
|
|
|
#cmakedefine HAVE_EXP 1
|
|
|
|
#cmakedefine HAVE_EXPF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_FABS 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_FABSF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_FLOOR 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_FLOORF 1
|
2017-11-05 00:35:03 +00:00
|
|
|
#cmakedefine HAVE_FMOD 1
|
|
|
|
#cmakedefine HAVE_FMODF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_LOG 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_LOGF 1
|
2018-01-17 16:53:09 +00:00
|
|
|
#cmakedefine HAVE_LOG10 1
|
|
|
|
#cmakedefine HAVE_LOG10F 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_POW 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_POWF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_SCALBN 1
|
2017-11-04 22:34:14 +00:00
|
|
|
#cmakedefine HAVE_SCALBNF 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_SIN 1
|
|
|
|
#cmakedefine HAVE_SINF 1
|
|
|
|
#cmakedefine HAVE_SQRT 1
|
|
|
|
#cmakedefine HAVE_SQRTF 1
|
|
|
|
#cmakedefine HAVE_TAN 1
|
|
|
|
#cmakedefine HAVE_TANF 1
|
2020-11-14 07:16:41 +00:00
|
|
|
#cmakedefine HAVE_TRUNC 1
|
|
|
|
#cmakedefine HAVE_TRUNCF 1
|
2017-08-12 04:16:33 +00:00
|
|
|
#cmakedefine HAVE_FOPEN64 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine HAVE_FSEEKO 1
|
|
|
|
#cmakedefine HAVE_FSEEKO64 1
|
|
|
|
#cmakedefine HAVE_SIGACTION 1
|
|
|
|
#cmakedefine HAVE_SA_SIGACTION 1
|
|
|
|
#cmakedefine HAVE_SETJMP 1
|
|
|
|
#cmakedefine HAVE_NANOSLEEP 1
|
|
|
|
#cmakedefine HAVE_SYSCONF 1
|
|
|
|
#cmakedefine HAVE_SYSCTLBYNAME 1
|
|
|
|
#cmakedefine HAVE_CLOCK_GETTIME 1
|
|
|
|
#cmakedefine HAVE_GETPAGESIZE 1
|
|
|
|
#cmakedefine HAVE_MPROTECT 1
|
|
|
|
#cmakedefine HAVE_ICONV 1
|
|
|
|
#cmakedefine HAVE_PTHREAD_SETNAME_NP 1
|
|
|
|
#cmakedefine HAVE_PTHREAD_SET_NAME_NP 1
|
|
|
|
#cmakedefine HAVE_SEM_TIMEDWAIT 1
|
2016-11-17 06:15:16 +00:00
|
|
|
#cmakedefine HAVE_GETAUXVAL 1
|
2020-12-18 05:41:23 +00:00
|
|
|
#cmakedefine HAVE_ELF_AUX_INFO 1
|
2017-08-15 03:22:19 +00:00
|
|
|
#cmakedefine HAVE_POLL 1
|
2019-04-23 14:59:31 +00:00
|
|
|
#cmakedefine HAVE__EXIT 1
|
2016-11-17 06:15:16 +00:00
|
|
|
|
2015-06-21 15:33:46 +00:00
|
|
|
#elif __WIN32__
|
|
|
|
#cmakedefine HAVE_STDARG_H 1
|
|
|
|
#cmakedefine HAVE_STDDEF_H 1
|
2017-09-06 17:31:05 +00:00
|
|
|
#cmakedefine HAVE_FLOAT_H 1
|
2015-06-21 15:33:46 +00:00
|
|
|
#else
|
|
|
|
/* We may need some replacement for stdarg.h here */
|
|
|
|
#include <stdarg.h>
|
|
|
|
#endif /* HAVE_LIBC */
|
|
|
|
|
2017-09-06 17:31:05 +00:00
|
|
|
#cmakedefine HAVE_ALTIVEC_H 1
|
|
|
|
#cmakedefine HAVE_DBUS_DBUS_H 1
|
2020-05-11 21:31:04 +00:00
|
|
|
#cmakedefine HAVE_FCITX 1
|
2017-12-11 20:00:12 +00:00
|
|
|
#cmakedefine HAVE_IBUS_IBUS_H 1
|
2020-12-13 12:32:24 +00:00
|
|
|
#cmakedefine HAVE_SYS_INOTIFY_H 1
|
|
|
|
#cmakedefine HAVE_INOTIFY_INIT 1
|
|
|
|
#cmakedefine HAVE_INOTIFY_INIT1 1
|
|
|
|
#cmakedefine HAVE_INOTIFY 1
|
2017-12-11 20:00:12 +00:00
|
|
|
#cmakedefine HAVE_IMMINTRIN_H 1
|
|
|
|
#cmakedefine HAVE_LIBUDEV_H 1
|
2020-12-13 12:32:24 +00:00
|
|
|
#cmakedefine HAVE_LIBSAMPLERATE_H 1
|
2017-09-06 17:31:05 +00:00
|
|
|
|
|
|
|
#cmakedefine HAVE_D3D_H @HAVE_D3D_H@
|
|
|
|
#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@
|
|
|
|
#cmakedefine HAVE_DDRAW_H @HAVE_DDRAW_H@
|
|
|
|
#cmakedefine HAVE_DSOUND_H @HAVE_DSOUND_H@
|
|
|
|
#cmakedefine HAVE_DINPUT_H @HAVE_DINPUT_H@
|
|
|
|
#cmakedefine HAVE_XINPUT_H @HAVE_XINPUT_H@
|
|
|
|
#cmakedefine HAVE_DXGI_H @HAVE_DXGI_H@
|
2018-09-28 10:41:04 +00:00
|
|
|
|
|
|
|
#cmakedefine HAVE_MMDEVICEAPI_H @HAVE_MMDEVICEAPI_H@
|
|
|
|
#cmakedefine HAVE_AUDIOCLIENT_H @HAVE_AUDIOCLIENT_H@
|
2020-10-11 22:02:28 +00:00
|
|
|
#cmakedefine HAVE_SENSORSAPI_H @HAVE_SENSORSAPI_H@
|
2018-09-28 10:41:04 +00:00
|
|
|
|
2017-09-06 17:31:05 +00:00
|
|
|
#cmakedefine HAVE_XINPUT_GAMEPAD_EX @HAVE_XINPUT_GAMEPAD_EX@
|
|
|
|
#cmakedefine HAVE_XINPUT_STATE_EX @HAVE_XINPUT_STATE_EX@
|
|
|
|
|
2015-06-21 15:33:46 +00:00
|
|
|
/* SDL internal assertion support */
|
|
|
|
#cmakedefine SDL_DEFAULT_ASSERT_LEVEL @SDL_DEFAULT_ASSERT_LEVEL@
|
|
|
|
|
|
|
|
/* Allow disabling of core subsystems */
|
|
|
|
#cmakedefine SDL_ATOMIC_DISABLED @SDL_ATOMIC_DISABLED@
|
|
|
|
#cmakedefine SDL_AUDIO_DISABLED @SDL_AUDIO_DISABLED@
|
|
|
|
#cmakedefine SDL_CPUINFO_DISABLED @SDL_CPUINFO_DISABLED@
|
|
|
|
#cmakedefine SDL_EVENTS_DISABLED @SDL_EVENTS_DISABLED@
|
|
|
|
#cmakedefine SDL_FILE_DISABLED @SDL_FILE_DISABLED@
|
|
|
|
#cmakedefine SDL_JOYSTICK_DISABLED @SDL_JOYSTICK_DISABLED@
|
|
|
|
#cmakedefine SDL_HAPTIC_DISABLED @SDL_HAPTIC_DISABLED@
|
2018-08-21 20:29:21 +00:00
|
|
|
#cmakedefine SDL_SENSOR_DISABLED @SDL_SENSOR_DISABLED@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@
|
|
|
|
#cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@
|
|
|
|
#cmakedefine SDL_THREADS_DISABLED @SDL_THREADS_DISABLED@
|
|
|
|
#cmakedefine SDL_TIMERS_DISABLED @SDL_TIMERS_DISABLED@
|
|
|
|
#cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@
|
|
|
|
#cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@
|
|
|
|
|
|
|
|
/* Enable various audio drivers */
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ALSA @SDL_AUDIO_DRIVER_ALSA@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ALSA_DYNAMIC @SDL_AUDIO_DRIVER_ALSA_DYNAMIC@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ANDROID @SDL_AUDIO_DRIVER_ANDROID@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ARTS @SDL_AUDIO_DRIVER_ARTS@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ARTS_DYNAMIC @SDL_AUDIO_DRIVER_ARTS_DYNAMIC@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_COREAUDIO @SDL_AUDIO_DRIVER_COREAUDIO@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_DISK @SDL_AUDIO_DRIVER_DISK@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_DSOUND @SDL_AUDIO_DRIVER_DSOUND@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_DUMMY @SDL_AUDIO_DRIVER_DUMMY@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_EMSCRIPTEN @SDL_AUDIO_DRIVER_EMSCRIPTEN@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ESD @SDL_AUDIO_DRIVER_ESD@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_ESD_DYNAMIC @SDL_AUDIO_DRIVER_ESD_DYNAMIC@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND @SDL_AUDIO_DRIVER_FUSIONSOUND@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC @SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_HAIKU @SDL_AUDIO_DRIVER_HAIKU@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_JACK @SDL_AUDIO_DRIVER_JACK@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_JACK_DYNAMIC @SDL_AUDIO_DRIVER_JACK_DYNAMIC@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_NAS @SDL_AUDIO_DRIVER_NAS@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_NAS_DYNAMIC @SDL_AUDIO_DRIVER_NAS_DYNAMIC@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_NETBSD @SDL_AUDIO_DRIVER_NETBSD@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_OSS @SDL_AUDIO_DRIVER_OSS@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H @SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_PAUDIO @SDL_AUDIO_DRIVER_PAUDIO@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO @SDL_AUDIO_DRIVER_PULSEAUDIO@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC @SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_QSA @SDL_AUDIO_DRIVER_QSA@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_SNDIO @SDL_AUDIO_DRIVER_SNDIO@
|
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_SNDIO_DYNAMIC @SDL_AUDIO_DRIVER_SNDIO_DYNAMIC@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_SUNAUDIO @SDL_AUDIO_DRIVER_SUNAUDIO@
|
2017-08-19 00:29:44 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_WASAPI @SDL_AUDIO_DRIVER_WASAPI@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_WINMM @SDL_AUDIO_DRIVER_WINMM@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_AUDIO_DRIVER_SWITCH @SDL_AUDIO_DRIVER_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable various input drivers */
|
|
|
|
#cmakedefine SDL_INPUT_LINUXEV @SDL_INPUT_LINUXEV@
|
|
|
|
#cmakedefine SDL_INPUT_LINUXKD @SDL_INPUT_LINUXKD@
|
2015-12-29 05:57:24 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_ANDROID @SDL_JOYSTICK_ANDROID@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_HAIKU @SDL_JOYSTICK_HAIKU@
|
|
|
|
#cmakedefine SDL_JOYSTICK_DINPUT @SDL_JOYSTICK_DINPUT@
|
|
|
|
#cmakedefine SDL_JOYSTICK_XINPUT @SDL_JOYSTICK_XINPUT@
|
|
|
|
#cmakedefine SDL_JOYSTICK_DUMMY @SDL_JOYSTICK_DUMMY@
|
|
|
|
#cmakedefine SDL_JOYSTICK_IOKIT @SDL_JOYSTICK_IOKIT@
|
2015-09-21 02:08:36 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_MFI @SDL_JOYSTICK_MFI@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_LINUX @SDL_JOYSTICK_LINUX@
|
|
|
|
#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
|
|
|
|
#cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
|
|
|
|
#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
|
2019-07-08 20:46:52 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_HIDAPI @SDL_JOYSTICK_HIDAPI@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@
|
Fixed bug 5028 - Virtual Joysticks (new joystick backend)
David Ludwig
I have created a new driver for SDL's Joystick and Game-Controller subsystem: a Virtual driver. This driver allows one to create a software-based joystick, which to SDL applications will look and react like a real joystick, but whose state can be set programmatically. A primary use case for this is to help enable developers to add touch-screen joysticks to their apps.
The driver comes with a set of new, public APIs, with functions to attach and detach joysticks, set virtual-joystick state, and to determine if a joystick is a virtual-one.
Use of virtual joysticks goes as such:
1. Attach one or more virtual joysticks by calling SDL_JoystickAttachVirtual. If successful, this returns the virtual-device's joystick-index.
2. Open the virtual joysticks (using indicies returned by SDL_JoystickAttachVirtual).
3. Call any of the SDL_JoystickSetVirtual* functions when joystick-state changes. Please note that virtual-joystick state will only get applied on the next call to SDL_JoystickUpdate, or when pumping or polling for SDL events (via SDL_PumpEvents or SDL_PollEvent).
Here is a listing of the new, public APIs, at present and subject to change:
------------------------------------------------------------
/**
* Attaches a new virtual joystick.
* Returns the joystick's device index, or -1 if an error occurred.
*/
extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type, int naxes, int nballs, int nbuttons, int nhats);
/**
* Detaches a virtual joystick
* Returns 0 on success, or -1 if an error occurred.
*/
extern DECLSPEC int SDLCALL SDL_JoystickDetachVirtual(int device_index);
/**
* Indicates whether or not a virtual-joystick is at a given device index.
*/
extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index);
/**
* Set values on an opened, virtual-joystick's controls.
* Returns 0 on success, -1 on error.
*/
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick * joystick, int axis, Sint16 value);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualBall(SDL_Joystick * joystick, int ball, Sint16 xrel, Sint16 yrel);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value);
------------------------------------------------------------
Miscellaneous notes on the initial patch, which are also subject to change:
1. no test code is present in SDL, yet. This should, perhaps, change. Initial development was done with an ImGui-based app, which potentially is too thick for use in SDL-official. If tests are to be added, what kind of tests? Automated? Graphical?
2. virtual game controllers can be created by calling SDL_JoystickAttachVirtual with a joystick-type of SDL_JOYSTICK_TYPE_GAME_CONTROLLER, with naxes (num axes) set to SDL_CONTROLLER_AXIS_MAX, and with nbuttons (num buttons) set to SDL_CONTROLLER_BUTTON_MAX. When updating their state, values of type SDL_GameControllerAxis or SDL_GameControllerButton can be casted to an int and used for the control-index (in calls to SDL_JoystickSetVirtual* functions).
3. virtual joysticks' guids are mostly all-zeros with the exception of the last two bytes, the first of which is a 'v', to indicate that the guid is a virtual one, and the second of which is a SDL_JoystickType that has been converted into a Uint8.
4. virtual joysticks are ONLY turned into virtual game-controllers if and when their joystick-type is set to SDL_JOYSTICK_TYPE_GAMECONTROLLER. This is controlled by having SDL's default list of game-controllers have a single entry for a virtual game controller (of guid, "00000000000000000000000000007601", which is subject to the guid-encoding described above).
5. regarding having to call SDL_JoystickUpdate, either directly or indirectly via SDL_PumpEvents or SDL_PollEvents, before new virtual-joystick state becomes active (as specified via SDL_JoystickSetVirtual* function-calls), this was done to match behavior found in SDL's other joystick drivers, almost all of which will only update SDL-state during SDL_JoystickUpdate.
6. the initial patch is based off of SDL 2.0.12
7. the virtual joystick subsystem is disabled by default. It should be possible to enable it by building with SDL_JOYSTICK_VIRTUAL=1
Questions, comments, suggestions, or bug reports very welcome!
2020-03-14 02:08:45 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_VIRTUAL @SDL_JOYSTICK_VIRTUAL@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_JOYSTICK_SWITCH @SDL_JOYSTICK_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
|
|
|
|
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
|
|
|
|
#cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@
|
|
|
|
#cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@
|
|
|
|
#cmakedefine SDL_HAPTIC_XINPUT @SDL_HAPTIC_XINPUT@
|
2017-08-27 04:17:12 +00:00
|
|
|
#cmakedefine SDL_HAPTIC_ANDROID @SDL_HAPTIC_ANDROID@
|
2019-07-31 16:20:55 +00:00
|
|
|
#cmakedefine SDL_LIBUSB_DYNAMIC @SDL_LIBUSB_DYNAMIC@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
2018-08-21 20:29:21 +00:00
|
|
|
/* Enable various sensor drivers */
|
|
|
|
#cmakedefine SDL_SENSOR_ANDROID @SDL_SENSOR_ANDROID@
|
CMake: iOS support added
When using a recent version of CMake (3.14+), this should make it possible to:
- build SDL for iOS, both static and dynamic
- build SDL test apps (as iOS .app bundles)
- generate a working SDL_config.h for iOS (using SDL_config.h.cmake as a basis)
To use, set the following CMake variables when running CMake's configuration stage:
- CMAKE_SYSTEM_NAME=iOS
- CMAKE_OSX_SYSROOT=<SDK> (examples: iphoneos, iphonesimulator, iphoneos12.4, /full/path/to/iPhoneOS.sdk, etc.)
- CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;armv7s")
Examples:
- for Simulator, using the latest, installed SDK:
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
- for Device, using the latest, installed SDK, 64-bit only
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES=arm64
- for Device, using the latest, installed SDK, mixed 32/64 bit
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="arm64;armv7s"
- for Device, using a specific SDK revision (iOS 12.4, in this example):
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos12.4 -DCMAKE_OSX_ARCHITECTURES=arm64
- for Simulator, using the latest, installed SDK, and building SDL test apps (as .app bundles):
cmake path/to/SDL -DSDL_TEST=1 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
2019-08-27 15:07:43 +00:00
|
|
|
#cmakedefine SDL_SENSOR_COREMOTION @SDL_SENSOR_COREMOTION@
|
2020-10-11 22:02:28 +00:00
|
|
|
#cmakedefine SDL_SENSOR_WINDOWS @SDL_SENSOR_WINDOWS@
|
2018-08-21 20:29:21 +00:00
|
|
|
#cmakedefine SDL_SENSOR_DUMMY @SDL_SENSOR_DUMMY@
|
|
|
|
|
2015-06-21 15:33:46 +00:00
|
|
|
/* Enable various shared object loading systems */
|
|
|
|
#cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@
|
|
|
|
#cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@
|
|
|
|
#cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@
|
|
|
|
#cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@
|
|
|
|
|
|
|
|
/* Enable various threading systems */
|
|
|
|
#cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@
|
|
|
|
#cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX@
|
|
|
|
#cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP@
|
|
|
|
#cmakedefine SDL_THREAD_WINDOWS @SDL_THREAD_WINDOWS@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_THREAD_SWITCH @SDL_THREAD_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable various timer systems */
|
|
|
|
#cmakedefine SDL_TIMER_HAIKU @SDL_TIMER_HAIKU@
|
|
|
|
#cmakedefine SDL_TIMER_DUMMY @SDL_TIMER_DUMMY@
|
|
|
|
#cmakedefine SDL_TIMER_UNIX @SDL_TIMER_UNIX@
|
|
|
|
#cmakedefine SDL_TIMER_WINDOWS @SDL_TIMER_WINDOWS@
|
|
|
|
#cmakedefine SDL_TIMER_WINCE @SDL_TIMER_WINCE@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_TIMER_SWITCH @SDL_TIMER_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable various video drivers */
|
2015-12-29 05:57:24 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_ANDROID @SDL_VIDEO_DRIVER_ANDROID@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_HAIKU @SDL_VIDEO_DRIVER_HAIKU@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_COCOA @SDL_VIDEO_DRIVER_COCOA@
|
CMake: iOS support added
When using a recent version of CMake (3.14+), this should make it possible to:
- build SDL for iOS, both static and dynamic
- build SDL test apps (as iOS .app bundles)
- generate a working SDL_config.h for iOS (using SDL_config.h.cmake as a basis)
To use, set the following CMake variables when running CMake's configuration stage:
- CMAKE_SYSTEM_NAME=iOS
- CMAKE_OSX_SYSROOT=<SDK> (examples: iphoneos, iphonesimulator, iphoneos12.4, /full/path/to/iPhoneOS.sdk, etc.)
- CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;armv7s")
Examples:
- for Simulator, using the latest, installed SDK:
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
- for Device, using the latest, installed SDK, 64-bit only
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES=arm64
- for Device, using the latest, installed SDK, mixed 32/64 bit
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="arm64;armv7s"
- for Device, using a specific SDK revision (iOS 12.4, in this example):
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos12.4 -DCMAKE_OSX_ARCHITECTURES=arm64
- for Simulator, using the latest, installed SDK, and building SDL test apps (as .app bundles):
cmake path/to/SDL -DSDL_TEST=1 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
2019-08-27 15:07:43 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_UIKIT @SDL_VIDEO_DRIVER_UIKIT@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_DIRECTFB @SDL_VIDEO_DRIVER_DIRECTFB@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@
|
2019-09-24 20:36:48 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@
|
2020-12-08 17:13:08 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
|
|
|
|
|
2017-08-02 17:22:48 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM @SDL_VIDEO_DRIVER_KMSDRM@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM@
|
|
|
|
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH @SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
|
|
|
|
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT @SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS @SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE @SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XCURSOR @SDL_VIDEO_DRIVER_X11_XCURSOR@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XDBE @SDL_VIDEO_DRIVER_X11_XDBE@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XINERAMA @SDL_VIDEO_DRIVER_X11_XINERAMA@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2 @SDL_VIDEO_DRIVER_X11_XINPUT2@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH @SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XRANDR @SDL_VIDEO_DRIVER_X11_XRANDR@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XSCRNSAVER @SDL_VIDEO_DRIVER_X11_XSCRNSAVER@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XSHAPE @SDL_VIDEO_DRIVER_X11_XSHAPE@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_XVIDMODE @SDL_VIDEO_DRIVER_X11_XVIDMODE@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS @SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY @SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY@
|
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM @SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_VIDEO_DRIVER_SWITCH @SDL_VIDEO_DRIVER_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_D3D @SDL_VIDEO_RENDER_D3D@
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_D3D11 @SDL_VIDEO_RENDER_D3D11@
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_OGL @SDL_VIDEO_RENDER_OGL@
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_OGL_ES @SDL_VIDEO_RENDER_OGL_ES@
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_OGL_ES2 @SDL_VIDEO_RENDER_OGL_ES2@
|
|
|
|
#cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
|
2016-04-21 07:16:44 +00:00
|
|
|
#cmakedefine SDL_VIDEO_RENDER_METAL @SDL_VIDEO_RENDER_METAL@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable OpenGL support */
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL @SDL_VIDEO_OPENGL@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_ES @SDL_VIDEO_OPENGL_ES@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_ES2 @SDL_VIDEO_OPENGL_ES2@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_BGL @SDL_VIDEO_OPENGL_BGL@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_CGL @SDL_VIDEO_OPENGL_CGL@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_GLX @SDL_VIDEO_OPENGL_GLX@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_WGL @SDL_VIDEO_OPENGL_WGL@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_EGL @SDL_VIDEO_OPENGL_EGL@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_OSMESA @SDL_VIDEO_OPENGL_OSMESA@
|
|
|
|
#cmakedefine SDL_VIDEO_OPENGL_OSMESA_DYNAMIC @SDL_VIDEO_OPENGL_OSMESA_DYNAMIC@
|
|
|
|
|
2017-08-28 07:11:38 +00:00
|
|
|
/* Enable Vulkan support */
|
|
|
|
#cmakedefine SDL_VIDEO_VULKAN @SDL_VIDEO_VULKAN@
|
2017-08-28 02:15:57 +00:00
|
|
|
|
2019-08-05 15:35:32 +00:00
|
|
|
/* Enable Metal support */
|
|
|
|
#cmakedefine SDL_VIDEO_METAL @SDL_VIDEO_METAL@
|
|
|
|
|
2015-06-21 15:33:46 +00:00
|
|
|
/* Enable system power support */
|
2015-12-29 05:57:24 +00:00
|
|
|
#cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@
|
|
|
|
#cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@
|
2020-12-08 17:13:08 +00:00
|
|
|
#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@
|
CMake: iOS support added
When using a recent version of CMake (3.14+), this should make it possible to:
- build SDL for iOS, both static and dynamic
- build SDL test apps (as iOS .app bundles)
- generate a working SDL_config.h for iOS (using SDL_config.h.cmake as a basis)
To use, set the following CMake variables when running CMake's configuration stage:
- CMAKE_SYSTEM_NAME=iOS
- CMAKE_OSX_SYSROOT=<SDK> (examples: iphoneos, iphonesimulator, iphoneos12.4, /full/path/to/iPhoneOS.sdk, etc.)
- CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;armv7s")
Examples:
- for Simulator, using the latest, installed SDK:
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
- for Device, using the latest, installed SDK, 64-bit only
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES=arm64
- for Device, using the latest, installed SDK, mixed 32/64 bit
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="arm64;armv7s"
- for Device, using a specific SDK revision (iOS 12.4, in this example):
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos12.4 -DCMAKE_OSX_ARCHITECTURES=arm64
- for Simulator, using the latest, installed SDK, and building SDL test apps (as .app bundles):
cmake path/to/SDL -DSDL_TEST=1 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
2019-08-27 15:07:43 +00:00
|
|
|
#cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@
|
|
|
|
#cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@
|
|
|
|
#cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_POWER_SWITCH @SDL_POWER_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable system filesystem support */
|
2015-12-29 05:57:24 +00:00
|
|
|
#cmakedefine SDL_FILESYSTEM_ANDROID @SDL_FILESYSTEM_ANDROID@
|
2015-06-21 15:33:46 +00:00
|
|
|
#cmakedefine SDL_FILESYSTEM_HAIKU @SDL_FILESYSTEM_HAIKU@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_COCOA @SDL_FILESYSTEM_COCOA@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_DUMMY @SDL_FILESYSTEM_DUMMY@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_UNIX @SDL_FILESYSTEM_UNIX@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_WINDOWS @SDL_FILESYSTEM_WINDOWS@
|
|
|
|
#cmakedefine SDL_FILESYSTEM_EMSCRIPTEN @SDL_FILESYSTEM_EMSCRIPTEN@
|
2021-06-22 12:21:29 +00:00
|
|
|
#cmakedefine SDL_FILESYSTEM_SWITCH @SDL_FILESYSTEM_SWITCH@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Enable assembly routines */
|
|
|
|
#cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
|
|
|
|
#cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
|
2019-10-25 03:17:19 +00:00
|
|
|
#cmakedefine SDL_ARM_SIMD_BLITTERS @SDL_ARM_SIMD_BLITTERS@
|
|
|
|
#cmakedefine SDL_ARM_NEON_BLITTERS @SDL_ARM_NEON_BLITTERS@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
2017-01-07 04:43:53 +00:00
|
|
|
/* Enable dynamic libsamplerate support */
|
|
|
|
#cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@
|
2015-06-21 15:33:46 +00:00
|
|
|
|
|
|
|
/* Platform specific definitions */
|
CMake: iOS support added
When using a recent version of CMake (3.14+), this should make it possible to:
- build SDL for iOS, both static and dynamic
- build SDL test apps (as iOS .app bundles)
- generate a working SDL_config.h for iOS (using SDL_config.h.cmake as a basis)
To use, set the following CMake variables when running CMake's configuration stage:
- CMAKE_SYSTEM_NAME=iOS
- CMAKE_OSX_SYSROOT=<SDK> (examples: iphoneos, iphonesimulator, iphoneos12.4, /full/path/to/iPhoneOS.sdk, etc.)
- CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;armv7s")
Examples:
- for Simulator, using the latest, installed SDK:
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
- for Device, using the latest, installed SDK, 64-bit only
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES=arm64
- for Device, using the latest, installed SDK, mixed 32/64 bit
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="arm64;armv7s"
- for Device, using a specific SDK revision (iOS 12.4, in this example):
cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos12.4 -DCMAKE_OSX_ARCHITECTURES=arm64
- for Simulator, using the latest, installed SDK, and building SDL test apps (as .app bundles):
cmake path/to/SDL -DSDL_TEST=1 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
2019-08-27 15:07:43 +00:00
|
|
|
#cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@
|
|
|
|
#cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@
|
|
|
|
|
2020-12-08 17:13:08 +00:00
|
|
|
#if !defined(__WIN32__) && !defined(__WINRT__)
|
2015-06-21 15:33:46 +00:00
|
|
|
# if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
|
|
|
|
typedef unsigned int size_t;
|
|
|
|
typedef signed char int8_t;
|
|
|
|
typedef unsigned char uint8_t;
|
|
|
|
typedef signed short int16_t;
|
|
|
|
typedef unsigned short uint16_t;
|
|
|
|
typedef signed int int32_t;
|
|
|
|
typedef unsigned int uint32_t;
|
|
|
|
typedef signed long long int64_t;
|
|
|
|
typedef unsigned long long uint64_t;
|
|
|
|
typedef unsigned long uintptr_t;
|
|
|
|
# endif /* if (stdint.h isn't available) */
|
|
|
|
#else /* __WIN32__ */
|
|
|
|
# if !defined(_STDINT_H_) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
|
|
|
|
# if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
|
|
|
|
#define HAVE_STDINT_H 1
|
|
|
|
# elif defined(_MSC_VER)
|
|
|
|
typedef signed __int8 int8_t;
|
|
|
|
typedef unsigned __int8 uint8_t;
|
|
|
|
typedef signed __int16 int16_t;
|
|
|
|
typedef unsigned __int16 uint16_t;
|
|
|
|
typedef signed __int32 int32_t;
|
|
|
|
typedef unsigned __int32 uint32_t;
|
|
|
|
typedef signed __int64 int64_t;
|
|
|
|
typedef unsigned __int64 uint64_t;
|
|
|
|
# ifndef _UINTPTR_T_DEFINED
|
|
|
|
# ifdef _WIN64
|
|
|
|
typedef unsigned __int64 uintptr_t;
|
|
|
|
# else
|
|
|
|
typedef unsigned int uintptr_t;
|
|
|
|
# endif
|
|
|
|
#define _UINTPTR_T_DEFINED
|
|
|
|
# endif
|
|
|
|
/* Older Visual C++ headers don't have the Win64-compatible typedefs... */
|
|
|
|
# if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
|
|
|
|
#define DWORD_PTR DWORD
|
|
|
|
# endif
|
|
|
|
# if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
|
|
|
|
#define LONG_PTR LONG
|
|
|
|
# endif
|
|
|
|
# else /* !__GNUC__ && !_MSC_VER */
|
|
|
|
typedef signed char int8_t;
|
|
|
|
typedef unsigned char uint8_t;
|
|
|
|
typedef signed short int16_t;
|
|
|
|
typedef unsigned short uint16_t;
|
|
|
|
typedef signed int int32_t;
|
|
|
|
typedef unsigned int uint32_t;
|
|
|
|
typedef signed long long int64_t;
|
|
|
|
typedef unsigned long long uint64_t;
|
|
|
|
# ifndef _SIZE_T_DEFINED_
|
|
|
|
#define _SIZE_T_DEFINED_
|
|
|
|
typedef unsigned int size_t;
|
|
|
|
# endif
|
|
|
|
typedef unsigned int uintptr_t;
|
|
|
|
# endif /* __GNUC__ || _MSC_VER */
|
|
|
|
# endif /* !_STDINT_H_ && !HAVE_STDINT_H */
|
|
|
|
#endif /* __WIN32__ */
|
|
|
|
|
2016-11-21 05:34:54 +00:00
|
|
|
#endif /* SDL_config_h_ */
|