From cac9f766b875ba0784376174b8a417e3a6e56a11 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 20 Oct 2012 00:14:58 -0700 Subject: [PATCH] Make it possible to build a DLL with mingw that's ABI compatible with Visual C++ built applications --- configure | 1 + configure.in | 1 + include/SDL_config_windows.h | 7 +++++++ include/SDL_stdinc.h | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 16b5c82d3..11b424cb4 100755 --- a/configure +++ b/configure @@ -16934,6 +16934,7 @@ SOURCES="$SOURCES $srcdir/src/audio/*.c" SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c" SOURCES="$SOURCES $srcdir/src/events/*.c" SOURCES="$SOURCES $srcdir/src/file/*.c" +SOURCES="$SOURCES $srcdir/src/libm/*.c" SOURCES="$SOURCES $srcdir/src/render/*.c" SOURCES="$SOURCES $srcdir/src/render/*/*.c" SOURCES="$SOURCES $srcdir/src/stdlib/*.c" diff --git a/configure.in b/configure.in index 19ecb7914..2c47f8c03 100644 --- a/configure.in +++ b/configure.in @@ -297,6 +297,7 @@ SOURCES="$SOURCES $srcdir/src/audio/*.c" SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c" SOURCES="$SOURCES $srcdir/src/events/*.c" SOURCES="$SOURCES $srcdir/src/file/*.c" +SOURCES="$SOURCES $srcdir/src/libm/*.c" SOURCES="$SOURCES $srcdir/src/render/*.c" SOURCES="$SOURCES $srcdir/src/render/*/*.c" SOURCES="$SOURCES $srcdir/src/stdlib/*.c" diff --git a/include/SDL_config_windows.h b/include/SDL_config_windows.h index 5f7e89b6a..e8d3ffb97 100644 --- a/include/SDL_config_windows.h +++ b/include/SDL_config_windows.h @@ -142,14 +142,21 @@ typedef unsigned int uintptr_t; /* Enable various audio drivers */ #define SDL_AUDIO_DRIVER_DSOUND 1 +#ifndef __GNUC__ #define SDL_AUDIO_DRIVER_XAUDIO2 1 +#endif #define SDL_AUDIO_DRIVER_WINMM 1 #define SDL_AUDIO_DRIVER_DISK 1 #define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ #define SDL_JOYSTICK_DINPUT 1 +#ifdef __GNUC__ +/* There isn't a compatible dinput.h for mingw as far as I know */ +#define SDL_HAPTIC_DISABLED 1 +#else #define SDL_HAPTIC_DINPUT 1 +#endif /* Enable various shared object loading systems */ #define SDL_LOADSO_WINDOWS 1 diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h index aaef5020b..390b3ed8d 100644 --- a/include/SDL_stdinc.h +++ b/include/SDL_stdinc.h @@ -340,7 +340,7 @@ do { \ /* We can count on memcpy existing on Mac OS X and being well-tuned. */ #if defined(__MACOSX__) #define SDL_memcpy memcpy -#elif defined(__GNUC__) && defined(i386) +#elif defined(__GNUC__) && defined(i386) && !defined(__WIN32__) #define SDL_memcpy(dst, src, len) \ do { \ int u0, u1, u2; \