]> granicus.if.org Git - python/commitdiff
Introduce DISTUTILS_USE_SDK as a flag to determine whether the
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 10 Jul 2006 07:23:48 +0000 (07:23 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 10 Jul 2006 07:23:48 +0000 (07:23 +0000)
SDK environment should be used. Fixes #1508010.

Doc/dist/dist.tex
Lib/distutils/msvccompiler.py
Misc/NEWS

index e95c0d33542eb9ede41ac083d36d96785285e176..6f1d8bc6669393559f24dcc170e784513a1efe84 100644 (file)
@@ -2873,9 +2873,20 @@ C compiler:
 \modulesynopsis{Microsoft Compiler}
 
 This module provides \class{MSVCCompiler}, an implementation of the abstract 
-\class{CCompiler} class for Microsoft Visual Studio. It should also work using
-the freely available compiler provided as part of the .Net SDK download. XXX
-download link.
+\class{CCompiler} class for Microsoft Visual Studio. Typically, extension
+modules need to be compiled with the same compiler that was used to compile
+Python. For Python 2.3 and earlier, the compiler was Visual Studio 6. For
+Python 2.4 and 2.5, the compiler is Visual Studio .NET 2003. The AMD64
+and Itanium binaries are created using the Platform SDK.
+
+\class{MSVCCompiler} will normally choose the right compiler, linker etc.
+on its own. To override this choice, the environment variables
+\var{DISTUTILS\_USE\_SDK} and \var{MSSdk} must be both set. \var{MSSdk}
+indicates that the current environment has been setup by the SDK's
+\code{SetEnv.Cmd} script, or that the environment variables had been
+registered when the SDK was installed; \var{DISTUTILS\_USE\_SDK} indicates
+that the distutils user has made an explicit choice to override the
+compiler selection by \class{MSVCCompiler}.
 
 \section{\module{distutils.bcppcompiler} --- Borland Compiler}
 \declaremodule{standard}{distutils.bcppcompiler}
index d24d0ac6e0afe8ffadb7fe4807ff8481f3589498..d725905bd0c5d921eafd58127f900282dc6a28d7 100644 (file)
@@ -237,7 +237,7 @@ class MSVCCompiler (CCompiler) :
 
     def initialize(self):
         self.__paths = []
-        if os.environ.has_key("MSSdk") and self.find_exe("cl.exe"):
+        if os.environ.has_key("DISTUTILS_USE_SDK") and os.environ.has_key("MSSdk") and self.find_exe("cl.exe"):
             # Assume that the SDK set up everything alright; don't try to be
             # smarter
             self.cc = "cl.exe"
index 46f61692a4362f1bb0f263c0b71fe22683b42ac1..d01c1b1edc7ce2dfd3d79246231b6f388fe930fd 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -39,6 +39,10 @@ Core and builtins
 Library
 -------
 
+- Bug #1508010: msvccompiler now requires the DISTUTILS_USE_SDK 
+  environment variable to be set in order to the SDK environment
+  for finding the compiler, include files, etc.
+
 - Bug #1515998: Properly generate logical ids for files in bdist_msi.
 
 - warnings.py now ignores ImportWarning by default