This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_config_windows.h
208 lines (186 loc) · 5.02 KB
1
2
/*
SDL - Simple DirectMedia Layer
3
Copyright (C) 1997-2011 Sam Lantinga
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
*/
23
24
#ifndef _SDL_config_windows_h
#define _SDL_config_windows_h
25
26
#include "SDL_platform.h"
27
28
29
/* This is a set of defines to configure the SDL features */
30
#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
31
#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
32
33
#define HAVE_STDINT_H 1
#elif defined(_MSC_VER)
34
35
36
37
38
39
40
41
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;
42
43
#ifndef _UINTPTR_T_DEFINED
#ifdef _WIN64
44
typedef unsigned __int64 uintptr_t;
45
#else
46
typedef unsigned int uintptr_t;
47
#endif
48
#define _UINTPTR_T_DEFINED
49
#endif
50
51
52
53
54
55
56
/* 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
57
#else /* !__GNUC__ && !_MSC_VER */
58
59
60
61
62
63
64
65
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;
66
67
#ifndef _SIZE_T_DEFINED_
#define _SIZE_T_DEFINED_
68
typedef unsigned int size_t;
69
#endif
70
typedef unsigned int uintptr_t;
71
#endif /* __GNUC__ || _MSC_VER */
72
#endif /* !_STDINT_H_ && !HAVE_STDINT_H */
73
74
75
76
77
78
#ifdef _WIN64
# define SIZEOF_VOIDP 8
#else
# define SIZEOF_VOIDP 4
#endif
79
80
#define SDL_HAS_64BIT_TYPE 1
81
/* Enabled for SDL 1.2 (binary compatibility) */
82
//#define HAVE_LIBC 1
83
#ifdef HAVE_LIBC
84
/* Useful headers */
85
86
87
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
#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
124
#define HAVE__STRICMP 1
125
#define HAVE__STRNICMP 1
126
#define HAVE_SSCANF 1
127
#define HAVE_M_PI 1
128
129
#define HAVE_ATAN 1
#define HAVE_ATAN2 1
130
#define HAVE_CEIL 1
131
132
133
134
135
136
137
138
139
140
141
#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
142
#else
143
144
#define HAVE_STDARG_H 1
#define HAVE_STDDEF_H 1
145
#endif
146
147
148
149
150
/* Enable various audio drivers */
#ifndef _WIN32_WCE
#define SDL_AUDIO_DRIVER_DSOUND 1
#endif
151
#define SDL_AUDIO_DRIVER_WINWAVEOUT 1
152
153
#define SDL_AUDIO_DRIVER_DISK 1
#define SDL_AUDIO_DRIVER_DUMMY 1
154
155
/* Enable various input drivers */
156
#ifdef _WIN32_WCE
157
#define SDL_JOYSTICK_DISABLED 1
158
#define SDL_HAPTIC_DUMMY 1
159
#else
160
#define SDL_JOYSTICK_DINPUT 1
161
#define SDL_HAPTIC_DINPUT 1
162
#endif
163
164
/* Enable various shared object loading systems */
165
#define SDL_LOADSO_WINDOWS 1
166
167
/* Enable various threading systems */
168
#define SDL_THREAD_WINDOWS 1
169
170
171
172
173
/* Enable various timer systems */
#ifdef _WIN32_WCE
#define SDL_TIMER_WINCE 1
#else
174
#define SDL_TIMER_WINDOWS 1
175
176
177
#endif
/* Enable various video drivers */
178
#define SDL_VIDEO_DRIVER_DUMMY 1
179
#define SDL_VIDEO_DRIVER_WINDOWS 1
180
181
#ifndef _WIN32_WCE
182
#ifndef SDL_VIDEO_RENDER_D3D
183
#define SDL_VIDEO_RENDER_D3D 1
184
#endif
185
#endif
186
187
/* Enable OpenGL support */
188
#ifndef _WIN32_WCE
189
#ifndef SDL_VIDEO_OPENGL
190
#define SDL_VIDEO_OPENGL 1
191
192
#endif
#ifndef SDL_VIDEO_OPENGL_WGL
193
#define SDL_VIDEO_OPENGL_WGL 1
194
195
#endif
#ifndef SDL_VIDEO_RENDER_OGL
196
#define SDL_VIDEO_RENDER_OGL 1
197
#endif
198
#endif
199
200
201
202
/* Enable system power support */
#define SDL_POWER_WINDOWS 1
203
204
/* Enable assembly routines (Win64 doesn't have inline asm) */
#ifndef _WIN64
205
#define SDL_ASSEMBLY_ROUTINES 1
206
#endif
207
208
#endif /* _SDL_config_windows_h */