[Python-Dev] Script(s) for building Python on Windows (original) (raw)
Jason R. Coombs jaraco at jaraco.com
Tue Jan 17 01:01:12 CET 2012
- Previous message: [Python-Dev] Script(s) for building Python on Windows
- Next message: [Python-Dev] Script(s) for building Python on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: "Martin v. Löwis" [mailto:martin at v.loewis.de] Sent: Monday, 16 January, 2012 16:25
I'd be hesitant to put too many specialized tools into the tree that will become unmaintained. Please take a look at the vs9to8 tool in PCbuild; if you could adjust that to support VS 10, it would be better IMO.
Are you suggesting creating vs10to9, which would be congruent to vs9to8, or vs9to10?
I'm unsure if the conversion from 9 to 10 or 10 to 9 can be as simple as the vs9to8 suggests. When I run the upgrade using the Visual Studio tools, it does upgrade the .sln file as so. But as you can see, it also converts all of the .vcproj to .vcxproj, which appears to be a very different schema. According to this article 4345a151-d288-48d6-b7c7-a7c598d0f85e) it should be trivial to downgrade by only updating the .sln file (perhaps Visual Studio 2008 is forward compatible with the .vcxproj format).
I'll look into this more when I have a better idea what you had in mind.
My goal in adding the upgrade code was to provide a one-step upgrade for developers with only VS 10 installed. That's what vs-upgrade in jaraco.develop does.
As for completely automating the build: please take notice of Tools/buildbot/build.bat. It also fully automates the build, also doesn't require that the VS environment is already activated, and has the additional advantage of not requiring Python to be installed.
That's interesting, but it still suffers from several shortcomings:
- It still assumes Visual Studio 2008 and fails with an obscure error otherwise.
- You can't use it to build different targets (only the whole solution).
- It automatically downloads the external dependencies (it'd be nice to build without them on occasion).
- It's still a batch file, so still gives the abominable "Terminate batch job (Y/N)?" when cancelling any operation via Ctrl+C.
- This functionality isn't in PCBuild/*. Why not?
- There's no good way to select which type to build (64-bit versus 32-bit, release versus debug). Adding these command-line options is clumsy in batch files.
- Since it's written in batch script, Python programmers might be hesitant to work with it (improve it).
For a buildbot, the batch file is perfectly adequate. It should do the same thing every time reliably.
For anyone but a robot or seasoned CPython Windows developer, however, the build tools are not intuitive, and I find that I'm constantly tweaking the batch scripts and asking myself, "why couldn't this be in Python, which is a much more powerful language?" This is why I developed the scripts, and my thought is they could be useful to others as well.
My hope is they might even supersede the existing scripts and become canonical, in which case there would be no possibility of them becoming unmaintained. If it turns out that they do become unused and unmaintained, they can be removed, but my feeling is since they're concise, documented, Python scripts, they'd be more likely to be maintained than their '.bat' counterparts.
-------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 6662 bytes Desc: not available URL: <http://mail.python.org/pipermail/python-dev/attachments/20120117/0a00da70/attachment-0001.bin>
- Previous message: [Python-Dev] Script(s) for building Python on Windows
- Next message: [Python-Dev] Script(s) for building Python on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]