[ python-Feature Requests-1425256 ] Support for MSVC 7 and MSVC8 in msvccompiler

SourceForge.net noreply at sourceforge.net
Mon Apr 10 15:59:43 CEST 2006


Feature Requests item #1425256, was opened at 2006-02-06 15:07
Message generated for change (Comment added) made by loewis
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1425256&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Distutils
Group: None
>Status: Closed
>Resolution: Rejected
Priority: 5
Submitted By: dlm (davidlukas)
Assigned to: Nobody/Anonymous (nobody)
Summary: Support for MSVC 7 and MSVC8 in msvccompiler

Initial Comment:
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

----------------------------------------------------------------------

>Comment By: Martin v. Löwis (loewis)
Date: 2006-04-10 15:59

Message:
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.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1425256&group_id=5470


More information about the Python-bugs-list mailing list