OLD | NEW |
---|---|
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """ | 5 """ |
6 From a system-installed copy of the toolchain, packages all the required bits | 6 From a system-installed copy of the toolchain, packages all the required bits |
7 into a .zip file. | 7 into a .zip file. |
8 | 8 |
9 It assumes default install locations for tools, in particular: | 9 It assumes default install locations for tools, in particular: |
10 - C:\Program Files (x86)\Microsoft Visual Studio 12.0\... | 10 - C:\Program Files (x86)\Microsoft Visual Studio 12.0\... |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
126 # (uncompressed) per version and wastes time. Only copy the specified | 126 # (uncompressed) per version and wastes time. Only copy the specified |
127 # version. | 127 # version. |
128 if (tail.startswith('Include\\') or tail.startswith('Lib\\') or | 128 if (tail.startswith('Include\\') or tail.startswith('Lib\\') or |
129 tail.startswith('Source\\')): | 129 tail.startswith('Source\\')): |
130 if tail.count(WIN_VERSION) == 0: | 130 if tail.count(WIN_VERSION) == 0: |
131 continue | 131 continue |
132 to = os.path.join('win_sdk', tail) | 132 to = os.path.join('win_sdk', tail) |
133 result.append((combined, to)) | 133 result.append((combined, to)) |
134 | 134 |
135 if VS_VERSION == '2015': | 135 if VS_VERSION == '2015': |
136 # The Windows 10 Universal C Runtime installers are needed when packaging | |
137 # VS 2015. They can be download from here: | |
138 # https://support.microsoft.com/en-us/kb/2999226 | |
139 # and they must be downloaded to the current user's downloads directory. | |
scottmg
2016/01/14 22:45:11
This is a bit weird, but OK.
| |
140 # The versions needed are those for 64-bit Windows 7, Windows 8, and | |
141 # Windows 8.1. The 64-bit Server 2008 R2, Server 2012, and Server 2012 R2 | |
142 # versions are identical (same name and contents). | |
143 universal_runtime_installers = [ | |
144 'Windows6.1-KB2999226-x64.msu', | |
145 'Windows8-RT-KB2999226-x64.msu', | |
146 'Windows8.1-KB2999226-x64.msu', | |
147 ] | |
148 | |
149 for installer in universal_runtime_installers: | |
150 result.append((os.path.join(os.environ['userprofile'], 'downloads', | |
151 installer), | |
scottmg
2016/01/14 22:45:11
Align to inside the (.
brucedawson
2016/01/15 00:10:31
You mean indent one more space? Done.
| |
152 os.path.join('installers', installer))) | |
136 | 153 |
137 system_crt_files = [ | 154 system_crt_files = [ |
138 'api-ms-win-core-file-l1-2-0.dll', | 155 # Needed to let debug binaries run. |
139 'api-ms-win-core-file-l2-1-0.dll', | |
140 'api-ms-win-core-localization-l1-2-0.dll', | |
141 'api-ms-win-core-processthreads-l1-1-1.dll', | |
142 'api-ms-win-core-synch-l1-2-0.dll', | |
143 'api-ms-win-core-timezone-l1-1-0.dll', | |
144 'api-ms-win-core-xstate-l2-1-0.dll', | |
145 'api-ms-win-crt-conio-l1-1-0.dll', | |
146 'api-ms-win-crt-convert-l1-1-0.dll', | |
147 'api-ms-win-crt-environment-l1-1-0.dll', | |
148 'api-ms-win-crt-filesystem-l1-1-0.dll', | |
149 'api-ms-win-crt-heap-l1-1-0.dll', | |
150 'api-ms-win-crt-locale-l1-1-0.dll', | |
151 'api-ms-win-crt-math-l1-1-0.dll', | |
152 'api-ms-win-crt-multibyte-l1-1-0.dll', | |
153 'api-ms-win-crt-private-l1-1-0.dll', | |
154 'api-ms-win-crt-process-l1-1-0.dll', | |
155 'api-ms-win-crt-runtime-l1-1-0.dll', | |
156 'api-ms-win-crt-stdio-l1-1-0.dll', | |
157 'api-ms-win-crt-string-l1-1-0.dll', | |
158 'api-ms-win-crt-time-l1-1-0.dll', | |
159 'api-ms-win-crt-utility-l1-1-0.dll', | |
160 'api-ms-win-eventing-provider-l1-1-0.dll', | |
161 'ucrtbase.dll', | |
162 'ucrtbased.dll', | 156 'ucrtbased.dll', |
163 ] | 157 ] |
164 bitness = platform.architecture()[0] | 158 bitness = platform.architecture()[0] |
165 # When running 64-bit python the x64 DLLs will be in System32 | 159 # When running 64-bit python the x64 DLLs will be in System32 |
166 x64_path = 'System32' if bitness == '64bit' else 'Sysnative' | 160 x64_path = 'System32' if bitness == '64bit' else 'Sysnative' |
167 x64_path = os.path.join(r'C:\Windows', x64_path) | 161 x64_path = os.path.join(r'C:\Windows', x64_path) |
168 for system_crt_file in system_crt_files: | 162 for system_crt_file in system_crt_files: |
169 result.append((os.path.join(r'C:\Windows\SysWOW64', system_crt_file), | 163 result.append((os.path.join(r'C:\Windows\SysWOW64', system_crt_file), |
170 os.path.join('sys32', system_crt_file))) | 164 os.path.join('sys32', system_crt_file))) |
171 result.append((os.path.join(x64_path, system_crt_file), | 165 result.append((os.path.join(x64_path, system_crt_file), |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
323 sys.stdout.write('\rWrote to %s.%s\n' % (output, ' '*50)) | 317 sys.stdout.write('\rWrote to %s.%s\n' % (output, ' '*50)) |
324 sys.stdout.flush() | 318 sys.stdout.flush() |
325 | 319 |
326 RenameToSha1(output) | 320 RenameToSha1(output) |
327 | 321 |
328 return 0 | 322 return 0 |
329 | 323 |
330 | 324 |
331 if __name__ == '__main__': | 325 if __name__ == '__main__': |
332 sys.exit(main()) | 326 sys.exit(main()) |
OLD | NEW |