#!/usr/bin/env python
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Script for converting celt_pitch_xcorr_arm.s -> celt_pitch_xcorr_arm.S
# using the arm2gnu.pl script.
from __future__ import print_function
import os
import sys
USAGE = ('Usage:\n'
'./convert_rtcd_assembler.py arm2gnu_script input_file output_file')
def main(argv):
if len(argv) != 3:
print('Error: You must pass the following arguments:\n'
' * arm2gnu_script_path\n'
' * input_file\n'
' * output_file', file=sys.stderr)
print(USAGE)
return 1
arm2gnu_script = os.path.abspath(argv[0])
if not os.path.exists(arm2gnu_script):
print('Error: Cannot find arm2gnu.pl script at: %s.' %
arm2gnu_script, file=sys.stderr)
return 2
input_file = os.path.abspath(argv[1])
if not os.path.exists(input_file):
print('Error: Cannot find input file at: %s.' % input_file, file=sys.stderr)
return 3
output_file = argv[2]
# Ensure the output file's directory path exists.
output_dir = os.path.dirname(output_file)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
cmd = ('perl %s %s | '
'sed "s/OPUS_ARM_MAY_HAVE_[A-Z]*/1/g" | '
'sed "/.include/d" '
'> %s') % (arm2gnu_script, input_file, output_file)
return os.system(cmd)
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))