• Sam Lantinga's avatar
    Fixed bug #943 · d2ca3194
    Sam Lantinga authored
     Ozkan Sezer      2010-02-06 12:31:06 PST
    
    Hi:
    
    Here are some small fixes for compiling SDL against mingw-w64.
    (see http://mingw-w64.sourceforge.net/ .  Despite the name, it
    supports both win32 and win64.)
    
    src/audio/windx5/directx.h and src/video/windx5/directx.h (both
    SDL-1.2 and SDL-1.3.)  I get compilation errors about some union
    not having a member named u1 and alike, because of other system
    headers being included before this one and them already defining
    DUMMYUNIONNAME and stuff. This header probably assumes that those
    stuff are defined in windef.h, but mingw-w64 headers define them
    in _mingw.h. Easily fixed by moving NONAMELESSUNION definition to
    the top of the file.
    
    src/thread/win32/SDL_systhread.c (both SDL-1.2 and SDL-1.3.) :
    The __GNUC__ case for pfnSDL_CurrentBeginThread is 32-bit centric
    because _beginthreadex returns uintptr_t, not unsigned long which
    is 32 bits in win64. Changing the return type to uintptr_t fixes
    it.
    
    video/SDL_blit.h (and configure.in) (SDL-1.3-only) :  MinGW-w64
    uses msvcrt version of _aligned_malloc and _aligned_free and
    they are defined in intrin.h (similar to VC).  Adding proper
    ifdefs fixes it. (Notes about macros to check: __MINGW32__ is
    defined for both mingw.org and for mingw-w64 for both win32 and
    win64, __MINGW64__ is only defined for _WIN64, so __MINGW64__
    can't be used to detect mingw-w64: including _mingw.h and then
    checking for __MINGW64_VERSION_MAJOR does the trick.)
    
    SDL_win32video.h (SDL-1.3-only) :  Tweaked the VINWER definition
    and location in order to avoid multiple redefinition warnings.
    
    Hope these are useful. Thanks.
    d2ca3194
Name
Last commit
Last update
VisualC Loading commit data...
VisualCE Loading commit data...
Xcode Loading commit data...
Xcode-iPhoneOS Loading commit data...
acinclude Loading commit data...
build-scripts Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.indent.pro Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL Loading commit data...
Makefile.ds Loading commit data...
Makefile.in Loading commit data...
Makefile.minimal Loading commit data...
Makefile.pandora Loading commit data...
Makefile.wiz Loading commit data...
NOTES Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.BeOS Loading commit data...
README.DirectFB Loading commit data...
README.HG Loading commit data...
README.MacOSX Loading commit data...
README.PS3 Loading commit data...
README.Porting Loading commit data...
README.QNX Loading commit data...
README.RISCOS Loading commit data...
README.Watcom Loading commit data...
README.WinCE Loading commit data...
README.iphoneos Loading commit data...
README.pandora Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
UNDER_CONSTRUCTION.txt Loading commit data...
VisualC.html Loading commit data...
Watcom-Win32.zip Loading commit data...
WhatsNew Loading commit data...
autogen.sh Loading commit data...
configure.in Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...
sdl.pc.in Loading commit data...