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