1/* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2012 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@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) 33typedef signed __int8 int8_t; 34typedef unsigned __int8 uint8_t; 35typedef signed __int16 int16_t; 36typedef unsigned __int16 uint16_t; 37typedef signed __int32 int32_t; 38typedef unsigned __int32 uint32_t; 39typedef signed __int64 int64_t; 40typedef unsigned __int64 uint64_t; 41#ifndef _UINTPTR_T_DEFINED 42#ifdef _WIN64 43typedef unsigned __int64 uintptr_t; 44#else 45typedef 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 */ 57typedef signed char int8_t; 58typedef unsigned char uint8_t; 59typedef signed short int16_t; 60typedef unsigned short uint16_t; 61typedef signed int int32_t; 62typedef unsigned int uint32_t; 63typedef signed long long int64_t; 64typedef unsigned long long uint64_t; 65#ifndef _SIZE_T_DEFINED_ 66#define _SIZE_T_DEFINED_ 67typedef unsigned int size_t; 68#endif 69typedef 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/* Disable screensaver */ 176#define SDL_VIDEO_DISABLE_SCREENSAVER 1 177 178/* Enable assembly routines (Win64 doesn't have inline asm) */ 179#ifndef _WIN64 180#define SDL_ASSEMBLY_ROUTINES 1 181#endif 182 183#endif /* _SDL_config_win32_h */ 184