OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2016 The Chromium Authors. All rights reserved. | 2 # Copyright 2016 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 hashlib | 6 import hashlib |
7 import os | 7 import os |
8 import shutil | 8 import shutil |
9 import sys | 9 import sys |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
46 def _CopyCDBToOutput(output_dir, target_arch): | 46 def _CopyCDBToOutput(output_dir, target_arch): |
47 """Copies the Windows debugging executable cdb.exe to the output | 47 """Copies the Windows debugging executable cdb.exe to the output |
48 directory, which is created if it does not exist. The output | 48 directory, which is created if it does not exist. The output |
49 directory, and target architecture that should be copied, are | 49 directory, and target architecture that should be copied, are |
50 passed. Supported values for the target architecture are the GYP | 50 passed. Supported values for the target architecture are the GYP |
51 values "ia32" and "x64" and the GN values "x86" and "x64". | 51 values "ia32" and "x64" and the GN values "x86" and "x64". |
52 """ | 52 """ |
53 if not os.path.isdir(output_dir): | 53 if not os.path.isdir(output_dir): |
54 os.makedirs(output_dir) | 54 os.makedirs(output_dir) |
55 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() | 55 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() |
56 win_sdk_dir = os.path.normpath(os.environ['WINDOWSSDKDIR']) | 56 # If WINDOWSSDKDIR is not set use the default SDK path. This will be the case |
57 # when DEPOT_TOOLS_WIN_TOOLCHAIN=0 and vcvarsall.bat has not been run. | |
58 if not 'WINDOWSSDKDIR' in os.environ: | |
59 win_sdk_dir = 'C:\\Program Files (x86)\\Windows Kits\\10' | |
60 else: | |
61 win_sdk_dir = os.path.normpath(os.environ['WINDOWSSDKDIR']) | |
scottmg
2016/06/01 21:07:35
replace the if/else with os.path.normpath(os.envir
brucedawson
2016/06/01 22:24:07
Done.
| |
57 if target_arch == 'ia32' or target_arch == 'x86': | 62 if target_arch == 'ia32' or target_arch == 'x86': |
58 src_arch = 'x86' | 63 src_arch = 'x86' |
59 elif target_arch == 'x64': | 64 elif target_arch == 'x64': |
60 src_arch = 'x64' | 65 src_arch = 'x64' |
61 else: | 66 else: |
62 print 'copy_cdb_to_output.py: unknown target_arch %s' % target_arch | 67 print 'copy_cdb_to_output.py: unknown target_arch %s' % target_arch |
63 sys.exit(1) | 68 sys.exit(1) |
64 # We need to copy multiple files, so cache the computed source directory. | 69 # We need to copy multiple files, so cache the computed source directory. |
65 src_dir = os.path.join(win_sdk_dir, 'Debuggers', src_arch) | 70 src_dir = os.path.join(win_sdk_dir, 'Debuggers', src_arch) |
66 # Note that the outputs from the "copy_cdb_to_output" target need to | 71 # Note that the outputs from the "copy_cdb_to_output" target need to |
67 # be kept in sync with this list. | 72 # be kept in sync with this list. |
68 _CopyImpl('cdb.exe', output_dir, src_dir) | 73 _CopyImpl('cdb.exe', output_dir, src_dir) |
69 _CopyImpl('dbgeng.dll', output_dir, src_dir) | 74 _CopyImpl('dbgeng.dll', output_dir, src_dir) |
70 _CopyImpl('dbghelp.dll', output_dir, src_dir) | 75 _CopyImpl('dbghelp.dll', output_dir, src_dir) |
71 _CopyImpl('dbgmodel.dll', output_dir, src_dir) | 76 _CopyImpl('dbgmodel.dll', output_dir, src_dir) |
72 return 0 | 77 return 0 |
73 | 78 |
74 | 79 |
75 def main(): | 80 def main(): |
76 if len(sys.argv) < 2: | 81 if len(sys.argv) < 2: |
77 print >>sys.stderr, 'Usage: copy_cdb_to_output.py <output_dir> ' + \ | 82 print >>sys.stderr, 'Usage: copy_cdb_to_output.py <output_dir> ' + \ |
78 '<target_arch>' | 83 '<target_arch>' |
79 return 1 | 84 return 1 |
80 return _CopyCDBToOutput(sys.argv[1], sys.argv[2]) | 85 return _CopyCDBToOutput(sys.argv[1], sys.argv[2]) |
81 | 86 |
82 | 87 |
83 if __name__ == '__main__': | 88 if __name__ == '__main__': |
84 sys.exit(main()) | 89 sys.exit(main()) |
OLD | NEW |