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.

classification
Title: Support for MSVC 7 and MSVC8 in msvccompiler
Type: enhancement Stage:
Components: Distutils Versions:
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: davidlukas, loewis
Priority: normal Keywords:

Created on 2006-02-06 14:07 by davidlukas, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
msvccompiler.py davidlukas, 2006-02-06 14:07 Extended version of distutils/msvccompiler.py
Messages (2)
msg54720 - (view) Author: dlm (davidlukas) Date: 2006-02-06 14:07
Hi,

I tried to build the "ctypes-0.9.6" packages from
source with Microsoft Visual Studio 8 (2005). I
realized that in  module "distutils" of Python 2.4.1
both VC7 and VC8 compilers are not supported at all
(only VC6).
I took a glance at distutils at Python 2.4.2 but also
there no VC8 is supported.

I tried to figure out where I should extend the
compiler detection, but the whole file
"msvccompiler.py" seems to me like a big hack. I've
wrote some code, to get VC8 working on my machine (set
right pathes to Include- and Lib-Directories and to the
binaries), but I don't think it's redistributable.

What do you think of detecting the right MS-Compiler
like this:

def detectCompiler() :
    detectVC6()
    detectVC7()
    detectVC8()

and hiding the code for each particular version of VC
in a separate function. I don't think MS is following a
streight upwards compatibility strategy.

Also ther should be a way, to select on compiler, when
multiple compilers are detected. I saw the

   --compiler=whatever

switch, but did not found any documentation on it.

I've got both versions (VC7 and VC8) installed on my
machine. So I can try out different detection routines
if you want.

Another problem with VC8 is cross-compiling, since ther
e are different library-directories for different
platforms (AMD64, x86, Itanium, Win32, ...). Also here
I see big deficits in the distutil-module at the moment.

Best regards
David
msg54721 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-04-10 13:59
Logged In: YES 
user_id=21627

Why do you think only VC6 is supported in distutils? It
works just fine with VC7.1 (Visual Studio .NET 2003). Don't
try to build Python extension modules with VS 2005 (aka
VC8), unless you know precisely what you are doing: by doing
so, you link different versions of msvcrt; this might cause
crashes.

In general, you must use the same C compiler that Python was
built with. There is not much we can do about this (it's a
Microsoft limitation), so I'm rejecting the request.
History
Date User Action Args
2022-04-11 14:56:15adminsetgithub: 42873
2006-02-06 14:07:52davidlukascreate