include/SDL_config.h.cmake
author Sam Lantinga <slouken@libsdl.org>
Sat, 09 Sep 2017 08:36:37 -0700
changeset 11480 e7a79b236dc0
parent 11458 ab430a52b113
child 11610 6dea196ecbcb
permissions -rw-r--r--
Fixed bug 3760 - RWops doesn't check for integer overflow when stdio_fseek only supports 32 bits

Simon Hug

When RWops seeks with fseek or fseeko it uses the types long or off_t which can be 32 bits on some platforms. stdio_seek does not check if the 64-bit integer for the offset fits into a 32-bit integer. Offsets equal or larger than 2 GiB will have implementation-defined behavior and failure states would be very confusing to debug.

The attached patch adds range checking by using the macros from limits.h for long type and some bit shifting for off_t because POSIX couldn't be bothered to specify min and max macros.

It also defines HAVE_FSEEKI64 in SDL_config_windows.h so that the Windows function gets picked up automatically with the default config.

And there's an additional error message for when ftell fails.
gabomdq@6674
     1
/*
gabomdq@6674
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
gabomdq@6674
     4
gabomdq@6674
     5
  This software is provided 'as-is', without any express or implied
gabomdq@6674
     6
  warranty.  In no event will the authors be held liable for any damages
gabomdq@6674
     7
  arising from the use of this software.
gabomdq@6674
     8
gabomdq@6674
     9
  Permission is granted to anyone to use this software for any purpose,
gabomdq@6674
    10
  including commercial applications, and to alter it and redistribute it
gabomdq@6674
    11
  freely, subject to the following restrictions:
gabomdq@6674
    12
gabomdq@6674
    13
  1. The origin of this software must not be misrepresented; you must not
gabomdq@6674
    14
     claim that you wrote the original software. If you use this software
gabomdq@6674
    15
     in a product, an acknowledgment in the product documentation would be
gabomdq@6674
    16
     appreciated but is not required.
gabomdq@6674
    17
  2. Altered source versions must be plainly marked as such, and must not be
gabomdq@6674
    18
     misrepresented as being the original software.
gabomdq@6674
    19
  3. This notice may not be removed or altered from any source distribution.
gabomdq@6674
    20
*/
gabomdq@6674
    21
slouken@10638
    22
#ifndef SDL_config_h_
slouken@10638
    23
#define SDL_config_h_
gabomdq@6674
    24
gabomdq@6674
    25
/**
gabomdq@6674
    26
 *  \file SDL_config.h.in
gabomdq@6674
    27
 *
gabomdq@6674
    28
 *  This is a set of defines to configure the SDL features
gabomdq@6674
    29
 */
gabomdq@6674
    30
gabomdq@6674
    31
/* General platform specific identifiers */
gabomdq@6674
    32
#include "SDL_platform.h"
gabomdq@6674
    33
gabomdq@6674
    34
/* C language features */
gabomdq@6674
    35
#cmakedefine const @HAVE_CONST@
gabomdq@6674
    36
#cmakedefine inline @HAVE_INLINE@
gabomdq@6674
    37
#cmakedefine volatile @HAVE_VOLATILE@
gabomdq@6674
    38
gabomdq@6674
    39
/* C datatypes */
azamat@7414
    40
/* Define SIZEOF_VOIDP for 64/32 architectures */
azamat@7414
    41
#ifdef __LP64__
azamat@7414
    42
#define SIZEOF_VOIDP 8
azamat@7414
    43
#else
azamat@7414
    44
#define SIZEOF_VOIDP 4
azamat@7414
    45
#endif
azamat@7414
    46
gabomdq@6674
    47
#cmakedefine HAVE_GCC_ATOMICS @HAVE_GCC_ATOMICS@
gabomdq@6674
    48
#cmakedefine HAVE_GCC_SYNC_LOCK_TEST_AND_SET @HAVE_GCC_SYNC_LOCK_TEST_AND_SET@
gabomdq@6674
    49
gabomdq@6674
    50
/* Comment this if you want to build without any C library requirements */
gabomdq@6674
    51
#cmakedefine HAVE_LIBC 1
gabomdq@6674
    52
#if HAVE_LIBC
gabomdq@6674
    53
gabomdq@6674
    54
/* Useful headers */
slouken@11480
    55
#cmakedefine STDC_HEADERS 1
gabomdq@6674
    56
#cmakedefine HAVE_ALLOCA_H 1
gabomdq@6674
    57
#cmakedefine HAVE_CTYPE_H 1
slouken@11457
    58
#cmakedefine HAVE_FLOAT_H 1
gabomdq@6674
    59
#cmakedefine HAVE_ICONV_H 1
slouken@11480
    60
#cmakedefine HAVE_INTTYPES_H 1
slouken@11480
    61
#cmakedefine HAVE_LIMITS_H 1
slouken@11480
    62
#cmakedefine HAVE_MALLOC_H 1
slouken@11480
    63
#cmakedefine HAVE_MATH_H 1
slouken@11480
    64
#cmakedefine HAVE_MEMORY_H 1
gabomdq@6674
    65
#cmakedefine HAVE_SIGNAL_H 1
slouken@11480
    66
#cmakedefine HAVE_STDARG_H 1
slouken@11480
    67
#cmakedefine HAVE_STDINT_H 1
slouken@11480
    68
#cmakedefine HAVE_STDIO_H 1
slouken@11480
    69
#cmakedefine HAVE_STDLIB_H 1
slouken@11480
    70
#cmakedefine HAVE_STRINGS_H 1
slouken@11480
    71
#cmakedefine HAVE_STRING_H 1
slouken@11480
    72
#cmakedefine HAVE_SYS_TYPES_H 1
slouken@11480
    73
#cmakedefine HAVE_WCHAR_H 1
gabomdq@6674
    74
#cmakedefine HAVE_PTHREAD_NP_H 1
gabomdq@6674
    75
gabomdq@6674
    76
/* C library functions */
gabomdq@6674
    77
#cmakedefine HAVE_MALLOC 1
gabomdq@6674
    78
#cmakedefine HAVE_CALLOC 1
gabomdq@6674
    79
#cmakedefine HAVE_REALLOC 1
gabomdq@6674
    80
#cmakedefine HAVE_FREE 1
gabomdq@6674
    81
#cmakedefine HAVE_ALLOCA 1
gabomdq@6674
    82
#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
gabomdq@6674
    83
#cmakedefine HAVE_GETENV 1
gabomdq@6674
    84
#cmakedefine HAVE_SETENV 1
gabomdq@6674
    85
#cmakedefine HAVE_PUTENV 1
gabomdq@6674
    86
#cmakedefine HAVE_UNSETENV 1
gabomdq@6674
    87
#endif
gabomdq@6674
    88
#cmakedefine HAVE_QSORT 1
gabomdq@6674
    89
#cmakedefine HAVE_ABS 1
gabomdq@6674
    90
#cmakedefine HAVE_BCOPY 1
gabomdq@6674
    91
#cmakedefine HAVE_MEMSET 1
gabomdq@6674
    92
#cmakedefine HAVE_MEMCPY 1
gabomdq@6674
    93
#cmakedefine HAVE_MEMMOVE 1
gabomdq@6674
    94
#cmakedefine HAVE_MEMCMP 1
slouken@11265
    95
#cmakedefine HAVE_WCSLEN 1
slouken@11265
    96
#cmakedefine HAVE_WCSLCPY 1
slouken@11265
    97
#cmakedefine HAVE_WCSLCAT 1
slouken@11265
    98
#cmakedefine HAVE_WCSCMP 1
gabomdq@6674
    99
#cmakedefine HAVE_STRLEN 1
gabomdq@6674
   100
#cmakedefine HAVE_STRLCPY 1
gabomdq@6674
   101
#cmakedefine HAVE_STRLCAT 1
gabomdq@6674
   102
#cmakedefine HAVE_STRDUP 1
gabomdq@6674
   103
#cmakedefine HAVE__STRREV 1
gabomdq@6674
   104
#cmakedefine HAVE__STRUPR 1
gabomdq@6674
   105
#cmakedefine HAVE__STRLWR 1
gabomdq@6674
   106
#cmakedefine HAVE_INDEX 1
gabomdq@6674
   107
#cmakedefine HAVE_RINDEX 1
gabomdq@6674
   108
#cmakedefine HAVE_STRCHR 1
gabomdq@6674
   109
#cmakedefine HAVE_STRRCHR 1
gabomdq@6674
   110
#cmakedefine HAVE_STRSTR 1
gabomdq@6674
   111
#cmakedefine HAVE_ITOA 1
gabomdq@6674
   112
#cmakedefine HAVE__LTOA 1
gabomdq@6674
   113
#cmakedefine HAVE__UITOA 1
gabomdq@6674
   114
#cmakedefine HAVE__ULTOA 1
gabomdq@6674
   115
#cmakedefine HAVE_STRTOL 1
gabomdq@6674
   116
#cmakedefine HAVE_STRTOUL 1
gabomdq@6674
   117
#cmakedefine HAVE__I64TOA 1
gabomdq@6674
   118
#cmakedefine HAVE__UI64TOA 1
gabomdq@6674
   119
#cmakedefine HAVE_STRTOLL 1
gabomdq@6674
   120
#cmakedefine HAVE_STRTOULL 1
gabomdq@6674
   121
#cmakedefine HAVE_STRTOD 1
gabomdq@6674
   122
#cmakedefine HAVE_ATOI 1
gabomdq@6674
   123
#cmakedefine HAVE_ATOF 1
gabomdq@6674
   124
#cmakedefine HAVE_STRCMP 1
gabomdq@6674
   125
#cmakedefine HAVE_STRNCMP 1
gabomdq@6674
   126
#cmakedefine HAVE__STRICMP 1
gabomdq@6674
   127
#cmakedefine HAVE_STRCASECMP 1
gabomdq@6674
   128
#cmakedefine HAVE__STRNICMP 1
gabomdq@6674
   129
#cmakedefine HAVE_STRNCASECMP 1
icculus@8089
   130
#cmakedefine HAVE_VSSCANF 1
gabomdq@6674
   131
#cmakedefine HAVE_VSNPRINTF 1
gabomdq@6674
   132
#cmakedefine HAVE_M_PI 1
gabomdq@6674
   133
#cmakedefine HAVE_ATAN 1
gabomdq@6674
   134
#cmakedefine HAVE_ATAN2 1
icculus@8056
   135
#cmakedefine HAVE_ACOS 1
icculus@8056
   136
#cmakedefine HAVE_ASIN 1
gabomdq@6674
   137
#cmakedefine HAVE_CEIL 1
gabomdq@6674
   138
#cmakedefine HAVE_COPYSIGN 1
gabomdq@6674
   139
#cmakedefine HAVE_COS 1
gabomdq@6674
   140
#cmakedefine HAVE_COSF 1
gabomdq@6674
   141
#cmakedefine HAVE_FABS 1
gabomdq@6674
   142
#cmakedefine HAVE_FLOOR 1
gabomdq@6674
   143
#cmakedefine HAVE_LOG 1
gabomdq@6674
   144
#cmakedefine HAVE_POW 1
gabomdq@6674
   145
#cmakedefine HAVE_SCALBN 1
gabomdq@6674
   146
#cmakedefine HAVE_SIN 1
gabomdq@6674
   147
#cmakedefine HAVE_SINF 1
gabomdq@6674
   148
#cmakedefine HAVE_SQRT 1
slouken@8840
   149
#cmakedefine HAVE_SQRTF 1
slouken@8840
   150
#cmakedefine HAVE_TAN 1
slouken@8840
   151
#cmakedefine HAVE_TANF 1
slouken@11230
   152
#cmakedefine HAVE_FOPEN64 1
gabomdq@6674
   153
#cmakedefine HAVE_FSEEKO 1
gabomdq@6674
   154
#cmakedefine HAVE_FSEEKO64 1
gabomdq@6674
   155
#cmakedefine HAVE_SIGACTION 1
gabomdq@6674
   156
#cmakedefine HAVE_SA_SIGACTION 1
gabomdq@6674
   157
#cmakedefine HAVE_SETJMP 1
gabomdq@6674
   158
#cmakedefine HAVE_NANOSLEEP 1
gabomdq@6674
   159
#cmakedefine HAVE_SYSCONF 1
gabomdq@6674
   160
#cmakedefine HAVE_SYSCTLBYNAME 1
gabomdq@6674
   161
#cmakedefine HAVE_CLOCK_GETTIME 1
gabomdq@6674
   162
#cmakedefine HAVE_GETPAGESIZE 1
gabomdq@6674
   163
#cmakedefine HAVE_MPROTECT 1
gabomdq@6674
   164
#cmakedefine HAVE_ICONV 1
gabomdq@6674
   165
#cmakedefine HAVE_PTHREAD_SETNAME_NP 1
gabomdq@6674
   166
#cmakedefine HAVE_PTHREAD_SET_NAME_NP 1
gabomdq@6674
   167
#cmakedefine HAVE_SEM_TIMEDWAIT 1
icculus@10620
   168
#cmakedefine HAVE_GETAUXVAL 1
slouken@11296
   169
#cmakedefine HAVE_POLL 1
icculus@10620
   170
gabomdq@6674
   171
#elif __WIN32__
gabomdq@6674
   172
#cmakedefine HAVE_STDARG_H 1
gabomdq@6674
   173
#cmakedefine HAVE_STDDEF_H 1
slouken@11458
   174
#cmakedefine HAVE_FLOAT_H 1
gabomdq@6674
   175
#else
gabomdq@6674
   176
/* We may need some replacement for stdarg.h here */
gabomdq@6674
   177
#include <stdarg.h>
gabomdq@6674
   178
#endif /* HAVE_LIBC */
gabomdq@6674
   179
slouken@11458
   180
#cmakedefine HAVE_ALTIVEC_H 1
slouken@11458
   181
#cmakedefine HAVE_LIBUDEV_H 1
slouken@11458
   182
#cmakedefine HAVE_DBUS_DBUS_H 1
slouken@11458
   183
#cmakedefine HAVE_IBUS_IBUS_H 1
slouken@11458
   184
#cmakedefine HAVE_FCITX_FRONTEND_H 1
slouken@11458
   185
#cmakedefine HAVE_LIBSAMPLERATE_H 1
slouken@11458
   186
slouken@11458
   187
#cmakedefine HAVE_D3D_H @HAVE_D3D_H@
slouken@11458
   188
#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@
slouken@11458
   189
#cmakedefine HAVE_DDRAW_H @HAVE_DDRAW_H@
slouken@11458
   190
#cmakedefine HAVE_DSOUND_H @HAVE_DSOUND_H@
slouken@11458
   191
#cmakedefine HAVE_DINPUT_H @HAVE_DINPUT_H@
slouken@11458
   192
#cmakedefine HAVE_XAUDIO2_H @HAVE_XAUDIO2_H@
slouken@11458
   193
#cmakedefine HAVE_XINPUT_H @HAVE_XINPUT_H@
slouken@11458
   194
#cmakedefine HAVE_DXGI_H @HAVE_DXGI_H@
slouken@11458
   195
#cmakedefine HAVE_XINPUT_GAMEPAD_EX @HAVE_XINPUT_GAMEPAD_EX@
slouken@11458
   196
#cmakedefine HAVE_XINPUT_STATE_EX @HAVE_XINPUT_STATE_EX@
slouken@11458
   197
gabomdq@6674
   198
/* SDL internal assertion support */
gabomdq@6674
   199
#cmakedefine SDL_DEFAULT_ASSERT_LEVEL @SDL_DEFAULT_ASSERT_LEVEL@
gabomdq@6674
   200
gabomdq@6674
   201
/* Allow disabling of core subsystems */
gabomdq@6674
   202
#cmakedefine SDL_ATOMIC_DISABLED @SDL_ATOMIC_DISABLED@
gabomdq@6674
   203
#cmakedefine SDL_AUDIO_DISABLED @SDL_AUDIO_DISABLED@
gabomdq@6674
   204
#cmakedefine SDL_CPUINFO_DISABLED @SDL_CPUINFO_DISABLED@
gabomdq@6674
   205
#cmakedefine SDL_EVENTS_DISABLED @SDL_EVENTS_DISABLED@
gabomdq@6674
   206
#cmakedefine SDL_FILE_DISABLED @SDL_FILE_DISABLED@
gabomdq@6674
   207
#cmakedefine SDL_JOYSTICK_DISABLED @SDL_JOYSTICK_DISABLED@
gabomdq@6674
   208
#cmakedefine SDL_HAPTIC_DISABLED @SDL_HAPTIC_DISABLED@
gabomdq@6674
   209
#cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@
gabomdq@6674
   210
#cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@
gabomdq@6674
   211
#cmakedefine SDL_THREADS_DISABLED @SDL_THREADS_DISABLED@
gabomdq@6674
   212
#cmakedefine SDL_TIMERS_DISABLED @SDL_TIMERS_DISABLED@
gabomdq@6674
   213
#cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@
gabomdq@6674
   214
#cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@
icculus@7667
   215
#cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@
gabomdq@6674
   216
gabomdq@6674
   217
/* Enable various audio drivers */
gabomdq@6674
   218
#cmakedefine SDL_AUDIO_DRIVER_ALSA @SDL_AUDIO_DRIVER_ALSA@
gabomdq@6674
   219
#cmakedefine SDL_AUDIO_DRIVER_ALSA_DYNAMIC @SDL_AUDIO_DRIVER_ALSA_DYNAMIC@
slouken@11325
   220
#cmakedefine SDL_AUDIO_DRIVER_ANDROID @SDL_AUDIO_DRIVER_ANDROID@
slouken@11325
   221
#cmakedefine SDL_AUDIO_DRIVER_ARTS @SDL_AUDIO_DRIVER_ARTS@
slouken@11325
   222
#cmakedefine SDL_AUDIO_DRIVER_ARTS_DYNAMIC @SDL_AUDIO_DRIVER_ARTS_DYNAMIC@
slouken@11325
   223
#cmakedefine SDL_AUDIO_DRIVER_COREAUDIO @SDL_AUDIO_DRIVER_COREAUDIO@
slouken@11325
   224
#cmakedefine SDL_AUDIO_DRIVER_DISK @SDL_AUDIO_DRIVER_DISK@
slouken@11325
   225
#cmakedefine SDL_AUDIO_DRIVER_DSOUND @SDL_AUDIO_DRIVER_DSOUND@
slouken@11325
   226
#cmakedefine SDL_AUDIO_DRIVER_DUMMY @SDL_AUDIO_DRIVER_DUMMY@
slouken@11325
   227
#cmakedefine SDL_AUDIO_DRIVER_EMSCRIPTEN @SDL_AUDIO_DRIVER_EMSCRIPTEN@
slouken@11325
   228
#cmakedefine SDL_AUDIO_DRIVER_ESD @SDL_AUDIO_DRIVER_ESD@
slouken@11325
   229
#cmakedefine SDL_AUDIO_DRIVER_ESD_DYNAMIC @SDL_AUDIO_DRIVER_ESD_DYNAMIC@
slouken@11325
   230
#cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND @SDL_AUDIO_DRIVER_FUSIONSOUND@
slouken@11325
   231
#cmakedefine SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC @SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC@
slouken@11325
   232
#cmakedefine SDL_AUDIO_DRIVER_HAIKU @SDL_AUDIO_DRIVER_HAIKU@
icculus@11081
   233
#cmakedefine SDL_AUDIO_DRIVER_JACK @SDL_AUDIO_DRIVER_JACK@
icculus@11081
   234
#cmakedefine SDL_AUDIO_DRIVER_JACK_DYNAMIC @SDL_AUDIO_DRIVER_JACK_DYNAMIC@
gabomdq@6674
   235
#cmakedefine SDL_AUDIO_DRIVER_NAS @SDL_AUDIO_DRIVER_NAS@
gabomdq@6674
   236
#cmakedefine SDL_AUDIO_DRIVER_NAS_DYNAMIC @SDL_AUDIO_DRIVER_NAS_DYNAMIC@
slouken@11325
   237
#cmakedefine SDL_AUDIO_DRIVER_NETBSD @SDL_AUDIO_DRIVER_NETBSD@
gabomdq@6674
   238
#cmakedefine SDL_AUDIO_DRIVER_OSS @SDL_AUDIO_DRIVER_OSS@
gabomdq@6674
   239
#cmakedefine SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H @SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H@
gabomdq@6674
   240
#cmakedefine SDL_AUDIO_DRIVER_PAUDIO @SDL_AUDIO_DRIVER_PAUDIO@
slouken@11325
   241
#cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO @SDL_AUDIO_DRIVER_PULSEAUDIO@
slouken@11325
   242
#cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC @SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC@
gabomdq@6674
   243
#cmakedefine SDL_AUDIO_DRIVER_QSA @SDL_AUDIO_DRIVER_QSA@
slouken@11325
   244
#cmakedefine SDL_AUDIO_DRIVER_SNDIO @SDL_AUDIO_DRIVER_SNDIO@
slouken@11325
   245
#cmakedefine SDL_AUDIO_DRIVER_SNDIO_DYNAMIC @SDL_AUDIO_DRIVER_SNDIO_DYNAMIC@
gabomdq@6674
   246
#cmakedefine SDL_AUDIO_DRIVER_SUNAUDIO @SDL_AUDIO_DRIVER_SUNAUDIO@
slouken@11325
   247
#cmakedefine SDL_AUDIO_DRIVER_WASAPI @SDL_AUDIO_DRIVER_WASAPI@
gabomdq@6674
   248
#cmakedefine SDL_AUDIO_DRIVER_WINMM @SDL_AUDIO_DRIVER_WINMM@
slouken@11325
   249
#cmakedefine SDL_AUDIO_DRIVER_XAUDIO2 @SDL_AUDIO_DRIVER_XAUDIO2@
gabomdq@6674
   250
gabomdq@6674
   251
/* Enable various input drivers */
gabomdq@6674
   252
#cmakedefine SDL_INPUT_LINUXEV @SDL_INPUT_LINUXEV@
gabomdq@8032
   253
#cmakedefine SDL_INPUT_LINUXKD @SDL_INPUT_LINUXKD@
gabomdq@6674
   254
#cmakedefine SDL_INPUT_TSLIB @SDL_INPUT_TSLIB@
icculus@9982
   255
#cmakedefine SDL_JOYSTICK_ANDROID @SDL_JOYSTICK_ANDROID@
icculus@7981
   256
#cmakedefine SDL_JOYSTICK_HAIKU @SDL_JOYSTICK_HAIKU@
gabomdq@6674
   257
#cmakedefine SDL_JOYSTICK_DINPUT @SDL_JOYSTICK_DINPUT@
slouken@9731
   258
#cmakedefine SDL_JOYSTICK_XINPUT @SDL_JOYSTICK_XINPUT@
gabomdq@6674
   259
#cmakedefine SDL_JOYSTICK_DUMMY @SDL_JOYSTICK_DUMMY@
gabomdq@6674
   260
#cmakedefine SDL_JOYSTICK_IOKIT @SDL_JOYSTICK_IOKIT@
slime73@9876
   261
#cmakedefine SDL_JOYSTICK_MFI @SDL_JOYSTICK_MFI@
gabomdq@6674
   262
#cmakedefine SDL_JOYSTICK_LINUX @SDL_JOYSTICK_LINUX@
gabomdq@6674
   263
#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
gabomdq@6674
   264
#cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
gabomdq@6674
   265
#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
icculus@9278
   266
#cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@
gabomdq@6674
   267
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
gabomdq@6674
   268
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
gabomdq@6674
   269
#cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@
gabomdq@6674
   270
#cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@
slouken@9731
   271
#cmakedefine SDL_HAPTIC_XINPUT @SDL_HAPTIC_XINPUT@
slouken@11353
   272
#cmakedefine SDL_HAPTIC_ANDROID @SDL_HAPTIC_ANDROID@
gabomdq@6674
   273
gabomdq@6674
   274
/* Enable various shared object loading systems */
gabomdq@6674
   275
#cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@
gabomdq@6674
   276
#cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@
gabomdq@6674
   277
#cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@
gabomdq@6674
   278
#cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@
gabomdq@6674
   279
gabomdq@6674
   280
/* Enable various threading systems */
gabomdq@6674
   281
#cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@
gabomdq@6674
   282
#cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX@
gabomdq@6674
   283
#cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP@
gabomdq@6674
   284
#cmakedefine SDL_THREAD_WINDOWS @SDL_THREAD_WINDOWS@
gabomdq@6674
   285
gabomdq@6674
   286
/* Enable various timer systems */
icculus@7981
   287
#cmakedefine SDL_TIMER_HAIKU @SDL_TIMER_HAIKU@
gabomdq@6674
   288
#cmakedefine SDL_TIMER_DUMMY @SDL_TIMER_DUMMY@
gabomdq@6674
   289
#cmakedefine SDL_TIMER_UNIX @SDL_TIMER_UNIX@
gabomdq@6674
   290
#cmakedefine SDL_TIMER_WINDOWS @SDL_TIMER_WINDOWS@
gabomdq@6674
   291
#cmakedefine SDL_TIMER_WINCE @SDL_TIMER_WINCE@
gabomdq@6674
   292
gabomdq@6674
   293
/* Enable various video drivers */
icculus@9982
   294
#cmakedefine SDL_VIDEO_DRIVER_ANDROID @SDL_VIDEO_DRIVER_ANDROID@
icculus@7981
   295
#cmakedefine SDL_VIDEO_DRIVER_HAIKU @SDL_VIDEO_DRIVER_HAIKU@
gabomdq@6674
   296
#cmakedefine SDL_VIDEO_DRIVER_COCOA @SDL_VIDEO_DRIVER_COCOA@
gabomdq@6674
   297
#cmakedefine SDL_VIDEO_DRIVER_DIRECTFB @SDL_VIDEO_DRIVER_DIRECTFB@
gabomdq@6674
   298
#cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@
gabomdq@6674
   299
#cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@
gabomdq@6674
   300
#cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@
gabomdq@8062
   301
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@
slouken@9077
   302
#cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@
slouken@9164
   303
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
slouken@9164
   304
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
icculus@8159
   305
slouken@11175
   306
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM @SDL_VIDEO_DRIVER_KMSDRM@
slouken@11175
   307
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC@
slouken@11175
   308
#cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM@
slouken@11175
   309
icculus@9409
   310
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH @SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH@
icculus@9409
   311
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC@
icculus@9409
   312
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL@
icculus@9409
   313
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
icculus@9409
   314
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
icculus@8159
   315
icculus@8153
   316
#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
icculus@8159
   317
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
icculus@8159
   318
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@
icculus@9278
   319
#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
gabomdq@6674
   320
#cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
gabomdq@6674
   321
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
gabomdq@6674
   322
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT @SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT@
gabomdq@6674
   323
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR@
gabomdq@6674
   324
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA@
gabomdq@6674
   325
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2@
gabomdq@6674
   326
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR@
gabomdq@6674
   327
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS @SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS@
gabomdq@6674
   328
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE @SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE@
gabomdq@6674
   329
#cmakedefine SDL_VIDEO_DRIVER_X11_XCURSOR @SDL_VIDEO_DRIVER_X11_XCURSOR@
icculus@9657
   330
#cmakedefine SDL_VIDEO_DRIVER_X11_XDBE @SDL_VIDEO_DRIVER_X11_XDBE@
gabomdq@6674
   331
#cmakedefine SDL_VIDEO_DRIVER_X11_XINERAMA @SDL_VIDEO_DRIVER_X11_XINERAMA@
gabomdq@6674
   332
#cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2 @SDL_VIDEO_DRIVER_X11_XINPUT2@
gabomdq@6674
   333
#cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH @SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH@
gabomdq@6674
   334
#cmakedefine SDL_VIDEO_DRIVER_X11_XRANDR @SDL_VIDEO_DRIVER_X11_XRANDR@
gabomdq@6674
   335
#cmakedefine SDL_VIDEO_DRIVER_X11_XSCRNSAVER @SDL_VIDEO_DRIVER_X11_XSCRNSAVER@
gabomdq@6674
   336
#cmakedefine SDL_VIDEO_DRIVER_X11_XSHAPE @SDL_VIDEO_DRIVER_X11_XSHAPE@
gabomdq@6674
   337
#cmakedefine SDL_VIDEO_DRIVER_X11_XVIDMODE @SDL_VIDEO_DRIVER_X11_XVIDMODE@
gabomdq@6674
   338
#cmakedefine SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS @SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS@
gabomdq@6674
   339
#cmakedefine SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY @SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY@
gabomdq@6674
   340
#cmakedefine SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM @SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM@
gabomdq@6674
   341
gabomdq@6674
   342
#cmakedefine SDL_VIDEO_RENDER_D3D @SDL_VIDEO_RENDER_D3D@
slouken@8591
   343
#cmakedefine SDL_VIDEO_RENDER_D3D11 @SDL_VIDEO_RENDER_D3D11@
gabomdq@6674
   344
#cmakedefine SDL_VIDEO_RENDER_OGL @SDL_VIDEO_RENDER_OGL@
gabomdq@6674
   345
#cmakedefine SDL_VIDEO_RENDER_OGL_ES @SDL_VIDEO_RENDER_OGL_ES@
gabomdq@6674
   346
#cmakedefine SDL_VIDEO_RENDER_OGL_ES2 @SDL_VIDEO_RENDER_OGL_ES2@
gabomdq@6674
   347
#cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
gabomdq@6674
   348
gabomdq@6674
   349
/* Enable OpenGL support */
gabomdq@6674
   350
#cmakedefine SDL_VIDEO_OPENGL @SDL_VIDEO_OPENGL@
gabomdq@6674
   351
#cmakedefine SDL_VIDEO_OPENGL_ES @SDL_VIDEO_OPENGL_ES@
icculus@7688
   352
#cmakedefine SDL_VIDEO_OPENGL_ES2 @SDL_VIDEO_OPENGL_ES2@
gabomdq@6674
   353
#cmakedefine SDL_VIDEO_OPENGL_BGL @SDL_VIDEO_OPENGL_BGL@
gabomdq@6674
   354
#cmakedefine SDL_VIDEO_OPENGL_CGL @SDL_VIDEO_OPENGL_CGL@
gabomdq@6674
   355
#cmakedefine SDL_VIDEO_OPENGL_GLX @SDL_VIDEO_OPENGL_GLX@
gabomdq@6674
   356
#cmakedefine SDL_VIDEO_OPENGL_WGL @SDL_VIDEO_OPENGL_WGL@
gabomdq@7690
   357
#cmakedefine SDL_VIDEO_OPENGL_EGL @SDL_VIDEO_OPENGL_EGL@
gabomdq@6674
   358
#cmakedefine SDL_VIDEO_OPENGL_OSMESA @SDL_VIDEO_OPENGL_OSMESA@
gabomdq@6674
   359
#cmakedefine SDL_VIDEO_OPENGL_OSMESA_DYNAMIC @SDL_VIDEO_OPENGL_OSMESA_DYNAMIC@
gabomdq@6674
   360
slouken@11381
   361
/* Enable Vulkan support */
slouken@11381
   362
#cmakedefine SDL_VIDEO_VULKAN @SDL_VIDEO_VULKAN@
icculus@11365
   363
gabomdq@6674
   364
/* Enable system power support */
icculus@9982
   365
#cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@
gabomdq@6674
   366
#cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@
gabomdq@6674
   367
#cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@
gabomdq@6674
   368
#cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@
icculus@7981
   369
#cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@
icculus@9278
   370
#cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@
gabomdq@6674
   371
#cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
gabomdq@6674
   372
icculus@7667
   373
/* Enable system filesystem support */
icculus@9982
   374
#cmakedefine SDL_FILESYSTEM_ANDROID @SDL_FILESYSTEM_ANDROID@
icculus@7981
   375
#cmakedefine SDL_FILESYSTEM_HAIKU @SDL_FILESYSTEM_HAIKU@
icculus@7667
   376
#cmakedefine SDL_FILESYSTEM_COCOA @SDL_FILESYSTEM_COCOA@
icculus@7667
   377
#cmakedefine SDL_FILESYSTEM_DUMMY @SDL_FILESYSTEM_DUMMY@
icculus@7667
   378
#cmakedefine SDL_FILESYSTEM_UNIX @SDL_FILESYSTEM_UNIX@
icculus@7667
   379
#cmakedefine SDL_FILESYSTEM_WINDOWS @SDL_FILESYSTEM_WINDOWS@
icculus@9278
   380
#cmakedefine SDL_FILESYSTEM_EMSCRIPTEN @SDL_FILESYSTEM_EMSCRIPTEN@
icculus@7667
   381
gabomdq@6674
   382
/* Enable assembly routines */
gabomdq@6674
   383
#cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
gabomdq@6674
   384
#cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
gabomdq@6674
   385
slouken@10777
   386
/* Enable dynamic libsamplerate support */
slouken@10777
   387
#cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@
gabomdq@6674
   388
gabomdq@6674
   389
/* Platform specific definitions */
gabomdq@6674
   390
#if !defined(__WIN32__)
gabomdq@6674
   391
#  if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
gabomdq@6674
   392
typedef unsigned int size_t;
gabomdq@6674
   393
typedef signed char int8_t;
gabomdq@6674
   394
typedef unsigned char uint8_t;
gabomdq@6674
   395
typedef signed short int16_t;
gabomdq@6674
   396
typedef unsigned short uint16_t;
gabomdq@6674
   397
typedef signed int int32_t;
gabomdq@6674
   398
typedef unsigned int uint32_t;
gabomdq@6674
   399
typedef signed long long int64_t;
gabomdq@6674
   400
typedef unsigned long long uint64_t;
gabomdq@6674
   401
typedef unsigned long uintptr_t;
gabomdq@6674
   402
#  endif /* if (stdint.h isn't available) */
gabomdq@6674
   403
#else /* __WIN32__ */
gabomdq@6674
   404
#  if !defined(_STDINT_H_) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
gabomdq@6674
   405
#    if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
gabomdq@6674
   406
#define HAVE_STDINT_H	1
gabomdq@6674
   407
#    elif defined(_MSC_VER)
gabomdq@6674
   408
typedef signed __int8 int8_t;
gabomdq@6674
   409
typedef unsigned __int8 uint8_t;
gabomdq@6674
   410
typedef signed __int16 int16_t;
gabomdq@6674
   411
typedef unsigned __int16 uint16_t;
gabomdq@6674
   412
typedef signed __int32 int32_t;
gabomdq@6674
   413
typedef unsigned __int32 uint32_t;
gabomdq@6674
   414
typedef signed __int64 int64_t;
gabomdq@6674
   415
typedef unsigned __int64 uint64_t;
gabomdq@6674
   416
#      ifndef _UINTPTR_T_DEFINED
gabomdq@6674
   417
#        ifdef  _WIN64
gabomdq@6674
   418
typedef unsigned __int64 uintptr_t;
gabomdq@6674
   419
#          else
gabomdq@6674
   420
typedef unsigned int uintptr_t;
gabomdq@6674
   421
#        endif
gabomdq@6674
   422
#define _UINTPTR_T_DEFINED
gabomdq@6674
   423
#      endif
gabomdq@6674
   424
/* Older Visual C++ headers don't have the Win64-compatible typedefs... */
gabomdq@6674
   425
#      if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
gabomdq@6674
   426
#define DWORD_PTR DWORD
gabomdq@6674
   427
#      endif
gabomdq@6674
   428
#      if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
gabomdq@6674
   429
#define LONG_PTR LONG
gabomdq@6674
   430
#      endif
gabomdq@6674
   431
#    else /* !__GNUC__ && !_MSC_VER */
gabomdq@6674
   432
typedef signed char int8_t;
gabomdq@6674
   433
typedef unsigned char uint8_t;
gabomdq@6674
   434
typedef signed short int16_t;
gabomdq@6674
   435
typedef unsigned short uint16_t;
gabomdq@6674
   436
typedef signed int int32_t;
gabomdq@6674
   437
typedef unsigned int uint32_t;
gabomdq@6674
   438
typedef signed long long int64_t;
gabomdq@6674
   439
typedef unsigned long long uint64_t;
gabomdq@6674
   440
#      ifndef _SIZE_T_DEFINED_
gabomdq@6674
   441
#define _SIZE_T_DEFINED_
gabomdq@6674
   442
typedef unsigned int size_t;
gabomdq@6674
   443
#      endif
gabomdq@6674
   444
typedef unsigned int uintptr_t;
gabomdq@6674
   445
#    endif /* __GNUC__ || _MSC_VER */
gabomdq@6674
   446
#  endif /* !_STDINT_H_ && !HAVE_STDINT_H */
gabomdq@6674
   447
#endif /* __WIN32__ */
gabomdq@6674
   448
slouken@10638
   449
#endif /* SDL_config_h_ */