Skip to content

Commit d2e79de

Browse files
authored
Add SDL_config file for emscripten (#17487)
I noticed that we lacked such a thing while working on #17475. It turns out that system header are technically allowed to redefine macros without generating a warning, but when I made the SDL header tree into a normal `-I` path I noticed that `M_PI` was being duplicately defined because we were not defining `HAVE_M_PI`. This list of defines is taken from `SDL_config_iphoneos.h` and a visual inspection seems to confirm that we do indeed support all the specified features.
1 parent e17c7f2 commit d2e79de

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

system/include/SDL/SDL_config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#include "SDL_config_android.h"
4242
#elif defined(__NINTENDODS__)
4343
#include "SDL_config_nintendods.h"
44+
#elif defined(__EMSCRIPTEN__)
45+
#include "SDL_config_emscripten.h"
4446
#else
4547
#include "SDL_config_minimal.h"
4648
#endif /* platform config */
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#ifndef _SDL_config_emscripten_h
2+
#define _SDL_config_emscripten_h
3+
4+
#include "SDL_platform.h"
5+
#include "SDL_config_minimal.h"
6+
7+
#define HAVE_GCC_ATOMICS 1
8+
9+
#define HAVE_ALLOCA_H 1
10+
#define HAVE_SYS_TYPES_H 1
11+
#define HAVE_STDIO_H 1
12+
#define STDC_HEADERS 1
13+
#define HAVE_STRING_H 1
14+
#define HAVE_INTTYPES_H 1
15+
#define HAVE_STDINT_H 1
16+
#define HAVE_CTYPE_H 1
17+
#define HAVE_MATH_H 1
18+
#define HAVE_SIGNAL_H 1
19+
20+
/* C library functions */
21+
#define HAVE_MALLOC 1
22+
#define HAVE_CALLOC 1
23+
#define HAVE_REALLOC 1
24+
#define HAVE_FREE 1
25+
#define HAVE_ALLOCA 1
26+
#define HAVE_GETENV 1
27+
#define HAVE_SETENV 1
28+
#define HAVE_PUTENV 1
29+
#define HAVE_SETENV 1
30+
#define HAVE_UNSETENV 1
31+
#define HAVE_QSORT 1
32+
#define HAVE_ABS 1
33+
#define HAVE_BCOPY 1
34+
#define HAVE_MEMSET 1
35+
#define HAVE_MEMCPY 1
36+
#define HAVE_MEMMOVE 1
37+
#define HAVE_MEMCMP 1
38+
#define HAVE_STRLEN 1
39+
#define HAVE_STRLCPY 1
40+
#define HAVE_STRLCAT 1
41+
#define HAVE_STRDUP 1
42+
#define HAVE_STRCHR 1
43+
#define HAVE_STRRCHR 1
44+
#define HAVE_STRSTR 1
45+
#define HAVE_STRTOL 1
46+
#define HAVE_STRTOUL 1
47+
#define HAVE_STRTOLL 1
48+
#define HAVE_STRTOULL 1
49+
#define HAVE_STRTOD 1
50+
#define HAVE_ATOI 1
51+
#define HAVE_ATOF 1
52+
#define HAVE_STRCMP 1
53+
#define HAVE_STRNCMP 1
54+
#define HAVE_STRCASECMP 1
55+
#define HAVE_STRNCASECMP 1
56+
#define HAVE_SSCANF 1
57+
#define HAVE_SNPRINTF 1
58+
#define HAVE_VSNPRINTF 1
59+
#define HAVE_M_PI 1
60+
#define HAVE_ATAN 1
61+
#define HAVE_ATAN2 1
62+
#define HAVE_CEIL 1
63+
#define HAVE_COPYSIGN 1
64+
#define HAVE_COS 1
65+
#define HAVE_COSF 1
66+
#define HAVE_FABS 1
67+
#define HAVE_FLOOR 1
68+
#define HAVE_LOG 1
69+
#define HAVE_POW 1
70+
#define HAVE_SCALBN 1
71+
#define HAVE_SIN 1
72+
#define HAVE_SINF 1
73+
#define HAVE_SQRT 1
74+
#define HAVE_NANOSLEEP 1
75+
76+
#endif /* _SDL_config_emscripten_h */

0 commit comments

Comments
 (0)