diff --git a/configure.in b/configure.in index ab8c29077..1f6846256 100644 --- a/configure.in +++ b/configure.in @@ -418,7 +418,16 @@ AC_HELP_STRING([--enable-mmx], [use MMX assembly routines [[default=yes]]]), CFLAGS="$save_CFLAGS $mmx_CFLAGS" AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else #include + #endif + #else + #include + #endif #ifndef __MMX__ #error Assembler CPP flag not enabled #endif @@ -472,7 +481,16 @@ AC_HELP_STRING([--enable-sse], [use SSE assembly routines [[default=yes]]]), CFLAGS="$save_CFLAGS $sse_CFLAGS" AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else #include + #endif + #else + #include + #endif #ifndef __SSE__ #error Assembler CPP flag not enabled #endif @@ -499,7 +517,16 @@ AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=no]]]), CFLAGS="$save_CFLAGS $sse2_CFLAGS" AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else #include + #endif + #else + #include + #endif #ifndef __SSE2__ #error Assembler CPP flag not enabled #endif diff --git a/src/audio/windx5/directx.h b/src/audio/windx5/directx.h index bb9f2d2e1..6af9560d4 100644 --- a/src/audio/windx5/directx.h +++ b/src/audio/windx5/directx.h @@ -2,6 +2,10 @@ #ifndef _directx_h #define _directx_h +#ifdef __GNUC__ +#define NONAMELESSUNION +#endif + /* Include all of the DirectX 5.0 headers and adds any necessary tweaks */ #define WIN32_LEAN_AND_MEAN @@ -74,9 +78,6 @@ #define DIRECTSOUND_VERSION 0x0500 #define DIRECTINPUT_VERSION 0x0500 -#ifdef __GNUC__ -#define NONAMELESSUNION -#endif #include #include #include diff --git a/src/thread/win32/SDL_systhread.c b/src/thread/win32/SDL_systhread.c index 71c0e1269..71313c3be 100644 --- a/src/thread/win32/SDL_systhread.c +++ b/src/thread/win32/SDL_systhread.c @@ -37,7 +37,7 @@ #endif #if __GNUC__ -typedef unsigned long (__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned, +typedef uintptr_t (__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned, unsigned (__stdcall * func) (void *), diff --git a/src/video/SDL_blit.h b/src/video/SDL_blit.h index 756c50a24..21f1ba62a 100644 --- a/src/video/SDL_blit.h +++ b/src/video/SDL_blit.h @@ -24,6 +24,13 @@ #ifndef _SDL_blit_h #define _SDL_blit_h +#ifdef __MINGW32__ +#include <_mingw.h> +#endif + +#if defined(__MINGW32__) && defined(__MINGW64_VERSION_MAJOR) +#include +#else #ifdef __MMX__ #include #endif @@ -36,6 +43,7 @@ #ifdef __SSE2__ #include #endif +#endif #include "SDL_cpuinfo.h" #include "SDL_endian.h" diff --git a/src/video/win32/SDL_win32video.h b/src/video/win32/SDL_win32video.h index b33d51889..fb1e96f96 100644 --- a/src/video/win32/SDL_win32video.h +++ b/src/video/win32/SDL_win32video.h @@ -29,6 +29,7 @@ #define WIN32_LEAN_AND_MEAN #define STRICT #define UNICODE +#undef WINVER #define WINVER 0x500 /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */ #include