Index: win_toolchain/get_toolchain_if_necessary.py |
diff --git a/win_toolchain/get_toolchain_if_necessary.py b/win_toolchain/get_toolchain_if_necessary.py |
index b3cc347fd4984f079b5d503d3848afcede9f194b..07e82729eee15089c6fbe9d90f4d8e99d580a6c9 100755 |
--- a/win_toolchain/get_toolchain_if_necessary.py |
+++ b/win_toolchain/get_toolchain_if_necessary.py |
@@ -26,7 +26,6 @@ future when a hypothetical VS2015 is released, the 2013 script will be |
maintained, and a new 2015 script would be added. |
""" |
-import _winreg |
import hashlib |
import json |
import optparse |
@@ -39,6 +38,23 @@ import tempfile |
import time |
import zipfile |
+# winreg isn't natively available under CygWin |
+if sys.platform == "win32": |
+ try: |
+ import winreg |
brucedawson
2016/01/21 21:03:22
Why are you importing winreg? Why not just "import
|
+ except ImportError: |
+ import _winreg as winreg |
+elif sys.platform == "cygwin": |
+ try: |
+ import cygwinreg as winreg |
+ except ImportError: |
+ print '' |
+ print 'CygWin does not natively support winreg but a replacement exists.' |
+ print 'https://pypi.python.org/pypi/cygwinreg/' |
+ print '' |
+ print 'Try: easy_install cygwinreg' |
+ print '' |
+ raise |
BASEDIR = os.path.dirname(os.path.abspath(__file__)) |
DEPOT_TOOLS_PATH = os.path.join(BASEDIR, '..') |
@@ -227,10 +243,10 @@ def GetInstallerName(): |
version APIs helpfully return a maximum of 6.2 (Windows 8). |
""" |
key_name = r'Software\Microsoft\Windows NT\CurrentVersion' |
- key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, key_name) |
- value, keytype = _winreg.QueryValueEx(key, "CurrentVersion") |
+ key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_name) |
+ value, keytype = winreg.QueryValueEx(key, "CurrentVersion") |
key.Close() |
- if keytype != _winreg.REG_SZ: |
+ if keytype != winreg.REG_SZ: |
raise Exception("Unexpected type in registry") |
if value == '6.1': |
# Windows 7 and Windows Server 2008 R2 |