[Python-Dev] MS VC 7 offer

Guido van Rossum guido@python.org
Fri, 09 May 2003 16:32:05 -0400


Here's a reply from Nick Hodapp.  In a later email he also said:

> And I wouldn't dream of giving you Standard ;)
> 
> Today the C++ optimizer is NOT in the freely available tools.  We
> are fixing this, but the timeframe is uncertain.

My own suggestion: let's ask for copies for the lead Windows
developers who are distributing Windows binaries of core Python (that
would be Tim & me) or major addons (several have been mentioned here).

Then we can see how well this works, and together we can agree on a
"sunset date" for the VC6-based installer.  If you feel you qualify or
you know someone who you think qualify, send me *private* email.

--Guido van Rossum (home page: http://www.python.org/~guido/)

> From: "Nick Hodapp"
> To: "Guido van Rossum"
> Date: Thu, 8 May 2003 17:28:45 -0700
> 
> Guido --
> 
> I read much of the archived thread.  I'll respond here in email:
> 
> 1)  There was confusion about which version of Visual C++.  The version
> that I'm willing to donate to core Python developers is the most recent,
> Visual C++ .NET 2003, aka. VC 7.1.  I don't fully understand how many
> "core developers" there are, but let's cap my gift at 10 copies.  
> 
> 2)  There was a question about how quickly I could provide the licenses,
> and whether I would give media or cash.  I'd be providing boxed copies
> of the product (likely our "Professional" edition) and recipients would
> likely have to wait a month or so since we're not yet stocked
> internally.  
> 
> 3)  There was a question about redistributing the C-runtime DLLs.  While
> Microsoft recommends redistributing these using "merge modules" to
> prevent versioning issues, this is not mandatory.  From the product
> documentation:
> 
> "Visual Studio .NET provides its redistributable files in the form of
> merge modules. These merge modules encapsulate the redistributable DLLs
> and can be used by setup projects or other redistribution tools. Using
> the merge modules ensures that the correct files are redistributed with
> an application. However, if your installer does not support distributing
> merge modules, you can redistribute the DLLs embedded in the merge
> modules. You need to either extract the DLLs from the merge modules or
> get them from the product CD or DVD. Do not copy files from your hard
> disk."
> 
> Also, you can statically bind to the C-runtime to avoid this issue
> entirely.
> 
> 3)  Several questions regarding the build system.  What features you
> make use of are entirely up to you.  Know that VC7 and VC7.1 do not
> support the "export makefile" feature that is in VC6.  My recommendation
> would be to use the VC build system, but that is personal taste.  Allow
> me to hint that a command-line-tool version of the build/project system
> is likely to be made available for free in the near future.  But that is
> just a hint, not a promise.
> 
> 4)  Several questions about binary compatibility of object files.   I
> don't believe we broke binary compatibility for linking (you should be
> able to link a VC6 object file with a VC7.1 generated object module).
> I'll follow up and get a confirmation.  We did break binary
> compatibility -- on purpose -- for some of the libraries, including MFC.
> I doubt you guys use MFC.
> 
> 
> The kind of feedback on the thread you sent is great -- I can use it as
> input for how we design and package future product.  My sole intent here
> is to provide our new tool to some influential C++ developers in the
> community.  I've made the same offer to the Boost community.  
> 
> I'm also willing to help figure out if we can build Python completely
> with the freely available SDK tools I mentioned.  I don't know if this
> is possible, but it would be fun to try -- and a plus for your community
> if we succeed.  
> 
> 
> Nick