[Python-Dev] VS 2010 compiler

Nathaniel Smith njs at vorpus.org
Tue Sep 29 19:30:13 CEST 2015


On Sep 29, 2015 8:22 AM, "Chris Barker" <chris.barker at noaa.gov> wrote:
>
>>  And in mingw-w64, the only way to select a non-default CRT
>
> what is a "default" CRT in this case??

To answer the question: mingw-w64's
standard/default/only-officially-supported CRT is msvcrt.dll (the version
that has no version number in the name). Wikipedia tells me that this is
the runtime used by msvc 4.2 - 6.0 (the later of which was released in
1998). The reason for this decision is that for whatever historical reason,
this particular CRT dll is shipped with Windows by default, and thus using
it avoids certain license issues that can otherwise arise, esp. with GPL
software. (Fortunately not an issue for python extensions, but since it is
an issue for other programs they just made the decision to support a single
configuration that works for everybody. Except when it doesn't ;-).)

In practice mingw-w64 ships its own runtime as a layer on top of msvcrt.dll
-- it gets used as a OS services layer, but mingw-w64 users aren't just
getting dropped directly into a wonderland of 15+ year old code.

(In fact, mingw-w64 upstream would like to make their runtime clever enough
to bind the underlying "OS services layer" at load time rather than compile
time, so that mingw-w64 compiled dll's would be "runtime agile" and could
be safely loaded into any process. The main thing we care about is just
that this would give upstream a way to officially support targeting newer
CRTs, but it would have a number of other benefits too: one modern
toolchain that could build extension modules for all versions of python,
the ability when combined with Python's "stable abi" to target 3.2+ with a
single binary distribution, better interoperability between python and
other windows ecosystems that went the mingw-w64 route like R... but, this
all requires funding someone to do the work.)

-n
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150929/3f999adc/attachment.html>


More information about the Python-Dev mailing list