summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2006-07-10 07:23:48 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2006-07-10 07:23:48 (GMT)
commit8d65681e947e7c95173e0944ec6ea0277e66d591 (patch)
treee9ada477249a5f7ede9f701719937c45d22f43e7
parent56640df6c3dfd7e7a0a36789e17fc2cf88602ad4 (diff)
downloadcpython-8d65681e947e7c95173e0944ec6ea0277e66d591.zip
cpython-8d65681e947e7c95173e0944ec6ea0277e66d591.tar.gz
cpython-8d65681e947e7c95173e0944ec6ea0277e66d591.tar.bz2
Introduce DISTUTILS_USE_SDK as a flag to determine whether the
SDK environment should be used. Fixes #1508010.
-rw-r--r--Doc/dist/dist.tex17
-rw-r--r--Lib/distutils/msvccompiler.py2
-rw-r--r--Misc/NEWS4
3 files changed, 19 insertions, 4 deletions
diff --git a/Doc/dist/dist.tex b/Doc/dist/dist.tex
index e95c0d3..6f1d8bc 100644
--- a/Doc/dist/dist.tex
+++ b/Doc/dist/dist.tex
@@ -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}
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index d24d0ac..d725905 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -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"
diff --git a/Misc/NEWS b/Misc/NEWS
index 46f6169..d01c1b1 100644
--- 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