From 5f38b5d7051ffde8fa37c6bd8ee4a24543477290 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 24 Nov 2017 03:01:07 -0800 Subject: [PATCH] Fixed bug 3979 - Failed to link with "multiple definition of `scalbln'" error on both MinGW and MinGW-w64 by CMake Vitaly Novichkov Once I ran build of my codecs collection on AppVeyor where my CMake script downloads latest SDL2 from HG repo, failed to link because of math functions conflict: https://ci.appveyor.com/project/Wohlstand/audiocodecs/build/1.0.44 The revision is b9ff5f8b2303 There are both vanilla MinGW and MinGW-w64 are failed to build. ``` [100%] Linking C shared library libSDL2.dll c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingwex.a(scalbn.o):(.text+0x0): multiple definition of `scalbln' CMakeFiles\SDL2.dir/objects.a(s_scalbn.c.obj):C:/projects/audiocodecs/build-MinGW-Release-Win32/external/SDL2/src/SDL2HG/src/libm/s_scalbn.c:30: first defined here --- src/libm/math_private.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libm/math_private.h b/src/libm/math_private.h index d3701944b..32e5cda7a 100644 --- a/src/libm/math_private.h +++ b/src/libm/math_private.h @@ -40,6 +40,7 @@ typedef unsigned int u_int32_t; #define __ieee754_fmod SDL_uclibc_fmod #define __ieee754_log SDL_uclibc_log #define __ieee754_pow SDL_uclibc_pow +#define scalbln SDL_uclibc_scalbln #define scalbn SDL_uclibc_scalbn #define sin SDL_uclibc_sin #define __ieee754_sqrt SDL_uclibc_sqrt