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 # Script for converting celt_pitch_xcorr_arm.s -> celt_pitch_xcorr_arm.S 7 # using the arm2gnu.pl script. 8 9 import os 10 import sys 11 12 13 USAGE = ('Usage:\n' 14 './convert_rtcd_assembler.py arm2gnu_script input_file output_file') 15 16 17 def main(argv): 18 if len(argv) != 3: 19 print >> sys.stderr, ('Error: You must pass the following arguments:\n' 20 ' * arm2gnu_script_path\n' 21 ' * input_file\n' 22 ' * output_file') 23 print USAGE 24 return 1 25 26 arm2gnu_script = os.path.abspath(argv[0]) 27 if not os.path.exists(arm2gnu_script): 28 print >> sys.stderr, ('Error: Cannot find arm2gnu.pl script at: %s.' % 29 arm2gnu_script) 30 return 2 31 32 input_file = os.path.abspath(argv[1]) 33 if not os.path.exists(input_file): 34 print >> sys.stderr, 'Error: Cannot find input file at: %s.' % input_file 35 return 3 36 37 output_file = argv[2] 38 39 # Ensure the output file's directory path exists. 40 output_dir = os.path.dirname(output_file) 41 if not os.path.exists(output_dir): 42 os.makedirs(output_dir) 43 44 cmd = ('perl %s %s | ' 45 'sed "s/OPUS_ARM_MAY_HAVE_[A-Z]*/1/g" | ' 46 'sed "/.include/d" ' 47 '> %s') % (arm2gnu_script, input_file, output_file) 48 print cmd 49 return os.system(cmd) 50 51 if __name__ == '__main__': 52 sys.exit(main(sys.argv[1:])) 53