include/SDL_config.h.cmake
author David Ludwig <dludwig@pobox.com>
Sat, 29 Nov 2014 10:09:30 -0500
changeset 9247 eddb899239fe
parent 9164 494876610c49
child 9278 8900afb78a19
permissions -rw-r--r--
WinRT: bug and data-integrity fixes for SDL_GetPrefPath()

This change does a few things, all with regards to the WinRT implementation of
SDL_GetPrefPath():

1. it fixes a bug whereby SDL_GetPrefPath() did not create the directory it
returned. On other SDL platforms, SDL_GetPrefPath() will create separate
directories for its 'org' and 'app' folders. Without this, attempts to create
files in the pref-path would fail, unless those directories were first created
by the app, or by some other library the app used. This change makes sure
that these directories get created, before SDL_GetPrefPath() returns to its
caller(s).


2. it defaults to having SDL_GetPrefPath() return a WinRT 'Local' folder
on all platforms. Previously, for Windows Store apps, it would have used a
different, 'Roaming' folder. Files in Roaming folders can be automatically,
and synchronized across multiple devices by Windows. This synchronization can
happen while the app runs, with new files being copied into a running app's
pref-path. Unless an app is specifically designed to handle this scenario,
there is a chance that save-data could be overwritten in unwanted or
unexpected ways.

The default is now to use a Local folder, which does not get synchronized, and
which is arguably a bit safer to use. Apps that wish to use Roaming folders
can do so by setting SDL_HINT_WINRT_PREF_PATH_ROOT to "roaming", however it
is recommended that one first read Microsoft's documentation for Roaming
files, a link to which is provided in README-winrt.md.

To preserve older pref-path selection behavior (found in SDL 2.0.3, as well as
many pre-2.0.4 versions of SDL from hg.libsdl.org), which uses a Roaming path
in Windows Store apps, and a Local path in Windows Phone, set
SDL_HINT_WINRT_PREF_PATH_ROOT to "old".

Please note that Roaming paths are not supported on Windows Phone 8.0, due to
limitations in the OS itself. Attempts to use this will fail.
(Windows Phone 8.1 does not have this limitation, however.)


3. It makes SDL_GetPrefPath(), when on Windows Phone 8.0, and when
SDL_HINT_WINRT_PREF_PATH_ROOT is set to "roaming", return NULL, rather than
silently defaulting to a Local path (then switching to a Roaming path if and
when the user upgraded to Windows Phone 8.1).
     1 /*
     2   Simple DirectMedia Layer
     3   Copyright (C) 1997-2014 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 /* C language features */
    35 #cmakedefine const @HAVE_CONST@
    36 #cmakedefine inline @HAVE_INLINE@
    37 #cmakedefine volatile @HAVE_VOLATILE@
    38 
    39 /* C datatypes */
    40 /* Define SIZEOF_VOIDP for 64/32 architectures */
    41 #ifdef __LP64__
    42 #define SIZEOF_VOIDP 8
    43 #else
    44 #define SIZEOF_VOIDP 4
    45 #endif
    46 
    47 #cmakedefine HAVE_GCC_ATOMICS @HAVE_GCC_ATOMICS@
    48 #cmakedefine HAVE_GCC_SYNC_LOCK_TEST_AND_SET @HAVE_GCC_SYNC_LOCK_TEST_AND_SET@
    49 
    50 #cmakedefine HAVE_DXGI_H @HAVE_DXGI_H@
    51 
    52 /* Comment this if you want to build without any C library requirements */
    53 #cmakedefine HAVE_LIBC 1
    54 #if HAVE_LIBC
    55 
    56 /* Useful headers */
    57 #cmakedefine HAVE_ALLOCA_H 1
    58 #cmakedefine HAVE_SYS_TYPES_H 1
    59 #cmakedefine HAVE_STDIO_H 1
    60 #cmakedefine STDC_HEADERS 1
    61 #cmakedefine HAVE_STDLIB_H 1
    62 #cmakedefine HAVE_STDARG_H 1
    63 #cmakedefine HAVE_MALLOC_H 1
    64 #cmakedefine HAVE_MEMORY_H 1
    65 #cmakedefine HAVE_STRING_H 1
    66 #cmakedefine HAVE_STRINGS_H 1
    67 #cmakedefine HAVE_INTTYPES_H 1
    68 #cmakedefine HAVE_STDINT_H 1
    69 #cmakedefine HAVE_CTYPE_H 1
    70 #cmakedefine HAVE_MATH_H 1
    71 #cmakedefine HAVE_ICONV_H 1
    72 #cmakedefine HAVE_SIGNAL_H 1
    73 #cmakedefine HAVE_ALTIVEC_H 1
    74 #cmakedefine HAVE_PTHREAD_NP_H 1
    75 #cmakedefine HAVE_LIBUDEV_H 1
    76 #cmakedefine HAVE_DBUS_DBUS_H 1
    77 
    78 /* C library functions */
    79 #cmakedefine HAVE_MALLOC 1
    80 #cmakedefine HAVE_CALLOC 1
    81 #cmakedefine HAVE_REALLOC 1
    82 #cmakedefine HAVE_FREE 1
    83 #cmakedefine HAVE_ALLOCA 1
    84 #ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
    85 #cmakedefine HAVE_GETENV 1
    86 #cmakedefine HAVE_SETENV 1
    87 #cmakedefine HAVE_PUTENV 1
    88 #cmakedefine HAVE_UNSETENV 1
    89 #endif
    90 #cmakedefine HAVE_QSORT 1
    91 #cmakedefine HAVE_ABS 1
    92 #cmakedefine HAVE_BCOPY 1
    93 #cmakedefine HAVE_MEMSET 1
    94 #cmakedefine HAVE_MEMCPY 1
    95 #cmakedefine HAVE_MEMMOVE 1
    96 #cmakedefine HAVE_MEMCMP 1
    97 #cmakedefine HAVE_STRLEN 1
    98 #cmakedefine HAVE_STRLCPY 1
    99 #cmakedefine HAVE_STRLCAT 1
   100 #cmakedefine HAVE_STRDUP 1
   101 #cmakedefine HAVE__STRREV 1
   102 #cmakedefine HAVE__STRUPR 1
   103 #cmakedefine HAVE__STRLWR 1
   104 #cmakedefine HAVE_INDEX 1
   105 #cmakedefine HAVE_RINDEX 1
   106 #cmakedefine HAVE_STRCHR 1
   107 #cmakedefine HAVE_STRRCHR 1
   108 #cmakedefine HAVE_STRSTR 1
   109 #cmakedefine HAVE_ITOA 1
   110 #cmakedefine HAVE__LTOA 1
   111 #cmakedefine HAVE__UITOA 1
   112 #cmakedefine HAVE__ULTOA 1
   113 #cmakedefine HAVE_STRTOL 1
   114 #cmakedefine HAVE_STRTOUL 1
   115 #cmakedefine HAVE__I64TOA 1
   116 #cmakedefine HAVE__UI64TOA 1
   117 #cmakedefine HAVE_STRTOLL 1
   118 #cmakedefine HAVE_STRTOULL 1
   119 #cmakedefine HAVE_STRTOD 1
   120 #cmakedefine HAVE_ATOI 1
   121 #cmakedefine HAVE_ATOF 1
   122 #cmakedefine HAVE_STRCMP 1
   123 #cmakedefine HAVE_STRNCMP 1
   124 #cmakedefine HAVE__STRICMP 1
   125 #cmakedefine HAVE_STRCASECMP 1
   126 #cmakedefine HAVE__STRNICMP 1
   127 #cmakedefine HAVE_STRNCASECMP 1
   128 #cmakedefine HAVE_VSSCANF 1
   129 #cmakedefine HAVE_VSNPRINTF 1
   130 #cmakedefine HAVE_M_PI 1
   131 #cmakedefine HAVE_ATAN 1
   132 #cmakedefine HAVE_ATAN2 1
   133 #cmakedefine HAVE_ACOS 1
   134 #cmakedefine HAVE_ASIN 1
   135 #cmakedefine HAVE_CEIL 1
   136 #cmakedefine HAVE_COPYSIGN 1
   137 #cmakedefine HAVE_COS 1
   138 #cmakedefine HAVE_COSF 1
   139 #cmakedefine HAVE_FABS 1
   140 #cmakedefine HAVE_FLOOR 1
   141 #cmakedefine HAVE_LOG 1
   142 #cmakedefine HAVE_POW 1
   143 #cmakedefine HAVE_SCALBN 1
   144 #cmakedefine HAVE_SIN 1
   145 #cmakedefine HAVE_SINF 1
   146 #cmakedefine HAVE_SQRT 1
   147 #cmakedefine HAVE_SQRTF 1
   148 #cmakedefine HAVE_TAN 1
   149 #cmakedefine HAVE_TANF 1
   150 #cmakedefine HAVE_FSEEKO 1
   151 #cmakedefine HAVE_FSEEKO64 1
   152 #cmakedefine HAVE_SIGACTION 1
   153 #cmakedefine HAVE_SA_SIGACTION 1
   154 #cmakedefine HAVE_SETJMP 1
   155 #cmakedefine HAVE_NANOSLEEP 1
   156 #cmakedefine HAVE_SYSCONF 1
   157 #cmakedefine HAVE_SYSCTLBYNAME 1
   158 #cmakedefine HAVE_CLOCK_GETTIME 1
   159 #cmakedefine HAVE_GETPAGESIZE 1
   160 #cmakedefine HAVE_MPROTECT 1
   161 #cmakedefine HAVE_ICONV 1
   162 #cmakedefine HAVE_PTHREAD_SETNAME_NP 1
   163 #cmakedefine HAVE_PTHREAD_SET_NAME_NP 1
   164 #cmakedefine HAVE_SEM_TIMEDWAIT 1
   165 #elif __WIN32__
   166 #cmakedefine HAVE_STDARG_H 1
   167 #cmakedefine HAVE_STDDEF_H 1
   168 #else
   169 /* We may need some replacement for stdarg.h here */
   170 #include <stdarg.h>
   171 #endif /* HAVE_LIBC */
   172 
   173 /* SDL internal assertion support */
   174 #cmakedefine SDL_DEFAULT_ASSERT_LEVEL @SDL_DEFAULT_ASSERT_LEVEL@
   175 
   176 /* Allow disabling of core subsystems */
   177 #cmakedefine SDL_ATOMIC_DISABLED @SDL_ATOMIC_DISABLED@
   178 #cmakedefine SDL_AUDIO_DISABLED @SDL_AUDIO_DISABLED@
   179 #cmakedefine SDL_CPUINFO_DISABLED @SDL_CPUINFO_DISABLED@
   180 #cmakedefine SDL_EVENTS_DISABLED @SDL_EVENTS_DISABLED@
   181 #cmakedefine SDL_FILE_DISABLED @SDL_FILE_DISABLED@
   182 #cmakedefine SDL_JOYSTICK_DISABLED @SDL_JOYSTICK_DISABLED@
   183 #cmakedefine SDL_HAPTIC_DISABLED @SDL_HAPTIC_DISABLED@
   184 #cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@
   185 #cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@
   186 #cmakedefine SDL_THREADS_DISABLED @SDL_THREADS_DISABLED@
   187 #cmakedefine SDL_TIMERS_DISABLED @SDL_TIMERS_DISABLED@
   188 #cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@
   189 #cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@
   190 #cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@
   191 
   192 /* Enable various audio drivers */
   193 #cmakedefine SDL_AUDIO_DRIVER_ALSA @SDL_AUDIO_DRIVER_ALSA@
   194 #cmakedefine SDL_AUDIO_DRIVER_ALSA_DYNAMIC @SDL_AUDIO_DRIVER_ALSA_DYNAMIC@
   195 #cmakedefine SDL_AUDIO_DRIVER_ARTS @SDL_AUDIO_DRIVER_ARTS@
   196 #cmakedefine SDL_AUDIO_DRIVER_ARTS_DYNAMIC @SDL_AUDIO_DRIVER_ARTS_DYNAMIC@
   197 #cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO @SDL_AUDIO_DRIVER_PULSEAUDIO@
   198 #cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC @SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC@
   199 #cmakedefine SDL_AUDIO_DRIVER_HAIKU @SDL_AUDIO_DRIVER_HAIKU@
   200 #cmakedefine SDL_AUDIO_DRIVER_BSD @SDL_AUDIO_DRIVER_BSD@
   201 #cmakedefine SDL_AUDIO_DRIVER_COREAUDIO @SDL_AUDIO_DRIVER_COREAUDIO@
   202 #cmakedefine SDL_AUDIO_DRIVER_DISK @SDL_AUDIO_DRIVER_DISK@
   203 #cmakedefine SDL_AUDIO_DRIVER_DUMMY @SDL_AUDIO_DRIVER_DUMMY@
   204 #cmakedefine SDL_AUDIO_DRIVER_XAUDIO2 @SDL_AUDIO_DRIVER_XAUDIO2@
   205 #cmakedefine SDL_AUDIO_DRIVER_DSOUND @SDL_AUDIO_DRIVER_DSOUND@
   206 #cmakedefine SDL_AUDIO_DRIVER_ESD @SDL_AUDIO_DRIVER_ESD@
   207 #cmakedefine SDL_AUDIO_DRIVER_ESD_DYNAMIC @SDL_AUDIO_DRIVER_ESD_DYNAMIC@
   208 #cmakedefine SDL_AUDIO_DRIVER_NAS @SDL_AUDIO_DRIVER_NAS@
   209 #cmakedefine SDL_AUDIO_DRIVER_NAS_DYNAMIC @SDL_AUDIO_DRIVER_NAS_DYNAMIC@
   210 #cmakedefine SDL_AUDIO_DRIVER_SNDIO @SDL_AUDIO_DRIVER_SNDIO@
   211 #cmakedefine SDL_AUDIO_DRIVER_SNDIO_DYNAMIC @SDL_AUDIO_DRIVER_SNDIO_DYNAMIC@
   212 #cmakedefine SDL_AUDIO_DRIVER_OSS @SDL_AUDIO_DRIVER_OSS@
   213 #cmakedefine SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H @SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H@
   214 #cmakedefine SDL_AUDIO_DRIVER_PAUDIO @SDL_AUDIO_DRIVER_PAUDIO@
   215 #cmakedefine SDL_AUDIO_DRIVER_QSA @SDL_AUDIO_DRIVER_QSA@
   216 #cmakedefine SDL_AUDIO_DRIVER_SUNAUDIO @SDL_AUDIO_DRIVER_SUNAUDIO@
   217 #cmakedefine SDL_AUDIO_DRIVER_WINMM @SDL_AUDIO_DRIVER_WINMM@
   218 #cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND @SDL_AUDIO_DRIVER_FUSIONSOUND@
   219 #cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC @SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC@
   220 
   221 /* Enable various input drivers */
   222 #cmakedefine SDL_INPUT_LINUXEV @SDL_INPUT_LINUXEV@
   223 #cmakedefine SDL_INPUT_LINUXKD @SDL_INPUT_LINUXKD@
   224 #cmakedefine SDL_INPUT_TSLIB @SDL_INPUT_TSLIB@
   225 #cmakedefine SDL_JOYSTICK_HAIKU @SDL_JOYSTICK_HAIKU@
   226 #cmakedefine SDL_JOYSTICK_DINPUT @SDL_JOYSTICK_DINPUT@
   227 #cmakedefine SDL_JOYSTICK_DUMMY @SDL_JOYSTICK_DUMMY@
   228 #cmakedefine SDL_JOYSTICK_IOKIT @SDL_JOYSTICK_IOKIT@
   229 #cmakedefine SDL_JOYSTICK_LINUX @SDL_JOYSTICK_LINUX@
   230 #cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
   231 #cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
   232 #cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
   233 #cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
   234 #cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
   235 #cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@
   236 #cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@
   237 
   238 /* Enable various shared object loading systems */
   239 #cmakedefine SDL_LOADSO_HAIKU @SDL_LOADSO_HAIKU@
   240 #cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@
   241 #cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@
   242 #cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@
   243 #cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@
   244 
   245 /* Enable various threading systems */
   246 #cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@
   247 #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX@
   248 #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP@
   249 #cmakedefine SDL_THREAD_WINDOWS @SDL_THREAD_WINDOWS@
   250 
   251 /* Enable various timer systems */
   252 #cmakedefine SDL_TIMER_HAIKU @SDL_TIMER_HAIKU@
   253 #cmakedefine SDL_TIMER_DUMMY @SDL_TIMER_DUMMY@
   254 #cmakedefine SDL_TIMER_UNIX @SDL_TIMER_UNIX@
   255 #cmakedefine SDL_TIMER_WINDOWS @SDL_TIMER_WINDOWS@
   256 #cmakedefine SDL_TIMER_WINCE @SDL_TIMER_WINCE@
   257 
   258 /* Enable various video drivers */
   259 #cmakedefine SDL_VIDEO_DRIVER_HAIKU @SDL_VIDEO_DRIVER_HAIKU@
   260 #cmakedefine SDL_VIDEO_DRIVER_COCOA @SDL_VIDEO_DRIVER_COCOA@
   261 #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB @SDL_VIDEO_DRIVER_DIRECTFB@
   262 #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@
   263 #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@
   264 #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@
   265 #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@
   266 #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@
   267 #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
   268 #cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
   269 
   270 #if 0
   271 /* !!! FIXME: in configure script version, missing here: */
   272 #undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
   273 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC
   274 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
   275 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
   276 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
   277 #endif
   278 
   279 #cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
   280 #cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
   281 #cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@
   282 #cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
   283 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
   284 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT @SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT@
   285 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR@
   286 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA@
   287 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2@
   288 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR@
   289 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS @SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS@
   290 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE @SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE@
   291 #cmakedefine SDL_VIDEO_DRIVER_X11_XCURSOR @SDL_VIDEO_DRIVER_X11_XCURSOR@
   292 #cmakedefine SDL_VIDEO_DRIVER_X11_XINERAMA @SDL_VIDEO_DRIVER_X11_XINERAMA@
   293 #cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2 @SDL_VIDEO_DRIVER_X11_XINPUT2@
   294 #cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH @SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH@
   295 #cmakedefine SDL_VIDEO_DRIVER_X11_XRANDR @SDL_VIDEO_DRIVER_X11_XRANDR@
   296 #cmakedefine SDL_VIDEO_DRIVER_X11_XSCRNSAVER @SDL_VIDEO_DRIVER_X11_XSCRNSAVER@
   297 #cmakedefine SDL_VIDEO_DRIVER_X11_XSHAPE @SDL_VIDEO_DRIVER_X11_XSHAPE@
   298 #cmakedefine SDL_VIDEO_DRIVER_X11_XVIDMODE @SDL_VIDEO_DRIVER_X11_XVIDMODE@
   299 #cmakedefine SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS @SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS@
   300 #cmakedefine SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 @SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32@
   301 #cmakedefine SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY @SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY@
   302 #cmakedefine SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM @SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM@
   303 
   304 #cmakedefine SDL_VIDEO_RENDER_D3D @SDL_VIDEO_RENDER_D3D@
   305 #cmakedefine SDL_VIDEO_RENDER_D3D11 @SDL_VIDEO_RENDER_D3D11@
   306 #cmakedefine SDL_VIDEO_RENDER_OGL @SDL_VIDEO_RENDER_OGL@
   307 #cmakedefine SDL_VIDEO_RENDER_OGL_ES @SDL_VIDEO_RENDER_OGL_ES@
   308 #cmakedefine SDL_VIDEO_RENDER_OGL_ES2 @SDL_VIDEO_RENDER_OGL_ES2@
   309 #cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
   310 
   311 /* Enable OpenGL support */
   312 #cmakedefine SDL_VIDEO_OPENGL @SDL_VIDEO_OPENGL@
   313 #cmakedefine SDL_VIDEO_OPENGL_ES @SDL_VIDEO_OPENGL_ES@
   314 #cmakedefine SDL_VIDEO_OPENGL_ES2 @SDL_VIDEO_OPENGL_ES2@
   315 #cmakedefine SDL_VIDEO_OPENGL_BGL @SDL_VIDEO_OPENGL_BGL@
   316 #cmakedefine SDL_VIDEO_OPENGL_CGL @SDL_VIDEO_OPENGL_CGL@
   317 #cmakedefine SDL_VIDEO_OPENGL_GLX @SDL_VIDEO_OPENGL_GLX@
   318 #cmakedefine SDL_VIDEO_OPENGL_WGL @SDL_VIDEO_OPENGL_WGL@
   319 #cmakedefine SDL_VIDEO_OPENGL_EGL @SDL_VIDEO_OPENGL_EGL@
   320 #cmakedefine SDL_VIDEO_OPENGL_OSMESA @SDL_VIDEO_OPENGL_OSMESA@
   321 #cmakedefine SDL_VIDEO_OPENGL_OSMESA_DYNAMIC @SDL_VIDEO_OPENGL_OSMESA_DYNAMIC@
   322 
   323 /* Enable system power support */
   324 #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@
   325 #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@
   326 #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@
   327 #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@
   328 #cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
   329 
   330 /* Enable system filesystem support */
   331 #cmakedefine SDL_FILESYSTEM_HAIKU @SDL_FILESYSTEM_HAIKU@
   332 #cmakedefine SDL_FILESYSTEM_COCOA @SDL_FILESYSTEM_COCOA@
   333 #cmakedefine SDL_FILESYSTEM_DUMMY @SDL_FILESYSTEM_DUMMY@
   334 #cmakedefine SDL_FILESYSTEM_UNIX @SDL_FILESYSTEM_UNIX@
   335 #cmakedefine SDL_FILESYSTEM_WINDOWS @SDL_FILESYSTEM_WINDOWS@
   336 
   337 /* Enable assembly routines */
   338 #cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
   339 #cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
   340 
   341 
   342 /* Platform specific definitions */
   343 #if !defined(__WIN32__)
   344 #  if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
   345 typedef unsigned int size_t;
   346 typedef signed char int8_t;
   347 typedef unsigned char uint8_t;
   348 typedef signed short int16_t;
   349 typedef unsigned short uint16_t;
   350 typedef signed int int32_t;
   351 typedef unsigned int uint32_t;
   352 typedef signed long long int64_t;
   353 typedef unsigned long long uint64_t;
   354 typedef unsigned long uintptr_t;
   355 #  endif /* if (stdint.h isn't available) */
   356 #else /* __WIN32__ */
   357 #  if !defined(_STDINT_H_) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
   358 #    if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
   359 #define HAVE_STDINT_H	1
   360 #    elif defined(_MSC_VER)
   361 typedef signed __int8 int8_t;
   362 typedef unsigned __int8 uint8_t;
   363 typedef signed __int16 int16_t;
   364 typedef unsigned __int16 uint16_t;
   365 typedef signed __int32 int32_t;
   366 typedef unsigned __int32 uint32_t;
   367 typedef signed __int64 int64_t;
   368 typedef unsigned __int64 uint64_t;
   369 #      ifndef _UINTPTR_T_DEFINED
   370 #        ifdef  _WIN64
   371 typedef unsigned __int64 uintptr_t;
   372 #          else
   373 typedef unsigned int uintptr_t;
   374 #        endif
   375 #define _UINTPTR_T_DEFINED
   376 #      endif
   377 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */
   378 #      if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
   379 #define DWORD_PTR DWORD
   380 #      endif
   381 #      if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
   382 #define LONG_PTR LONG
   383 #      endif
   384 #    else /* !__GNUC__ && !_MSC_VER */
   385 typedef signed char int8_t;
   386 typedef unsigned char uint8_t;
   387 typedef signed short int16_t;
   388 typedef unsigned short uint16_t;
   389 typedef signed int int32_t;
   390 typedef unsigned int uint32_t;
   391 typedef signed long long int64_t;
   392 typedef unsigned long long uint64_t;
   393 #      ifndef _SIZE_T_DEFINED_
   394 #define _SIZE_T_DEFINED_
   395 typedef unsigned int size_t;
   396 #      endif
   397 typedef unsigned int uintptr_t;
   398 #    endif /* __GNUC__ || _MSC_VER */
   399 #  endif /* !_STDINT_H_ && !HAVE_STDINT_H */
   400 #endif /* __WIN32__ */
   401 
   402 #endif /* _SDL_config_h */