SDL standard library

Dependents:   H261_encoder

Committer:
miruga27
Date:
Wed Sep 07 18:46:53 2016 +0000
Revision:
0:dda4f4550403
7/09/2016;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miruga27 0:dda4f4550403 1 /*
miruga27 0:dda4f4550403 2 Simple DirectMedia Layer
miruga27 0:dda4f4550403 3 Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
miruga27 0:dda4f4550403 4
miruga27 0:dda4f4550403 5 This software is provided 'as-is', without any express or implied
miruga27 0:dda4f4550403 6 warranty. In no event will the authors be held liable for any damages
miruga27 0:dda4f4550403 7 arising from the use of this software.
miruga27 0:dda4f4550403 8
miruga27 0:dda4f4550403 9 Permission is granted to anyone to use this software for any purpose,
miruga27 0:dda4f4550403 10 including commercial applications, and to alter it and redistribute it
miruga27 0:dda4f4550403 11 freely, subject to the following restrictions:
miruga27 0:dda4f4550403 12
miruga27 0:dda4f4550403 13 1. The origin of this software must not be misrepresented; you must not
miruga27 0:dda4f4550403 14 claim that you wrote the original software. If you use this software
miruga27 0:dda4f4550403 15 in a product, an acknowledgment in the product documentation would be
miruga27 0:dda4f4550403 16 appreciated but is not required.
miruga27 0:dda4f4550403 17 2. Altered source versions must be plainly marked as such, and must not be
miruga27 0:dda4f4550403 18 misrepresented as being the original software.
miruga27 0:dda4f4550403 19 3. This notice may not be removed or altered from any source distribution.
miruga27 0:dda4f4550403 20 */
miruga27 0:dda4f4550403 21
miruga27 0:dda4f4550403 22 #ifndef _SDL_config_windows_h
miruga27 0:dda4f4550403 23 #define _SDL_config_windows_h
miruga27 0:dda4f4550403 24
miruga27 0:dda4f4550403 25 #include "SDL_platform.h"
miruga27 0:dda4f4550403 26
miruga27 0:dda4f4550403 27 /* This is a set of defines to configure the SDL features */
miruga27 0:dda4f4550403 28
miruga27 0:dda4f4550403 29 #if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
miruga27 0:dda4f4550403 30 #if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
miruga27 0:dda4f4550403 31 #define HAVE_STDINT_H 1
miruga27 0:dda4f4550403 32 #elif defined(_MSC_VER)
miruga27 0:dda4f4550403 33 typedef signed __int8 int8_t;
miruga27 0:dda4f4550403 34 typedef unsigned __int8 uint8_t;
miruga27 0:dda4f4550403 35 typedef signed __int16 int16_t;
miruga27 0:dda4f4550403 36 typedef unsigned __int16 uint16_t;
miruga27 0:dda4f4550403 37 typedef signed __int32 int32_t;
miruga27 0:dda4f4550403 38 typedef unsigned __int32 uint32_t;
miruga27 0:dda4f4550403 39 typedef signed __int64 int64_t;
miruga27 0:dda4f4550403 40 typedef unsigned __int64 uint64_t;
miruga27 0:dda4f4550403 41 #ifndef _UINTPTR_T_DEFINED
miruga27 0:dda4f4550403 42 #ifdef _WIN64
miruga27 0:dda4f4550403 43 typedef unsigned __int64 uintptr_t;
miruga27 0:dda4f4550403 44 #else
miruga27 0:dda4f4550403 45 typedef unsigned int uintptr_t;
miruga27 0:dda4f4550403 46 #endif
miruga27 0:dda4f4550403 47 #define _UINTPTR_T_DEFINED
miruga27 0:dda4f4550403 48 #endif
miruga27 0:dda4f4550403 49 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */
miruga27 0:dda4f4550403 50 #if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
miruga27 0:dda4f4550403 51 #define DWORD_PTR DWORD
miruga27 0:dda4f4550403 52 #endif
miruga27 0:dda4f4550403 53 #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
miruga27 0:dda4f4550403 54 #define LONG_PTR LONG
miruga27 0:dda4f4550403 55 #endif
miruga27 0:dda4f4550403 56 #else /* !__GNUC__ && !_MSC_VER */
miruga27 0:dda4f4550403 57 typedef signed char int8_t;
miruga27 0:dda4f4550403 58 typedef unsigned char uint8_t;
miruga27 0:dda4f4550403 59 typedef signed short int16_t;
miruga27 0:dda4f4550403 60 typedef unsigned short uint16_t;
miruga27 0:dda4f4550403 61 typedef signed int int32_t;
miruga27 0:dda4f4550403 62 typedef unsigned int uint32_t;
miruga27 0:dda4f4550403 63 typedef signed long long int64_t;
miruga27 0:dda4f4550403 64 typedef unsigned long long uint64_t;
miruga27 0:dda4f4550403 65 #ifndef _SIZE_T_DEFINED_
miruga27 0:dda4f4550403 66 #define _SIZE_T_DEFINED_
miruga27 0:dda4f4550403 67 typedef unsigned int size_t;
miruga27 0:dda4f4550403 68 #endif
miruga27 0:dda4f4550403 69 typedef unsigned int uintptr_t;
miruga27 0:dda4f4550403 70 #endif /* __GNUC__ || _MSC_VER */
miruga27 0:dda4f4550403 71 #endif /* !_STDINT_H_ && !HAVE_STDINT_H */
miruga27 0:dda4f4550403 72
miruga27 0:dda4f4550403 73 #ifdef _WIN64
miruga27 0:dda4f4550403 74 # define SIZEOF_VOIDP 8
miruga27 0:dda4f4550403 75 #else
miruga27 0:dda4f4550403 76 # define SIZEOF_VOIDP 4
miruga27 0:dda4f4550403 77 #endif
miruga27 0:dda4f4550403 78
miruga27 0:dda4f4550403 79 /* This is disabled by default to avoid C runtime dependencies and manifest requirements */
miruga27 0:dda4f4550403 80 #ifdef HAVE_LIBC
miruga27 0:dda4f4550403 81 /* Useful headers */
miruga27 0:dda4f4550403 82 #define HAVE_STDIO_H 1
miruga27 0:dda4f4550403 83 #define STDC_HEADERS 1
miruga27 0:dda4f4550403 84 #define HAVE_STRING_H 1
miruga27 0:dda4f4550403 85 #define HAVE_CTYPE_H 1
miruga27 0:dda4f4550403 86 #define HAVE_MATH_H 1
miruga27 0:dda4f4550403 87 #define HAVE_SIGNAL_H 1
miruga27 0:dda4f4550403 88
miruga27 0:dda4f4550403 89 /* C library functions */
miruga27 0:dda4f4550403 90 #define HAVE_MALLOC 1
miruga27 0:dda4f4550403 91 #define HAVE_CALLOC 1
miruga27 0:dda4f4550403 92 #define HAVE_REALLOC 1
miruga27 0:dda4f4550403 93 #define HAVE_FREE 1
miruga27 0:dda4f4550403 94 #define HAVE_ALLOCA 1
miruga27 0:dda4f4550403 95 #define HAVE_QSORT 1
miruga27 0:dda4f4550403 96 #define HAVE_ABS 1
miruga27 0:dda4f4550403 97 #define HAVE_MEMSET 1
miruga27 0:dda4f4550403 98 #define HAVE_MEMCPY 1
miruga27 0:dda4f4550403 99 #define HAVE_MEMMOVE 1
miruga27 0:dda4f4550403 100 #define HAVE_MEMCMP 1
miruga27 0:dda4f4550403 101 #define HAVE_STRLEN 1
miruga27 0:dda4f4550403 102 #define HAVE__STRREV 1
miruga27 0:dda4f4550403 103 #define HAVE__STRUPR 1
miruga27 0:dda4f4550403 104 #define HAVE__STRLWR 1
miruga27 0:dda4f4550403 105 #define HAVE_STRCHR 1
miruga27 0:dda4f4550403 106 #define HAVE_STRRCHR 1
miruga27 0:dda4f4550403 107 #define HAVE_STRSTR 1
miruga27 0:dda4f4550403 108 #define HAVE__LTOA 1
miruga27 0:dda4f4550403 109 #define HAVE__ULTOA 1
miruga27 0:dda4f4550403 110 #define HAVE_STRTOL 1
miruga27 0:dda4f4550403 111 #define HAVE_STRTOUL 1
miruga27 0:dda4f4550403 112 #define HAVE_STRTOD 1
miruga27 0:dda4f4550403 113 #define HAVE_ATOI 1
miruga27 0:dda4f4550403 114 #define HAVE_ATOF 1
miruga27 0:dda4f4550403 115 #define HAVE_STRCMP 1
miruga27 0:dda4f4550403 116 #define HAVE_STRNCMP 1
miruga27 0:dda4f4550403 117 #define HAVE__STRICMP 1
miruga27 0:dda4f4550403 118 #define HAVE__STRNICMP 1
miruga27 0:dda4f4550403 119 #define HAVE_ATAN 1
miruga27 0:dda4f4550403 120 #define HAVE_ATAN2 1
miruga27 0:dda4f4550403 121 #define HAVE_ACOS 1
miruga27 0:dda4f4550403 122 #define HAVE_ASIN 1
miruga27 0:dda4f4550403 123 #define HAVE_CEIL 1
miruga27 0:dda4f4550403 124 #define HAVE_COS 1
miruga27 0:dda4f4550403 125 #define HAVE_COSF 1
miruga27 0:dda4f4550403 126 #define HAVE_FABS 1
miruga27 0:dda4f4550403 127 #define HAVE_FLOOR 1
miruga27 0:dda4f4550403 128 #define HAVE_LOG 1
miruga27 0:dda4f4550403 129 #define HAVE_POW 1
miruga27 0:dda4f4550403 130 #define HAVE_SIN 1
miruga27 0:dda4f4550403 131 #define HAVE_SINF 1
miruga27 0:dda4f4550403 132 #define HAVE_SQRT 1
miruga27 0:dda4f4550403 133 #if _MSC_VER >= 1800
miruga27 0:dda4f4550403 134 #define HAVE_STRTOLL 1
miruga27 0:dda4f4550403 135 #define HAVE_VSSCANF 1
miruga27 0:dda4f4550403 136 #define HAVE_COPYSIGN 1
miruga27 0:dda4f4550403 137 #define HAVE_SCALBN 1
miruga27 0:dda4f4550403 138 #endif
miruga27 0:dda4f4550403 139 #if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES)
miruga27 0:dda4f4550403 140 #define HAVE_M_PI 1
miruga27 0:dda4f4550403 141 #endif
miruga27 0:dda4f4550403 142 #else
miruga27 0:dda4f4550403 143 #define HAVE_STDARG_H 1
miruga27 0:dda4f4550403 144 #define HAVE_STDDEF_H 1
miruga27 0:dda4f4550403 145 #endif
miruga27 0:dda4f4550403 146
miruga27 0:dda4f4550403 147 /* Enable various audio drivers */
miruga27 0:dda4f4550403 148 #define SDL_AUDIO_DRIVER_DSOUND 1
miruga27 0:dda4f4550403 149 #define SDL_AUDIO_DRIVER_XAUDIO2 1
miruga27 0:dda4f4550403 150 #define SDL_AUDIO_DRIVER_WINMM 1
miruga27 0:dda4f4550403 151 #define SDL_AUDIO_DRIVER_DISK 1
miruga27 0:dda4f4550403 152 #define SDL_AUDIO_DRIVER_DUMMY 1
miruga27 0:dda4f4550403 153
miruga27 0:dda4f4550403 154 /* Enable various input drivers */
miruga27 0:dda4f4550403 155 #define SDL_JOYSTICK_DINPUT 1
miruga27 0:dda4f4550403 156 #define SDL_HAPTIC_DINPUT 1
miruga27 0:dda4f4550403 157
miruga27 0:dda4f4550403 158 /* Enable various shared object loading systems */
miruga27 0:dda4f4550403 159 #define SDL_LOADSO_WINDOWS 1
miruga27 0:dda4f4550403 160
miruga27 0:dda4f4550403 161 /* Enable various threading systems */
miruga27 0:dda4f4550403 162 #define SDL_THREAD_WINDOWS 1
miruga27 0:dda4f4550403 163
miruga27 0:dda4f4550403 164 /* Enable various timer systems */
miruga27 0:dda4f4550403 165 #define SDL_TIMER_WINDOWS 1
miruga27 0:dda4f4550403 166
miruga27 0:dda4f4550403 167 /* Enable various video drivers */
miruga27 0:dda4f4550403 168 #define SDL_VIDEO_DRIVER_DUMMY 1
miruga27 0:dda4f4550403 169 #define SDL_VIDEO_DRIVER_WINDOWS 1
miruga27 0:dda4f4550403 170
miruga27 0:dda4f4550403 171 #ifndef SDL_VIDEO_RENDER_D3D
miruga27 0:dda4f4550403 172 #define SDL_VIDEO_RENDER_D3D 1
miruga27 0:dda4f4550403 173 #endif
miruga27 0:dda4f4550403 174
miruga27 0:dda4f4550403 175 /* Enable OpenGL support */
miruga27 0:dda4f4550403 176 #ifndef SDL_VIDEO_OPENGL
miruga27 0:dda4f4550403 177 #define SDL_VIDEO_OPENGL 1
miruga27 0:dda4f4550403 178 #endif
miruga27 0:dda4f4550403 179 #ifndef SDL_VIDEO_OPENGL_WGL
miruga27 0:dda4f4550403 180 #define SDL_VIDEO_OPENGL_WGL 1
miruga27 0:dda4f4550403 181 #endif
miruga27 0:dda4f4550403 182 #ifndef SDL_VIDEO_RENDER_OGL
miruga27 0:dda4f4550403 183 #define SDL_VIDEO_RENDER_OGL 1
miruga27 0:dda4f4550403 184 #endif
miruga27 0:dda4f4550403 185 #ifndef SDL_VIDEO_RENDER_OGL_ES2
miruga27 0:dda4f4550403 186 #define SDL_VIDEO_RENDER_OGL_ES2 1
miruga27 0:dda4f4550403 187 #endif
miruga27 0:dda4f4550403 188 #ifndef SDL_VIDEO_OPENGL_ES2
miruga27 0:dda4f4550403 189 #define SDL_VIDEO_OPENGL_ES2 1
miruga27 0:dda4f4550403 190 #endif
miruga27 0:dda4f4550403 191 #ifndef SDL_VIDEO_OPENGL_EGL
miruga27 0:dda4f4550403 192 #define SDL_VIDEO_OPENGL_EGL 1
miruga27 0:dda4f4550403 193 #endif
miruga27 0:dda4f4550403 194
miruga27 0:dda4f4550403 195
miruga27 0:dda4f4550403 196 /* Enable system power support */
miruga27 0:dda4f4550403 197 #define SDL_POWER_WINDOWS 1
miruga27 0:dda4f4550403 198
miruga27 0:dda4f4550403 199 /* Enable filesystem support */
miruga27 0:dda4f4550403 200 #define SDL_FILESYSTEM_WINDOWS 1
miruga27 0:dda4f4550403 201
miruga27 0:dda4f4550403 202 /* Enable assembly routines (Win64 doesn't have inline asm) */
miruga27 0:dda4f4550403 203 #ifndef _WIN64
miruga27 0:dda4f4550403 204 #define SDL_ASSEMBLY_ROUTINES 1
miruga27 0:dda4f4550403 205 #endif
miruga27 0:dda4f4550403 206
miruga27 0:dda4f4550403 207 #endif /* _SDL_config_windows_h */