OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 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 import glob | 6 import glob |
7 import json | 7 import json |
8 import os | 8 import os |
9 import pipes | 9 import pipes |
10 import platform | 10 import platform |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 vs_runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs() | 299 vs_runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs() |
300 if not vs_runtime_dll_dirs: | 300 if not vs_runtime_dll_dirs: |
301 return | 301 return |
302 | 302 |
303 x64_runtime, x86_runtime = vs_runtime_dll_dirs | 303 x64_runtime, x86_runtime = vs_runtime_dll_dirs |
304 runtime_dir = x64_runtime if target_cpu == 'x64' else x86_runtime | 304 runtime_dir = x64_runtime if target_cpu == 'x64' else x86_runtime |
305 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=False) | 305 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=False) |
306 if configuration == 'Debug': | 306 if configuration == 'Debug': |
307 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=True) | 307 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=True) |
308 | 308 |
| 309 _CopyDebugger(target_dir, target_cpu) |
| 310 |
| 311 |
| 312 def _CopyDebugger(target_dir, target_cpu): |
| 313 """Copy dbghelp.dll into the requested directory as needed. |
| 314 |
| 315 target_cpu is one of 'x86' or 'x64'. |
| 316 |
| 317 dbghelp.dll is used when Chrome needs to symbolize stacks. Copying this file |
| 318 from the SDK directory avoids using the system copy of dbghelp.dll which then |
| 319 ensures compatibility with recent debug information formats, such as VS |
| 320 2017 /debug:fastlink PDBs. |
| 321 """ |
| 322 win_sdk_dir = SetEnvironmentAndGetSDKDir() |
| 323 if not win_sdk_dir: |
| 324 return |
| 325 |
| 326 debug_file = 'dbghelp.dll' |
| 327 full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file) |
| 328 target_path = os.path.join(target_dir, debug_file) |
| 329 _CopyRuntimeImpl(target_path, full_path) |
| 330 |
309 | 331 |
310 def _GetDesiredVsToolchainHashes(): | 332 def _GetDesiredVsToolchainHashes(): |
311 """Load a list of SHA1s corresponding to the toolchains that we want installed | 333 """Load a list of SHA1s corresponding to the toolchains that we want installed |
312 to build with.""" | 334 to build with.""" |
313 env_version = GetVisualStudioVersion() | 335 env_version = GetVisualStudioVersion() |
314 if env_version == '2015': | 336 if env_version == '2015': |
315 # Update 3 final with patches with 10.0.14393.0 SDK. | 337 # Update 3 final with patches with 10.0.14393.0 SDK. |
316 return ['d3cb0e37bdd120ad0ac4650b674b09e81be45616'] | 338 return ['d3cb0e37bdd120ad0ac4650b674b09e81be45616'] |
317 if env_version == '2017': | 339 if env_version == '2017': |
318 # VS 2017 RTM with 10.0.14393.0 SDK and dbghelp.dll fixes. | 340 # VS 2017 RTM with 10.0.14393.0 SDK and dbghelp.dll fixes. |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 'copy_dlls': CopyDlls, | 435 'copy_dlls': CopyDlls, |
414 } | 436 } |
415 if len(sys.argv) < 2 or sys.argv[1] not in commands: | 437 if len(sys.argv) < 2 or sys.argv[1] not in commands: |
416 print >>sys.stderr, 'Expected one of: %s' % ', '.join(commands) | 438 print >>sys.stderr, 'Expected one of: %s' % ', '.join(commands) |
417 return 1 | 439 return 1 |
418 return commands[sys.argv[1]](*sys.argv[2:]) | 440 return commands[sys.argv[1]](*sys.argv[2:]) |
419 | 441 |
420 | 442 |
421 if __name__ == '__main__': | 443 if __name__ == '__main__': |
422 sys.exit(main()) | 444 sys.exit(main()) |
OLD | NEW |