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

Side by Side Diff: tools/win/toolchain/toolchain.py

Issue 70493006: Auto-updating script for Windows toolchain (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove DEPS Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « tools/win/toolchain/get_toolchain_if_necessary.py ('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 # Copyright 2012 The Chromium Authors. All rights reserved. 1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # Extracts a Windows toolchain suitable for building Chrome from various 5 # Extracts a Windows toolchain suitable for building Chrome from various
6 # downloadable pieces. 6 # downloadable pieces.
7 7
8 8
9 import ctypes 9 import ctypes
10 from optparse import OptionParser 10 from optparse import OptionParser
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 sys.stdout.write('Cleaning up temporaries...\n') 50 sys.stdout.write('Cleaning up temporaries...\n')
51 for temp in g_temp_dirs: 51 for temp in g_temp_dirs:
52 # shutil.rmtree errors out on read only attributes. 52 # shutil.rmtree errors out on read only attributes.
53 RunOrDie('rmdir /s/q "%s"' % temp) 53 RunOrDie('rmdir /s/q "%s"' % temp)
54 g_temp_dirs = [] 54 g_temp_dirs = []
55 55
56 56
57 def Download(url, local_path): 57 def Download(url, local_path):
58 """Download a large-ish binary file and print some status information while 58 """Download a large-ish binary file and print some status information while
59 doing so.""" 59 doing so."""
60 sys.stdout.write('Downloading %s...' % url) 60 sys.stdout.write('Downloading %s...\n' % url)
61 req = urllib2.urlopen(url) 61 req = urllib2.urlopen(url)
62 content_length = int(req.headers.get('Content-Length', 0)) 62 content_length = int(req.headers.get('Content-Length', 0))
63 bytes_read = 0 63 bytes_read = 0
64 terminator = '\r' if sys.stdout.isatty() else '\n'
64 with open(local_path, 'wb') as file: 65 with open(local_path, 'wb') as file:
65 while True: 66 while True:
66 chunk = req.read(1024 * 1024) 67 chunk = req.read(1024 * 1024)
67 if not chunk: 68 if not chunk:
68 break 69 break
69 bytes_read += len(chunk) 70 bytes_read += len(chunk)
70 file.write(chunk) 71 file.write(chunk)
71 sys.stdout.write('.') 72 sys.stdout.write('... %d/%d%s' % (bytes_read, content_length, terminator))
73 sys.stdout.flush()
72 sys.stdout.write('\n') 74 sys.stdout.write('\n')
73 if content_length and content_length != bytes_read: 75 if content_length and content_length != bytes_read:
74 raise SystemExit('Got incorrect number of bytes downloading %s' % url) 76 raise SystemExit('Got incorrect number of bytes downloading %s' % url)
75 77
76 78
77 def DownloadSDK71Iso(): 79 def DownloadSDK71Iso():
78 sdk7_temp_dir = TempDir() 80 sdk7_temp_dir = TempDir()
79 target_path = os.path.join(sdk7_temp_dir, 'GRMSDKX_EN_DVD.iso') 81 target_path = os.path.join(sdk7_temp_dir, 'GRMSDKX_EN_DVD.iso')
80 Download( 82 Download(
81 ('http://download.microsoft.com/download/' 83 ('http://download.microsoft.com/download/'
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 ex_path=ex_path, 219 ex_path=ex_path,
218 update_path=update_path, 220 update_path=update_path,
219 wdk_iso=wdk_iso) 221 wdk_iso=wdk_iso)
220 222
221 223
222 def ExtractIso(iso_path): 224 def ExtractIso(iso_path):
223 """Use 7zip to extract the contents of the given .iso (or self-extracting 225 """Use 7zip to extract the contents of the given .iso (or self-extracting
224 .exe).""" 226 .exe)."""
225 target_path = TempDir() 227 target_path = TempDir()
226 sys.stdout.write('Extracting %s...\n' % iso_path) 228 sys.stdout.write('Extracting %s...\n' % iso_path)
229 sys.stdout.flush()
227 # TODO(scottmg): Do this (and exe) manually with python code. 230 # TODO(scottmg): Do this (and exe) manually with python code.
228 # Note that at the beginning of main() we set the working directory to 7z's 231 # Note that at the beginning of main() we set the working directory to 7z's
229 # location. 232 # location.
230 RunOrDie('7z x "%s" -y "-o%s" >nul' % (iso_path, target_path)) 233 RunOrDie('7z x "%s" -y "-o%s" >nul' % (iso_path, target_path))
231 return target_path 234 return target_path
232 235
233 236
234 ExtractExe = ExtractIso 237 ExtractExe = ExtractIso
235 238
236 239
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 " gclient runhooks (or gclient sync if you haven't pulled deps yet)\n" 705 " gclient runhooks (or gclient sync if you haven't pulled deps yet)\n"
703 ' ninja -C out\Debug chrome\n\n' 706 ' ninja -C out\Debug chrome\n\n'
704 'Note that this script intentionally does not modify any global\n' 707 'Note that this script intentionally does not modify any global\n'
705 'settings like the registry, or system environment variables, so you\n' 708 'settings like the registry, or system environment variables, so you\n'
706 'will need to run the above env.bat whenever you start a new\n' 709 'will need to run the above env.bat whenever you start a new\n'
707 'shell.\n\n' % target_dir) 710 'shell.\n\n' % target_dir)
708 711
709 712
710 if __name__ == '__main__': 713 if __name__ == '__main__':
711 main() 714 main()
OLDNEW
« no previous file with comments | « tools/win/toolchain/get_toolchain_if_necessary.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698