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

Side by Side Diff: tools/clang/scripts/update.py

Issue 587383003: Make Clang's update.py use the Win toolchain under depot_tools if available (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: json import no longer needed Created 6 years, 2 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 | « DEPS ('k') | 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Windows can't run .sh files, so this is a Python implementation of 6 """Windows can't run .sh files, so this is a Python implementation of
7 update.sh. This script should replace update.sh on all platforms eventually.""" 7 update.sh. This script should replace update.sh on all platforms eventually."""
8 8
9 import os 9 import os
10 import re 10 import re
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 if os.path.isdir(d): 129 if os.path.isdir(d):
130 os.environ['PATH'] = os.environ.get('PATH', '') + os.pathsep + d 130 os.environ['PATH'] = os.environ.get('PATH', '') + os.pathsep + d
131 return 131 return
132 print 'Failed to find CMake!' 132 print 'Failed to find CMake!'
133 sys.exit(1) 133 sys.exit(1)
134 134
135 135
136 vs_version = None 136 vs_version = None
137 def GetVSVersion(): 137 def GetVSVersion():
138 global vs_version 138 global vs_version
139 if not vs_version: 139 if vs_version:
140 # TODO(hans): Find a less hacky way to find the MSVS installation. 140 return vs_version
141 sys.path.append(os.path.join(CHROMIUM_DIR, 'tools', 'gyp', 'pylib')) 141
142 import gyp.MSVSVersion 142 # Try using the toolchain in depot_tools.
143 # We request VS 2013 because Clang won't build with 2010, and 2013 will be 143 # This sets environment variables used by SelectVisualStudioVersion below.
144 # the default for Chromium soon anyway. 144 sys.path.append(os.path.join(CHROMIUM_DIR, 'build'))
145 vs_version = gyp.MSVSVersion.SelectVisualStudioVersion('2013') 145 import vs_toolchain
146 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
147
148 # Use gyp to find the MSVS installation, either in depot_tools as per above,
149 # or a system-wide installation otherwise.
150 sys.path.append(os.path.join(CHROMIUM_DIR, 'tools', 'gyp', 'pylib'))
151 import gyp.MSVSVersion
152 vs_version = gyp.MSVSVersion.SelectVisualStudioVersion('2013')
146 return vs_version 153 return vs_version
147 154
148 155
149 def UpdateClang(): 156 def UpdateClang():
150 print 'Updating Clang to %s...' % (LLVM_WIN_REVISION) 157 print 'Updating Clang to %s...' % (LLVM_WIN_REVISION)
151 if LLVM_WIN_REVISION != 'HEAD' and ReadStampFile() == LLVM_WIN_REVISION: 158 if LLVM_WIN_REVISION != 'HEAD' and ReadStampFile() == LLVM_WIN_REVISION:
152 print 'Already up to date.' 159 print 'Already up to date.'
153 return 0 160 return 0
154 161
155 AddCMakeToPath() 162 AddCMakeToPath()
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 247
241 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')): 248 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
242 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).' 249 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
243 return 0 250 return 0
244 251
245 return UpdateClang() 252 return UpdateClang()
246 253
247 254
248 if __name__ == '__main__': 255 if __name__ == '__main__':
249 sys.exit(main()) 256 sys.exit(main())
OLDNEW
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698