[Python-Dev] Backporting the 3.5+ Windows build project files to 2.7

M.-A. Lemburg mal at egenix.com
Thu Jun 25 15:54:30 CEST 2015

On 22.06.2015 19:03, Zachary Ware wrote:
> Hi,
> As you may know, Steve Dower put significant effort into rewriting the
> project files used by the Windows build as part of moving to VC14 as
> the official compiler for Python 3.5.  Compared to the project files
> for 3.4 (and older), the new project files are smaller, cleaner,
> simpler, more easily extensible, and in some cases quite a bit more
> correct.
> I'd like to backport those new project files to 2.7, and Intel is
> willing to fund that work as part of making Python ICC compilable on
> all platforms they support since it makes building Python 2.7 with ICC
> much easier.  I have no intention of changing the version of MSVC used
> for official 2.7 builds, it *will* remain at MSVC 9.0 (VS 2008) as
> determined the last time we had a thread about it.  VS 2010 and newer
> can access older compilers (back to 2008) as a 'PlatformToolset' if
> they're installed, so all we have to do is set the PlatformToolset in
> the projects at 'v90'.  Backporting the projects would make it easier
> to build 2.7 with a newer compiler, but that's already possible if
> somebody wants to put enough work into it, the default will be the old
> compiler, and we can emit big scary warnings if somebody does use a
> compiler other than v90.
> With the stipulation that the officially supported compiler won't
> change, I want to make sure there's no major opposition to replacing
> the old project files in PCbuild.  The old files would move to
> PC\VS9.0, so they'll still be available and usable if necessary.
> Using the backported project files to build 2.7 would require two
> versions of Visual Studio to be installed; VS2010 (or newer) would be
> required in addition to VS2008.  All Windows core developers should
> already have VS2010 for Python 3.4 (and/or VS2015 for 3.5) and I
> expect that anyone else who cares enough to still have VS2008 probably
> has (or can easily get) one of the free editions of VS 2010 or newer,
> so I don't consider this to be a major issue.

To understand this correctly:

In order to build Python 2.7.11 (or a later version), we'd
now need VS 2008 *and* VS 2010 installed ?

This doesn't sound like it would make things easier for
people who need to build their own Python on Windows, e.g.
because they are freezing their apps for distribution, or
using their own internal special builds.

For VS 2008 we now have a long-term solution thanks to MS.
The same is not true for VS 2010 (download links are not official
anymore), so we'd complicate things again by requiring the
mixed compiler setup.

> The backported files could be added alongside the old files in
> PCbuild, in a better-named 'NewPCbuild' directory, or in a
> subdirectory of PC. I would rather replace the old project files in
> PCbuild, though; I'd like for the backported files to be the
> recommended way to build, complete with support from PCbuild/build.bat
> which would make the new project files the default for the buildbots.

If you keep the old VS 2008 build files around, I'd be
fine with having an optional upgrade path to newer
compilers :-)

It's rather unlikely that the project files will change much
in coming years, so there shouldn't be much maintenance

> I have a work-in-progress branch with the backported files in PCbuild,
> which you can find at
> https://hg.python.org/sandbox/zware/log/project_files_backport.  There
> are still a couple bugs to work out (and a couple unrelated changes to
> PC/pyconfig.h), but most everything works as expected.
> Looking forward to hearing others' opinions,

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Jun 25 2015)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> mxODBC Plone/Zope Database Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2015-06-25: Released mxODBC 3.3.3 ...             http://egenix.com/go79
2015-06-16: Released eGenix pyOpenSSL 0.13.10 ... http://egenix.com/go78
2015-07-20: EuroPython 2015, Bilbao, Spain ...             25 days to go

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the Python-Dev mailing list