[Distutils] [Python-Dev] Adventures with x64, VS7 and VS8 on Windows

"Martin v. Löwis" martin at v.loewis.de
Tue May 22 07:20:40 CEST 2007

> Yes, that is correct.  I agree it will be rarely used by Python user's, but
> believe it is a common scenario for people who maintain extensions or
> libraries, particularly those who want debugging builds.

Ah, debugging builds. It's true that PCbuild does not support them for
AMD64, and it's also true that you need such a build if you want the
debug CRT.

However, I think people ask much too often for a debugging build;
in many cases, they could work happily with a release build that
supports debugging. Depending on the problem you try to solve, you
may or may not need debug information for pythonxy.dll as well,
or just for your extension module.

I'd like to repeat an offer that I have made several times in the
past: if somebody contributes a patch to msi.py which packs all
PDB files (and whatever you else you need) into a ZIP file (or
whatever else works) from the release build, then I could happily
release PDB files along with the actual installer files. (I would
not like to release the PDB files *in* the installer files, as
I expect they would blow up the msi size significantly).

>> I think Kristjan will have to say a word here: I think he just likes
>> it the way it is right now. That would rather suggest that build_ext
>> needs to be changed.
> So this means PCBuild8 does indeed get formalized into distutils?  I'm happy
> to live with it if it lets me work, but it seems contrary to our emails
> yesterday.

It would mean that - I'm willing to compromise to make Kristjan happy
(he contributed PCbuild8, so he has to decide what changes to it are
acceptable and which aren't).

A middle ground might be an addition build step (e.g. as a .bat file)
which copies all result files also into PCbuild.

> Let's assume that people have a valid reason to build from source - it
> really is quite common in the open source world.  The meta-question then
> becomes "is it reasonable to expect people be able to build extensions from
> a tree built with VC8, in the same way they can with VS7?".  I think you are
> suggesting we do want to support this, but I want to be clear.

As long as people are willing to maintain it - why not? It's not
"official" in the sense that if it breaks, nobody might fix it,
but it doesn't hurt to have it (AFAICT). Also, it not being official
might mean that we are not obliged to provide backwards compatibility
for it, so it can go away without notice (e.g. when/if PCbuild8
is dropped).

The same could be done for PC/VC6, if anybody cared to contribute
and maintain it.

I think there are several other cases in distutils to support
special cases (e.g. the DISTUTILS_USE_SDK environment variable);
if people want to see their setup supported, AND ARE WILLING TO
CONTRIBUTE: more power to them.

> Please see my other mail to Kristjan - at this stage I can only reproduce it
> in C++ on VC8.  C++ on VC7 and C on VC8 both work fine.  Please let me know
> if thde code snippet I pasted or the compiler error aren't suitable.

It's fine. I readily believe that it causes problems in C++.


More information about the Distutils-SIG mailing list