diff options
Diffstat (limited to 'android_bench_suite/set_flags.py')
-rw-r--r-- | android_bench_suite/set_flags.py | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/android_bench_suite/set_flags.py b/android_bench_suite/set_flags.py deleted file mode 100644 index a243c7cf..00000000 --- a/android_bench_suite/set_flags.py +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2017 The Chromium OS 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 functions to put user defined flags to mk/bp files""" - -from __future__ import print_function - -import config -import os -import subprocess - - -# Find the makefile/blueprint based on the benchmark, and make a copy of -# it for restoring later. -def backup_file(bench, file_type): - mk_file = os.path.join(config.android_home, config.bench_dict[bench], - 'Android.' + file_type) - try: - # Make a copy of the makefile/blueprint so that we can recover it after - # building the benchmark - subprocess.check_call([ - 'cp', mk_file, - os.path.join(config.android_home, config.bench_dict[bench], - 'tmp_makefile') - ]) - except subprocess.CalledProcessError(): - raise OSError('Cannot backup Android.%s file for %s' % (file_type, bench)) - - -# Insert lines to add LOCAL_CFLAGS/LOCAL_LDFLAGS to the benchmarks -# makefile/blueprint -def replace_flags(bench, android_type, file_type, cflags, ldflags): - # Use format ["Flag1", "Flag2"] for bp file - if file_type == 'bp': - if cflags: - cflags = '\", \"'.join(cflags.split()) - if ldflags: - ldflags = '\", \"'.join(ldflags.split()) - - if not cflags: - cflags = '' - else: - cflags = '\"' + cflags + '\",' - if not ldflags: - ldflags = '' - else: - ldflags = '\"' + ldflags + '\",' - - # Two different diffs are used for aosp or internal android repo. - if android_type == 'aosp': - bench_diff = bench + '_flags_aosp.diff' - else: - bench_diff = bench + '_flags_internal.diff' - - # Replace CFLAGS_FOR_BENCH_SUITE marker with proper cflags - output = '' - with open(bench_diff) as f: - for line in f: - line = line.replace('CFLAGS_FOR_BENCH_SUITE', cflags) - line = line.replace('LDFLAGS_FOR_BENCH_SUITE', ldflags) - output += line - - with open('modified.diff', 'w') as f: - f.write(output) - - -def apply_patches(bench): - bench_dir = os.path.join(config.android_home, config.bench_dict[bench]) - bench_diff = 'modified.diff' - flags_patch = os.path.join( - os.path.dirname(os.path.realpath(__file__)), bench_diff) - try: - subprocess.check_call(['git', '-C', bench_dir, 'apply', flags_patch]) - except subprocess.CalledProcessError: - raise OSError('Patch for adding flags for %s does not succeed.' % (bench)) - - -def replace_flags_in_dir(bench, cflags, ldflags): - bench_mk = os.path.join(config.android_home, config.bench_dict[bench], - 'Android.mk') - - if not cflags: - cflags = '' - if not ldflags: - ldflags = '' - - output = '' - with open(bench_mk) as f: - for line in f: - line = line.replace('$(CFLAGS_FOR_BENCH_SUITE)', cflags) - line = line.replace('$(LDFLAGS_FOR_BENCH_SUITE)', ldflags) - output += line - with open(bench_mk, 'w') as f: - f.write(output) - - -def add_flags_Panorama(cflags, ldflags): - backup_file('Panorama', 'mk') - replace_flags_in_dir('Panorama', cflags, ldflags) - - -def add_flags_Synthmark(cflags, ldflags): - backup_file('Synthmark', 'mk') - replace_flags_in_dir('Synthmark', cflags, ldflags) - - -def add_flags_Skia(cflags, ldflags): - backup_file('Skia', 'bp') - replace_flags('Skia', config.android_type, 'bp', cflags, ldflags) - apply_patches('Skia') - - -def add_flags_Binder(cflags, ldflags): - backup_file('Binder', 'bp') - replace_flags('Binder', config.android_type, 'bp', cflags, ldflags) - apply_patches('Binder') - - -def add_flags_Hwui(cflags, ldflags): - backup_file('Hwui', 'bp') - replace_flags('Hwui', config.android_type, 'bp', cflags, ldflags) - apply_patches('Hwui') - - -def add_flags_Dex2oat(cflags, ldflags): - backup_file('Dex2oat', 'bp') - replace_flags('Dex2oat', config.android_type, 'bp', cflags, ldflags) - apply_patches('Dex2oat') |