1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2006 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken (at) libsdl.org 21 */ 22 23 #ifndef _SDL_config_win32_h 24 #define _SDL_config_win32_h 25 26 #include "SDL_platform.h" 27 28 /* This is a set of defines to configure the SDL features */ 29 30 #if defined(__GNUC__) || defined(__DMC__) 31 #define HAVE_STDINT_H 1 32 #elif defined(_MSC_VER) 33 typedef signed __int8 int8_t; 34 typedef unsigned __int8 uint8_t; 35 typedef signed __int16 int16_t; 36 typedef unsigned __int16 uint16_t; 37 typedef signed __int32 int32_t; 38 typedef unsigned __int32 uint32_t; 39 typedef signed __int64 int64_t; 40 typedef unsigned __int64 uint64_t; 41 #ifndef _UINTPTR_T_DEFINED 42 #ifdef _WIN64 43 typedef unsigned __int64 uintptr_t; 44 #else 45 typedef unsigned int uintptr_t; 46 #endif 47 #define _UINTPTR_T_DEFINED 48 #endif 49 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */ 50 #if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) 51 #define DWORD_PTR DWORD 52 #endif 53 #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) 54 #define LONG_PTR LONG 55 #endif 56 #else /* !__GNUC__ && !_MSC_VER */ 57 typedef signed char int8_t; 58 typedef unsigned char uint8_t; 59 typedef signed short int16_t; 60 typedef unsigned short uint16_t; 61 typedef signed int int32_t; 62 typedef unsigned int uint32_t; 63 typedef signed long long int64_t; 64 typedef unsigned long long uint64_t; 65 #ifndef _SIZE_T_DEFINED_ 66 #define _SIZE_T_DEFINED_ 67 typedef unsigned int size_t; 68 #endif 69 typedef unsigned int uintptr_t; 70 #endif /* __GNUC__ || _MSC_VER */ 71 #define SDL_HAS_64BIT_TYPE 1 72 73 /* Enabled for SDL 1.2 (binary compatibility) */ 74 #define HAVE_LIBC 1 75 #ifdef HAVE_LIBC 76 /* Useful headers */ 77 #define HAVE_STDIO_H 1 78 #define STDC_HEADERS 1 79 #define HAVE_STRING_H 1 80 #define HAVE_CTYPE_H 1 81 #define HAVE_MATH_H 1 82 #ifndef _WIN32_WCE 83 #define HAVE_SIGNAL_H 1 84 #endif 85 86 /* C library functions */ 87 #define HAVE_MALLOC 1 88 #define HAVE_CALLOC 1 89 #define HAVE_REALLOC 1 90 #define HAVE_FREE 1 91 #define HAVE_ALLOCA 1 92 #define HAVE_QSORT 1 93 #define HAVE_ABS 1 94 #define HAVE_MEMSET 1 95 #define HAVE_MEMCPY 1 96 #define HAVE_MEMMOVE 1 97 #define HAVE_MEMCMP 1 98 #define HAVE_STRLEN 1 99 #define HAVE__STRREV 1 100 #define HAVE__STRUPR 1 101 #define HAVE__STRLWR 1 102 #define HAVE_STRCHR 1 103 #define HAVE_STRRCHR 1 104 #define HAVE_STRSTR 1 105 #define HAVE_ITOA 1 106 #define HAVE__LTOA 1 107 #define HAVE__ULTOA 1 108 #define HAVE_STRTOL 1 109 #define HAVE_STRTOUL 1 110 #define HAVE_STRTOLL 1 111 #define HAVE_STRTOD 1 112 #define HAVE_ATOI 1 113 #define HAVE_ATOF 1 114 #define HAVE_STRCMP 1 115 #define HAVE_STRNCMP 1 116 #define HAVE__STRICMP 1 117 #define HAVE__STRNICMP 1 118 #define HAVE_SSCANF 1 119 #else 120 #define HAVE_STDARG_H 1 121 #define HAVE_STDDEF_H 1 122 #endif 123 124 /* Enable various audio drivers */ 125 #ifndef _WIN32_WCE 126 #define SDL_AUDIO_DRIVER_DSOUND 1 127 #endif 128 #define SDL_AUDIO_DRIVER_WAVEOUT 1 129 #define SDL_AUDIO_DRIVER_DISK 1 130 #define SDL_AUDIO_DRIVER_DUMMY 1 131 132 /* Enable various cdrom drivers */ 133 #ifdef _WIN32_WCE 134 #define SDL_CDROM_DISABLED 1 135 #else 136 #define SDL_CDROM_WIN32 1 137 #endif 138 139 /* Enable various input drivers */ 140 #ifdef _WIN32_WCE 141 #define SDL_JOYSTICK_DISABLED 1 142 #else 143 #define SDL_JOYSTICK_WINMM 1 144 #endif 145 146 /* Enable various shared object loading systems */ 147 #define SDL_LOADSO_WIN32 1 148 149 /* Enable various threading systems */ 150 #define SDL_THREAD_WIN32 1 151 152 /* Enable various timer systems */ 153 #ifdef _WIN32_WCE 154 #define SDL_TIMER_WINCE 1 155 #else 156 #define SDL_TIMER_WIN32 1 157 #endif 158 159 /* Enable various video drivers */ 160 #ifdef _WIN32_WCE 161 #define SDL_VIDEO_DRIVER_GAPI 1 162 #endif 163 #ifndef _WIN32_WCE 164 #define SDL_VIDEO_DRIVER_DDRAW 1 165 #endif 166 #define SDL_VIDEO_DRIVER_DUMMY 1 167 #define SDL_VIDEO_DRIVER_WINDIB 1 168 169 /* Enable OpenGL support */ 170 #ifndef _WIN32_WCE 171 #define SDL_VIDEO_OPENGL 1 172 #define SDL_VIDEO_OPENGL_WGL 1 173 #endif 174 175 /* Enable assembly routines (Win64 doesn't have inline asm) */ 176 #ifndef _WIN64 177 #define SDL_ASSEMBLY_ROUTINES 1 178 #endif 179 180 #endif /* _SDL_config_win32_h */ 181