From 9f044cb422c1fc9ad79278092445f612342abb59 Mon Sep 17 00:00:00 2001 From: Aaron Carlisle Date: Sat, 27 May 2017 15:34:55 -0400 Subject: Remove MinGW support The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648 --- intern/ghost/intern/GHOST_Context.cpp | 2 +- intern/ghost/intern/GHOST_DisplayManagerWin32.cpp | 2 -- intern/ghost/intern/GHOST_SystemPathsWin32.cpp | 24 ----------------------- intern/ghost/intern/GHOST_SystemWin32.cpp | 12 +----------- intern/ghost/intern/GHOST_SystemWin32.h | 8 ++++---- intern/ghost/intern/GHOST_TaskbarWin32.h | 8 ++++---- 6 files changed, 10 insertions(+), 46 deletions(-) (limited to 'intern/ghost') diff --git a/intern/ghost/intern/GHOST_Context.cpp b/intern/ghost/intern/GHOST_Context.cpp index f69f2181ef7..72db17c4f56 100644 --- a/intern/ghost/intern/GHOST_Context.cpp +++ b/intern/ghost/intern/GHOST_Context.cpp @@ -38,7 +38,7 @@ # include # # ifndef ERROR_PROFILE_DOES_NOT_MATCH_DEVICE -# define ERROR_PROFILE_DOES_NOT_MATCH_DEVICE 0x7E7 // Mingw64 headers may have had this +# define ERROR_PROFILE_DOES_NOT_MATCH_DEVICE 0x7E7 # endif #endif diff --git a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp index 252ea775329..7b9a897fe57 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp +++ b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp @@ -41,9 +41,7 @@ // We do not support multiple monitors at the moment #define COMPILE_MULTIMON_STUBS -#ifndef FREE_WINDOWS #include -#endif GHOST_DisplayManagerWin32::GHOST_DisplayManagerWin32(void) diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp index 7d0ce5158fe..8056bc76edb 100644 --- a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp @@ -37,30 +37,6 @@ #include #include "utfconv.h" -#ifdef __MINGW32__ - -#if !defined(SHARD_PIDL) -#define SHARD_PIDL 0x00000001L -#endif - -#if !defined(SHARD_PATHA) -#define SHARD_PATHA 0x00000002L -#endif - -#if !defined(SHARD_PATHW) -#define SHARD_PATHW 0x00000003L -#endif - -#if !defined(SHARD_PATH) -#ifdef UNICODE -#define SHARD_PATH SHARD_PATHW -#else -#define SHARD_PATH SHARD_PATHA -#endif -#endif - -#endif - GHOST_SystemPathsWin32::GHOST_SystemPathsWin32() { } diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index 240d7ccd2fe..ca7118de7b0 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -890,25 +890,15 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const &raw) // send motion. Mark as 'sent' so motion will always get dispatched. eventSent = true; -#if defined(_MSC_VER) || defined(FREE_WINDOWS64) +#if defined(_MSC_VER) // using Microsoft compiler & header files // they invented the RawInput API, so this version is (probably) correct. - // MinGW64 also works fine with this BYTE const *data = raw.data.hid.bRawData; // struct RAWHID { // DWORD dwSizeHid; // DWORD dwCount; // BYTE bRawData[1]; // }; -#else - // MinGW's definition (below) doesn't agree, so we need a slight - // workaround until it's fixed - BYTE const *data = &raw.data.hid.bRawData; - // struct RAWHID { - // DWORD dwSizeHid; - // DWORD dwCount; - // BYTE bRawData; // <== isn't this s'posed to be a BYTE*? - // }; #endif BYTE packetType = data[0]; diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h index d534a300b35..099d14e68ae 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.h +++ b/intern/ghost/intern/GHOST_SystemWin32.h @@ -37,10 +37,10 @@ #error WIN32 only! #endif // WIN32 -#ifndef __MINGW64__ -# undef _WIN32_WINNT -# define _WIN32_WINNT 0x501 // require Windows XP or newer -#endif +/* require Windows XP or newer */ +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x501 + #define WIN32_LEAN_AND_MEAN #include #include // for drag-n-drop diff --git a/intern/ghost/intern/GHOST_TaskbarWin32.h b/intern/ghost/intern/GHOST_TaskbarWin32.h index 6fcff297237..0ef71754717 100644 --- a/intern/ghost/intern/GHOST_TaskbarWin32.h +++ b/intern/ghost/intern/GHOST_TaskbarWin32.h @@ -8,10 +8,10 @@ #error WIN32 only! #endif // WIN32 -#ifndef __MINGW64__ -# undef _WIN32_WINNT -# define _WIN32_WINNT 0x501 // require Windows XP or newer -#endif +/* require Windows XP or newer */ +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x501 + #define WIN32_LEAN_AND_MEAN #include #include -- cgit v1.2.3