classification
Title: Build with Visual Studio 2015 using PlatformToolset=v120
Type: compile error Stage: resolved
Components: Build, Windows Versions: Python 3.6, Python 3.5, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: bjoernthiel, paul.moore, python-dev, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2016-01-11 13:34 by bjoernthiel, last changed 2016-03-12 16:40 by steve.dower. This issue is now closed.

Files
File name Uploaded Description Edit
build.patch bjoernthiel, 2016-01-11 13:34 review
Messages (9)
msg257956 - (view) Author: Bjoern Thiel (bjoernthiel) * Date: 2016-01-11 13:34
Fixing the build output folder for tix-8.4.3.6.
msg257970 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-01-11 16:41
Good catch! Once I'm at a PC I'll merge this in unless someone else gets there first. (I believe it also applies to 2.7 since the project files were updated.)
msg257971 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016-01-11 16:45
I'm on the fence about this one.  MSVC 12.0 is not officially supported for any Python release.  Also, using PlatformToolset makes things difficult for ICC builds (which set PlatformToolset to e.g. "Intel C++ Compiler 16.0").

On the other hand, this is a very simple change, and building tkinter with ICC is pretty well completely broken anyway (it only works if you first build Tcl/Tk with MSVC).

Call me +0; +1 if you can get around using PlatformToolset directly.
msg257986 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-01-11 17:26
It's better than using the Visual Studio version, which isn't necessarily tied to any VC version. To support another compiler will require more code like this anyway.

An alternative may be to patch Tcl et al. to not put the VC version into the output path? That's likely to lead to different problems for people though...
msg257988 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016-01-11 17:32
The fewer patches we carry against Tcl/Tk the better.  This can be
revisited if necessary when other ICC issues with our Tcl/Tk build are
fixed.
msg259426 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016-02-02 19:58
Perhaps the ideal approach here would be to pass TMP_DIR and OUT_DIR into the Tcl/Tk builds, so we can tell them where to put stuff.  However, that would require major surgery to Tix's makefile to get it to build.  I'd be +1 on doing so (since we're pretty much the de-facto maintainers of Tix at this point, as far as I can tell), but am not enthusiastic about actually doing it.  I'd be much more enthusiastic about deprecating Tix.

Steve, if the patch as given is good enough for you, I'm fine with applying it.
msg259435 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-02-02 21:32
Go ahead. Feel free to add toolsets to cover ICC if you need them.

At one point I was passing through those directories for the build and it was not really trivial. A few too many places where it needed to be handled, but with patches against Tix it's probably disable.
msg261661 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-03-12 16:39
New changeset 7617f5b3f263 by Steve Dower in branch '3.5':
Issue #26079: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel.
https://hg.python.org/cpython/rev/7617f5b3f263

New changeset f426178c9d6c by Steve Dower in branch 'default':
Issue #26079: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel.
https://hg.python.org/cpython/rev/f426178c9d6c
msg261662 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-03-12 16:40
Python 2.7 has a different section in its tcltk.props file and doesn't need this fix (yet).

Thanks for the patch, Bjoern!
History
Date User Action Args
2016-03-12 16:40:49steve.dowersetstatus: open -> closed
resolution: fixed
messages: + msg261662

stage: resolved
2016-03-12 16:39:23python-devsetnosy: + python-dev
messages: + msg261661
2016-02-02 21:32:29steve.dowersetmessages: + msg259435
2016-02-02 19:58:55zach.waresetassignee: steve.dower
messages: + msg259426
2016-01-11 17:32:47zach.waresetmessages: + msg257988
2016-01-11 17:26:16steve.dowersetmessages: + msg257986
2016-01-11 16:45:14zach.waresetmessages: + msg257971
2016-01-11 16:41:23steve.dowersetmessages: + msg257970
versions: + Python 2.7, Python 3.6
2016-01-11 13:45:10SilentGhostsetnosy: + paul.moore, tim.golden, steve.dower, zach.ware
type: crash -> compile error
components: + Windows
2016-01-11 13:34:40bjoernthielcreate