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 zach.ware
Recipients brian.curtin, sbt, terry.reedy, tim.golden, zach.ware
Date 2013-04-03.16:42:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1365007356.03.0.827535116002.issue16895@psf.upfronthosting.co.za>
In-reply-to
Content
I was rather off about kill_python, wasn't I?

Anyway, I've finally gotten another version put together that I'd like to get comments on.  Major differences between this patch and the previous one, in no particular order:

- Add a 'configure.bat' script to increase the parallel with Unix building.  Currently only has 2 options, --with-pydebug and --with(out)-64-bit, which affect how PY_PLATFORM and PY_CONFIGURATION are set in make.bat, which allows for building any combination of Debug, Release, 32 bit, and 64 bit with make.bat.

- Add 'win-config.dat' to .hgignore; this file stores configure.bat's options for make.bat's use.

- Update documentation: PCbuild/readme.txt gets significant updates, including some that apply without make.bat and which I can split out into a separate patch if someone wants to commit those separately.  Doc/using/windows.rst also gets a small update which actually just goes with one of the PCbuild/readme.txt updates and isn't affected by make.bat.

- make.bat is now stand-alone; it does not rely on any other batch scripts except configure.bat (namely Tools/buildbot/*).

- Renamed "ready" target to "external", as promised.

- Reimplemented "test" target to match the Unix implementation.  Also added "buildbottest" target, which matches Unix implementation.

- Added separate "tcltk" target to build tcltk and copy the built .dlls to the appropriate place for the built Python to find them.

- Added "all" alias to "build" target (to match Unix).  "build" calls :external on its own, and calls :tcltk if it can't find the appropriate tcl/tk .dlls.

- Added "clobber" target, which does its best to obliterate everything make.bat can create.  The only way I've thought of to be more thorough is to actually delete the entire contents of the PCbuild directory and do an ``hg revert -C PCbuild`` to get it back, but that does have the possibility to be more destructive than desired.

- Added variables to the top of the file to set the versions of the external projects.  This means there's only one place to update when an external is updated, and for easy testing one could do something akin to ``make "OPENSSLVERSION=openssl-1.0.1e"``

- Added "msi" target to perform the task of Tools/buildbot/buildmsi.bat.  Note that this one is hard for me to test, as buildmsi.bat does not work properly for me.  However, the msi target works as well or better than buildmsi.bat for me, and should work assuming msi.py can do what it is meant to.  I wonder, though; does anybody use buildmsi.bat?  I noticed that it has information in it hard-coded for Python 2.6a3...

Several things have gone through an iteration or two since the last patch; I'll try to go through and add some comments on Rietveld myself.

Since make.bat is now stand-alone, if it is accepted (and it is deemed desirable to do so), the Windows buildbots could be converted to use make.bat instead of Tools/buildbot/*, and that directory could actually be removed.  This would also make it easy to set up a buildbot that tests a Release configuration of Python.

All comments welcome :)
History
Date User Action Args
2013-04-03 16:42:36zach.waresetrecipients: + zach.ware, terry.reedy, tim.golden, brian.curtin, sbt
2013-04-03 16:42:36zach.waresetmessageid: <1365007356.03.0.827535116002.issue16895@psf.upfronthosting.co.za>
2013-04-03 16:42:36zach.warelinkissue16895 messages
2013-04-03 16:42:35zach.warecreate