[Python-Dev] Status of C compilers for Python on Windows

Julian Taylor jtaylor.debian at googlemail.com
Fri Oct 10 18:49:33 CEST 2014


On 10.10.2014 14:05, Paul Moore wrote:
> On 10 October 2014 10:50, Victor Stinner <victor.stinner at gmail.com> wrote:
>> Is MinGW fully compatible with MSVS ABI? I read that it reuses the
>> MSVCRT, but I don't know if it's enough. I guess that a full ABI
>> compatibility means more than just using the C library, calling
>> convention and much more.
> 
> MinGW can be made to build ABI-compatible extensions. Whether this
> will continue with MSVC 15 I don't know, as it requires a change to
> add an interface library for the relevant msvcrXX runtime. And the
> MinGW community is somewhat fragmented these days, with the core
> project not supporting 64-bit and various external projects doing so.
> 
> Having said all this, it *is* possible with some effort to use MinGW
> to build Python extensions. As noted, the numpy developers have done a
> lot of work on this as some of the libraries they need must be built
> with mingw. And the state of distutils support for mingw is very sad,
> as well, IIRC (last time I looked there were a number of open bugs,
> and very little movement on them).
> 
> Rather than put effort into more build options for CPython, I think it
> would be much more beneficial to the Windows community if effort was
> put into:
> ....
> 2. Looking at ways to support cross-compiling Windows extensions from
> Linux using mingw. I've no idea how practical this would be, but if
> Linux developers could provide Windows builds without having to
> maintain a Windows environment, that would be great.

It is practical. Numpy Windows binaries are built on linux using mingw
3.4.5 and wine.
The (vagrant based) setup which is currently used is available here:
https://github.com/juliantaylor/numpy-vendor
For the next release we do want to look into providing "official" win64
binaries based on the mingw64 toolchain that has been mentioned a few
times already. An attempt to do so in the last released failed due to
test issues and there were no experienced debuggers available to solve them.

>From my perspective cross building for windows is easier than cross
building for mac, but thats probably just because I never seriously
looked into that.


More information about the Python-Dev mailing list