Page MenuHome

Remove MinGW support
Closed, ResolvedPublicPATCH

Description

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.
So for the same reasons we removed Scons I think we should also remove MinGW.

TODO

Remove from git -- D2648
Remove from SVN
Rewrite Build docs for windows

Revisions and Commits

Related Objects

Event Timeline

+1 for removing it

MinGW itself seems stuck on an old version of gcc. I get the impression it's not being updated. On Windows I'm more and more pleased with MSVC over the years.

It's not just about CMake files; we can also streamline the "how to build" instructions & remove the MinGW libs. Fewer options = less confusion for people setting up a new dev system.

+1

I agree. Until there are changes in MSVC licensing, MinGW can be removed.

Some things to consider:

  • @Mike Erwin (merwin) There are Mingw builds for recent GCC versions (6.0), but for some reason http://www.mingw.org main download link points to a release from 2013.
  • The build configuration for Mingw could be useful for building with Clang on Windows (although Clang has some support for MSVC ABI... I never tested this).
  • Removing MINGW support might cause some annoying conflicts with master/blender2.8 branches (probably not too many), whatever the case, whoever removes mingw should manage syncing changes between branches.
  • @Aaron Carlisle (Blendify) re: "Rewrite Build docs for windows" - AFAICS we only need to remove a single wiki page.

For now suggest to mail bf-committers, general +1 for removal but don't think its really a priority either.

I think the main issue for mingw support it's the 3rd party deps, nobody has stepped up in years to care for them. understandably so, this is the patchset just to be able to build python with mingw. It's not impossible to do, someone just has to step up. That being said, if someone were to step up, it's probably easier to bring back mingw support from a completely removed state than a neglected for years state. so +1 for the removal of it.

Some things to consider:

  • The build configuration for Mingw could be useful for building with Clang on Windows (although Clang has some support for MSVC ABI... I never tested this).

Clang is a special kind of animal on windows, it doesn't have a c-runtime or any windows related headers so it borrows all of that from msvc, i did some preliminary work to build blender with clang on windows a while ago, but kinda lost interest in working on it, The only motivation we have to switch compilers is to get rid of the dependency of having msvc installed and the use of the binary ms c runtime dll's, and clang doesn't solve either issue.

Aaron Carlisle (Blendify) triaged this task as 50 priority.Apr 26 2017, 6:01 PM