This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Ali Rizvi-Santiago
Recipients Ali Rizvi-Santiago, dstufft, eric.araujo
Date 2018-11-05.23:33:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1541460788.89.0.788709270274.issue35172@psf.upfronthosting.co.za>
In-reply-to
Content
Distutils makes a few incorrect assumptions that prevent it from supporting the newer Microsoft-y C compilers. This patch fixes it up till MSVC 14.0. There are 2 assumptions that are made by distutils and they are as follows.

The first one is that MSVC's versions scale linearly (subtracting 6). This assumption breaks when encountering major version 13.0 as VS2013 (12.0) uses 1800 and VS2015 (14.0) uses 1900 and so the calculation for version 13.0 does not actually exist. This was fixed in the patch for both msvc9compiler.py and msvccompiler.py by skipping the major version 13.

The second assumption is in the get_msvcr() function in cygwinccompiler.py and is responsible for identifying the CRT name. The newer versions of MSVC aren't listed, so these were added in the patch. However, for version 1900 (MSVC 14.0) the crt is now named "vcruntime140" which was included. It might be better to to make this table-based if there is long-term interest in supporting these other compilers.

These are the only issues that I've ever encountered over the years with building CPython 2.7.x with the newer VS compilers.
History
Date User Action Args
2018-11-05 23:33:08Ali Rizvi-Santiagosetrecipients: + Ali Rizvi-Santiago, eric.araujo, dstufft
2018-11-05 23:33:08Ali Rizvi-Santiagosetmessageid: <1541460788.89.0.788709270274.issue35172@psf.upfronthosting.co.za>
2018-11-05 23:33:08Ali Rizvi-Santiagolinkissue35172 messages
2018-11-05 23:33:08Ali Rizvi-Santiagocreate