From aae46dd89bbf30bbcf364912be41bea044557a34 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 21 Jun 2010 15:39:28 +0000 Subject: [PATCH] Merged revisions 82130 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r82130 | benjamin.peterson | 2010-06-21 10:27:46 -0500 (Mon, 21 Jun 2010) | 1 line fix finding visual studio 2008 on 64 bit #8854 ........ --- Lib/distutils/msvc9compiler.py | 15 ++++++++++++--- Misc/NEWS | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py index 9bf54c102d3..9fe8c744cb9 100644 --- a/Lib/distutils/msvc9compiler.py +++ b/Lib/distutils/msvc9compiler.py @@ -37,9 +37,18 @@ HKEYS = (_winreg.HKEY_USERS, _winreg.HKEY_LOCAL_MACHINE, _winreg.HKEY_CLASSES_ROOT) -VS_BASE = r"Software\Microsoft\VisualStudio\%0.1f" -WINSDK_BASE = r"Software\Microsoft\Microsoft SDKs\Windows" -NET_BASE = r"Software\Microsoft\.NETFramework" +NATIVE_WIN64 = (sys.platform == 'win32' and sys.maxsize > 2**32) +if NATIVE_WIN64: + # Visual C++ is a 32-bit application, so we need to look in + # the corresponding registry branch, if we're running a + # 64-bit Python on Win64 + VS_BASE = r"Software\Wow6432Node\Microsoft\VisualStudio\%0.1f" + WINSDK_BASE = r"Software\Wow6432Node\Microsoft\Microsoft SDKs\Windows" + NET_BASE = r"Software\Wow6432Node\Microsoft\.NETFramework" +else: + VS_BASE = r"Software\Microsoft\VisualStudio\%0.1f" + WINSDK_BASE = r"Software\Microsoft\Microsoft SDKs\Windows" + NET_BASE = r"Software\Microsoft\.NETFramework" # A map keyed by get_platform() return values to values accepted by # 'vcvarsall.bat'. Note a cross-compile may combine these (eg, 'x86_amd64' is diff --git a/Misc/NEWS b/Misc/NEWS index d0e8d4b733d..e8eab869ce0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -270,6 +270,8 @@ Extension Modules Build ----- +- Issue #8854: Fix finding Visual Studio 2008 on Windows x64. + - Issue #3928: os.mknod() now available in Solaris, also. - Issue #8175: --with-universal-archs=all works correctly on OSX 10.5