summaryrefslogtreecommitdiff
path: root/setuptools/msvc9_support.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-02-23 15:56:47 -0400
committerJason R. Coombs <jaraco@jaraco.com>2016-02-23 15:56:47 -0400
commit6d11de6d754a73307dd62c7ba499c3f14c5f675b (patch)
treec0a995fccb4b5c28d49a5a5fc4e54d734877e251 /setuptools/msvc9_support.py
parent758b4249b82b63657fe1b31d59810b4ee098473c (diff)
downloadpython-setuptools-git-6d11de6d754a73307dd62c7ba499c3f14c5f675b.tar.gz
Move finding of visual studio into RegistryInfo
Diffstat (limited to 'setuptools/msvc9_support.py')
-rw-r--r--setuptools/msvc9_support.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/setuptools/msvc9_support.py b/setuptools/msvc9_support.py
index fbf81bab..7728eb79 100644
--- a/setuptools/msvc9_support.py
+++ b/setuptools/msvc9_support.py
@@ -164,6 +164,14 @@ class RegistryInfo:
def windows_sdk(self):
return os.path.join(self.microsoft, r'Microsoft SDKs\Windows')
+ def find_visual_studio(self):
+ """
+ Find Microsoft Visual Studio directory
+ """
+ name = 'Microsoft Visual Studio %0.1f' % self.version
+ default = os.path.join(self.platform_info.program_files_x86, name)
+ return self.lookup(self.vs, '%0.1f' % self.version) or default
+
def lookup(self, base, key):
try:
return distutils.msvc9compiler.Reg.get_value(base, key)
@@ -180,11 +188,6 @@ def _query_vcvarsall(version, arch):
reg = RegistryInfo(pi, version)
reg_value = reg.lookup
- # Find Microsoft Visual Studio directory
- name = 'Microsoft Visual Studio %0.1f' % version
- default_vs = os.path.join(pi.program_files_x86, name)
- VsInstallDir = reg_value(reg.vs, '%0.1f' % version) or default_vs
-
# Find Microsoft Visual C++ directory
# If fail, use default path
@@ -254,8 +257,8 @@ def _query_vcvarsall(version, arch):
# Set Microsoft Visual Studio Tools
VSTools = [
- os.path.join(VsInstallDir, r'Common7\IDE'),
- os.path.join(VsInstallDir, r'Common7\Tools'),
+ os.path.join(reg.find_visual_studio(), r'Common7\IDE'),
+ os.path.join(reg.find_visual_studio(), r'Common7\Tools'),
]
# Set Microsoft Visual C++ Includes
@@ -302,7 +305,7 @@ def _query_vcvarsall(version, arch):
FxTools.append(os.path.join(FrameworkDir64, ver))
# Set Microsoft Visual Studio Team System Database
- VsTDb = [os.path.join(VsInstallDir, r'VSTSDB\Deploy')]
+ VsTDb = [os.path.join(reg.find_visual_studio(), r'VSTSDB\Deploy')]
# Return Environment Variables
env = {}