diff options
author | Johannes Schickel | 2015-02-18 04:52:01 +0100 |
---|---|---|
committer | Johannes Schickel | 2015-02-18 05:24:45 +0100 |
commit | 71cc9e41e8e61e560ed5cb8e1fe1d0c539f001be (patch) | |
tree | d379df4e0f79bcbaee8b78cb783d9ae6ca4a4671 /backends/platform/sdl/sdl-sys.h | |
parent | 6ed60538c68a4ec098da30cad39c16770610e5e3 (diff) | |
download | scummvm-rg350-71cc9e41e8e61e560ed5cb8e1fe1d0c539f001be.tar.gz scummvm-rg350-71cc9e41e8e61e560ed5cb8e1fe1d0c539f001be.tar.bz2 scummvm-rg350-71cc9e41e8e61e560ed5cb8e1fe1d0c539f001be.zip |
WINCE: Fix compilation.
Diffstat (limited to 'backends/platform/sdl/sdl-sys.h')
-rw-r--r-- | backends/platform/sdl/sdl-sys.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/backends/platform/sdl/sdl-sys.h b/backends/platform/sdl/sdl-sys.h index bc3678e350..59952323f4 100644 --- a/backends/platform/sdl/sdl-sys.h +++ b/backends/platform/sdl/sdl-sys.h @@ -52,12 +52,49 @@ typedef struct { int FAKE; } FAKE_FILE; #define strncasecmp FAKE_strncasecmp #endif +// HACK: SDL might include windows.h which defines its own ARRAYSIZE. +// However, we want to use the version from common/util.h. Thus, we make sure +// that we actually have this definition after including the SDL headers. +#if defined(ARRAYSIZE) && defined(COMMON_UTIL_H) +#define HACK_REDEFINE_ARRAYSIZE +#undef ARRAYSIZE +#endif + #if defined(__SYMBIAN32__) #include <esdl\SDL.h> #else #include <SDL.h> #endif +#include <SDL_syswm.h> +// SDL_syswm.h will include windows.h on Win32. We need to undefine its +// ARRAYSIZE definition because we supply our own. +#undef ARRAYSIZE + +#ifdef HACK_REDEFINE_ARRAYSIZE +#undef HACK_REDEFINE_ARRAYSIZE +#define ARRAYSIZE(x) ((int)(sizeof(x) / sizeof(x[0]))) +#endif + +// In a moment of brilliance Xlib.h included by SDL_syswm.h #defines the +// following names. In a moment of mental breakdown, which occured upon +// gazing at Xlib.h, LordHoto decided to undefine them to prevent havoc. +#ifdef Status +#undef Status +#endif + +#ifdef Bool +#undef Bool +#endif + +#ifdef True +#undef True +#endif + +#ifdef False +#undef False +#endif + // Finally forbid FILE again (if it was forbidden to start with) #if !defined(FORBIDDEN_SYMBOL_ALLOW_ALL) && !defined(FORBIDDEN_SYMBOL_EXCEPTION_FILE) #undef FILE |