On Thu, 2 Dec 1999, Greg Ward wrote:
2) the main/compelling reason is that I have to debug the python extensions. The extension implementation is normally tested, and debugged prior to integration into Python. But the extension layer often needs some debugging as we are interfacing C++ with STL containers to Python data types. I can debug just fine using distutils on Solaris/Linux, but cannot do the same on Windows. As far as I can tell, you _have_ to have a DevStudio project setup to debug anything under windows. Since our product will be delivered as a standalone tool, including python, I do not need the distribution facilities of distutils, only the development. But, once I have developed a DevStudio project/workspace for an extension, there is little motivation to use distutils.
Ooh, yuck. And here I thought that invoking the MSVC command-line compiler directly was a feature. David Ascher was the original volunteer to write the MSVC interface, and his plan was (I think) to generate a project file and then somehow invoke the build system on that. When Perry Stoll came along with his MSVCCompiler class, David appeared happy to bow out... but maybe his idea needs to be resuscitated? Yuck. You Windows/MSVC experts got any good ideas?
<ears tingle> Someone mentioned my name? Sigh. The project file vs. Makefile debate is as old as the world (well, at least as old as MPW =). I haven't looked carefully enough at the innards of distutils to be sure, but glancing at msvccompiler.py, it looks like Perry did the simple thing (and praise him). That said, I'd be surprised if making a project/workspace file would be that hard given Perry's groundwork (and stealing the templates from compile.py). Alas, I have *no time* in the foreseeable future to do this. If someone is interested in doing it, however, I can help them with whatever knowledge I gathered doing compile.py. The hard thing will probably be to support all of the things which Windows developers expect, such as the ability to have Debug and Release builds (and CE builds, and ...). --david