Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: tools/utils.py

Issue 1257013004: Update build utils to prefer Visual Studio 2013. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 # This file contains a set of utilities functions used by other Python-based 5 # This file contains a set of utilities functions used by other Python-based
6 # scripts. 6 # scripts.
7 7
8 import commands 8 import commands
9 import datetime 9 import datetime
10 import json 10 import json
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 # We need to know whether host is 64-bit so that we are looking in right 90 # We need to know whether host is 64-bit so that we are looking in right
91 # registry for Visual Studio path. 91 # registry for Visual Studio path.
92 if sys.maxsize > 2**32 or win32process.IsWow64Process(): 92 if sys.maxsize > 2**32 or win32process.IsWow64Process():
93 wow6432Node = 'Wow6432Node\\' 93 wow6432Node = 'Wow6432Node\\'
94 else: 94 else:
95 wow6432Node = '' 95 wow6432Node = ''
96 return r'SOFTWARE\%s%s' % (wow6432Node, name) 96 return r'SOFTWARE\%s%s' % (wow6432Node, name)
97 97
98 # Try to guess Visual Studio location when buiding on Windows. 98 # Try to guess Visual Studio location when buiding on Windows.
99 def GuessVisualStudioPath(): 99 def GuessVisualStudioPath():
100 defaultPath = r"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7" \ 100 defaultPath = r"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7" \
101 r"\IDE" 101 r"\IDE"
102 defaultExecutable = "devenv.com" 102 defaultExecutable = "devenv.com"
103 103
104 if not IsWindows(): 104 if not IsWindows():
105 return defaultPath, defaultExecutable 105 return defaultPath, defaultExecutable
106 106
107 keyNamesAndExecutables = [ 107 keyNamesAndExecutables = [
108 # Pair for non-Express editions. 108 # Pair for non-Express editions.
109 (GetWindowsRegistryKeyName(r'Microsoft\VisualStudio'), 'devenv.com'), 109 (GetWindowsRegistryKeyName(r'Microsoft\VisualStudio'), 'devenv.com'),
110 # Pair for 2012 Express edition. 110 # Pair for 2012 Express edition.
(...skipping 24 matching lines...) Expand all
135 match = re.match(r'^\d+\.\d+$', subkeyName) 135 match = re.match(r'^\d+\.\d+$', subkeyName)
136 if match: 136 if match:
137 with _winreg.OpenKey(key, subkeyName) as subkey: 137 with _winreg.OpenKey(key, subkeyName) as subkey:
138 try: 138 try:
139 (installDir, registrytype) = _winreg.QueryValueEx(subkey, 139 (installDir, registrytype) = _winreg.QueryValueEx(subkey,
140 'InstallDir') 140 'InstallDir')
141 except WindowsError: 141 except WindowsError:
142 # Can't find value under the key - continue to the next key. 142 # Can't find value under the key - continue to the next key.
143 continue 143 continue
144 isExpress = executable != 'devenv.com' 144 isExpress = executable != 'devenv.com'
145 if not isExpress and subkeyName == '10.0': 145 if not isExpress and subkeyName == '12.0':
146 # Stop search since if we found non-Express VS2010 version 146 # Stop search since if we found non-Express VS2013 version
147 # installed, which is preferred version. 147 # installed, which is preferred version.
148 return installDir, executable 148 return installDir, executable
149 else: 149 else:
150 version = float(subkeyName) 150 version = float(subkeyName)
151 # We prefer higher version of Visual Studio and given equal 151 # We prefer higher version of Visual Studio and given equal
152 # version numbers we prefer non-Express edition. 152 # version numbers we prefer non-Express edition.
153 if version > bestGuess[0]: 153 if version > bestGuess[0]:
154 bestGuess = (version, (installDir, executable)) 154 bestGuess = (version, (installDir, executable))
155 finally: 155 finally:
156 _winreg.CloseKey(key) 156 _winreg.CloseKey(key)
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 os.chdir(self._working_directory) 613 os.chdir(self._working_directory)
614 614
615 def __exit__(self, *_): 615 def __exit__(self, *_):
616 print "Enter directory = ", self._old_cwd 616 print "Enter directory = ", self._old_cwd
617 os.chdir(self._old_cwd) 617 os.chdir(self._old_cwd)
618 618
619 619
620 if __name__ == "__main__": 620 if __name__ == "__main__":
621 import sys 621 import sys
622 Main() 622 Main()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698