Chromium Code Reviews| 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 |