Chromium Code Reviews

Side by Side Diff: build/win/reorder-imports.py

Issue 109483003: Make sure Chrome_elf.dll imports are correct and that it the first import of chrome.exe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Disable tests on Winx64 Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/chrome_exe.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
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
4 # found in the LICENSE file.
5
6 import glob
7 import optparse
8 import os
9 import shutil
10 import subprocess
11 import sys
12
13 def reorder_imports(input_dir, output_dir):
14 """Run swapimports.exe on the initial chrome.exe, and write to the output
15 directory. Also copy over any related files that might be needed
16 (pdbs, manifests etc.).
17 """
18 input_image = '--input-image=%s' % (os.path.join(input_dir, 'chrome.exe'))
19 output_image = '--output-image=%s' % (os.path.join(output_dir, 'chrome.exe'))
20
21 swap_exe = os.path.join(
22 __file__,
23 '..\\..\\..\\third_party\\syzygy\\binaries\\exe\\swapimport.exe')
24 subprocess.call(
25 [swap_exe, input_image, output_image, '--overwrite', 'chrome_elf.dll'])
26
27 for fname in glob.iglob(os.path.join(input_dir, 'chrome.exe.*')):
28 shutil.copy(fname, os.path.join(output_dir, os.path.basename(fname)))
29 return 0
30
31
32 def main(argv):
33 usage = 'reorder_imports.py -i <input_dir> -o <output_dir>'
34 parser = optparse.OptionParser(usage=usage)
35 parser.add_option('-i', '--input', help='reorder chrome.exe in DIR',
36 metavar='DIR')
37 parser.add_option('-o', '--output', help='write new chrome.exe to DIR',
38 metavar='DIR')
39 opts, args = parser.parse_args()
40
41 if not opts.input or not opts.output:
42 parser.error('Please provide and input and output directory')
43 return reorder_imports(opts.input, opts.output)
44
45 if __name__ == "__main__":
46 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_exe.gypi » ('j') | no next file with comments »

Powered by Google App Engine