Path: blob/main/system/include/SDL/SDL_config_windows.h
6169 views
/*1Simple DirectMedia Layer2Copyright (C) 1997-2011 Sam Lantinga <[email protected]>34This software is provided 'as-is', without any express or implied5warranty. In no event will the authors be held liable for any damages6arising from the use of this software.78Permission is granted to anyone to use this software for any purpose,9including commercial applications, and to alter it and redistribute it10freely, subject to the following restrictions:11121. The origin of this software must not be misrepresented; you must not13claim that you wrote the original software. If you use this software14in a product, an acknowledgment in the product documentation would be15appreciated but is not required.162. Altered source versions must be plainly marked as such, and must not be17misrepresented as being the original software.183. This notice may not be removed or altered from any source distribution.19*/2021#ifndef _SDL_config_windows_h22#define _SDL_config_windows_h2324#include "SDL_platform.h"2526/* This is a set of defines to configure the SDL features */2728#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)29#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)30#define HAVE_STDINT_H 131#elif defined(_MSC_VER)32typedef signed __int8 int8_t;33typedef unsigned __int8 uint8_t;34typedef signed __int16 int16_t;35typedef unsigned __int16 uint16_t;36typedef signed __int32 int32_t;37typedef unsigned __int32 uint32_t;38typedef signed __int64 int64_t;39typedef unsigned __int64 uint64_t;40#ifndef _UINTPTR_T_DEFINED41#ifdef _WIN6442typedef unsigned __int64 uintptr_t;43#else44typedef unsigned int uintptr_t;45#endif46#define _UINTPTR_T_DEFINED47#endif48/* Older Visual C++ headers don't have the Win64-compatible typedefs... */49#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))50#define DWORD_PTR DWORD51#endif52#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))53#define LONG_PTR LONG54#endif55#else /* !__GNUC__ && !_MSC_VER */56typedef signed char int8_t;57typedef unsigned char uint8_t;58typedef signed short int16_t;59typedef unsigned short uint16_t;60typedef signed int int32_t;61typedef unsigned int uint32_t;62typedef signed long long int64_t;63typedef unsigned long long uint64_t;64#ifndef _SIZE_T_DEFINED_65#define _SIZE_T_DEFINED_66typedef unsigned int size_t;67#endif68typedef unsigned int uintptr_t;69#endif /* __GNUC__ || _MSC_VER */70#endif /* !_STDINT_H_ && !HAVE_STDINT_H */7172#ifdef _WIN6473# define SIZEOF_VOIDP 874#else75# define SIZEOF_VOIDP 476#endif7778/* Enabled for SDL 1.2 (binary compatibility) */79//#define HAVE_LIBC 180#ifdef HAVE_LIBC81/* Useful headers */82#define HAVE_STDIO_H 183#define STDC_HEADERS 184#define HAVE_STRING_H 185#define HAVE_CTYPE_H 186#define HAVE_MATH_H 187#ifndef _WIN32_WCE88#define HAVE_SIGNAL_H 189#endif9091/* C library functions */92#define HAVE_MALLOC 193#define HAVE_CALLOC 194#define HAVE_REALLOC 195#define HAVE_FREE 196#define HAVE_ALLOCA 197#define HAVE_QSORT 198#define HAVE_ABS 199#define HAVE_MEMSET 1100#define HAVE_MEMCPY 1101#define HAVE_MEMMOVE 1102#define HAVE_MEMCMP 1103#define HAVE_STRLEN 1104#define HAVE__STRREV 1105#define HAVE__STRUPR 1106#define HAVE__STRLWR 1107#define HAVE_STRCHR 1108#define HAVE_STRRCHR 1109#define HAVE_STRSTR 1110#define HAVE_ITOA 1111#define HAVE__LTOA 1112#define HAVE__ULTOA 1113#define HAVE_STRTOL 1114#define HAVE_STRTOUL 1115#define HAVE_STRTOLL 1116#define HAVE_STRTOD 1117#define HAVE_ATOI 1118#define HAVE_ATOF 1119#define HAVE_STRCMP 1120#define HAVE_STRNCMP 1121#define HAVE__STRICMP 1122#define HAVE__STRNICMP 1123#define HAVE_SSCANF 1124#define HAVE_M_PI 1125#define HAVE_ATAN 1126#define HAVE_ATAN2 1127#define HAVE_CEIL 1128#define HAVE_COPYSIGN 1129#define HAVE_COS 1130#define HAVE_COSF 1131#define HAVE_FABS 1132#define HAVE_FLOOR 1133#define HAVE_LOG 1134#define HAVE_POW 1135#define HAVE_SCALBN 1136#define HAVE_SIN 1137#define HAVE_SINF 1138#define HAVE_SQRT 1139#else140#define HAVE_STDARG_H 1141#define HAVE_STDDEF_H 1142#endif143144/* Enable various audio drivers */145#ifndef _WIN32_WCE146#define SDL_AUDIO_DRIVER_DSOUND 1147#define SDL_AUDIO_DRIVER_XAUDIO2 1148#endif149#define SDL_AUDIO_DRIVER_WINMM 1150#define SDL_AUDIO_DRIVER_DISK 1151#define SDL_AUDIO_DRIVER_DUMMY 1152153/* Enable various input drivers */154#ifdef _WIN32_WCE155#define SDL_JOYSTICK_DISABLED 1156#define SDL_HAPTIC_DUMMY 1157#else158#define SDL_JOYSTICK_DINPUT 1159#define SDL_HAPTIC_DINPUT 1160#endif161162/* Enable various shared object loading systems */163#define SDL_LOADSO_WINDOWS 1164165/* Enable various threading systems */166#define SDL_THREAD_WINDOWS 1167168/* Enable various timer systems */169#ifdef _WIN32_WCE170#define SDL_TIMER_WINCE 1171#else172#define SDL_TIMER_WINDOWS 1173#endif174175/* Enable various video drivers */176#define SDL_VIDEO_DRIVER_DUMMY 1177#define SDL_VIDEO_DRIVER_WINDOWS 1178179#ifndef _WIN32_WCE180#ifndef SDL_VIDEO_RENDER_D3D181#define SDL_VIDEO_RENDER_D3D 1182#endif183#endif184185/* Enable OpenGL support */186#ifndef _WIN32_WCE187#ifndef SDL_VIDEO_OPENGL188#define SDL_VIDEO_OPENGL 1189#endif190#ifndef SDL_VIDEO_OPENGL_WGL191#define SDL_VIDEO_OPENGL_WGL 1192#endif193#ifndef SDL_VIDEO_RENDER_OGL194#define SDL_VIDEO_RENDER_OGL 1195#endif196#endif197198/* Enable system power support */199#define SDL_POWER_WINDOWS 1200201/* Enable assembly routines (Win64 doesn't have inline asm) */202#ifndef _WIN64203#define SDL_ASSEMBLY_ROUTINES 1204#endif205206#endif /* _SDL_config_windows_h */207208209