| # Copyright 2015 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | # Helper script to run dump_syms on Chrome Linux executables and strip | 
 | # them if needed. | 
 |  | 
 | import os | 
 | import subprocess | 
 | import sys | 
 |  | 
 | if len(sys.argv) != 5: | 
 |   print "dump_app_syms.py <dump_syms_exe> <strip_binary>" | 
 |   print "                 <binary_with_symbols> <symbols_output>" | 
 |   sys.exit(1) | 
 |  | 
 | dumpsyms = sys.argv[1] | 
 | strip_binary = sys.argv[2] | 
 | infile = sys.argv[3] | 
 | outfile = sys.argv[4] | 
 |  | 
 | # Dump only when the output file is out-of-date. | 
 | if not os.path.isfile(outfile) or \ | 
 |    os.stat(outfile).st_mtime < os.stat(infile).st_mtime: | 
 |   with open(outfile, 'w') as outfileobj: | 
 |     subprocess.check_call([dumpsyms, infile], stdout=outfileobj) | 
 |  | 
 | if strip_binary != '0': | 
 |   subprocess.check_call(['strip', infile]) |