• 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
..
SDL_sysmutex.c Loading commit data...
SDL_syssem.c Loading commit data...
SDL_systhread.c Loading commit data...
SDL_systhread_c.h Loading commit data...
win_ce_semaphore.c Loading commit data...
win_ce_semaphore.h Loading commit data...