| 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. | 
|  | 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), | 
|  | 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 | 
|---|