Make create_reference_dumps.py faster.
Since we now build and install all vndk libraries,regardless of
dependencies, we may just look for all files with the extension '.lsdump' for
TARGET_ARCH and TARGET_2ND_ARCH, and copy them to the given reference dump
directory.
Test: utils/create_reference_dumps.py --version current -ref-dump-dir
<dir> creates reference dumps at <dir>
Change-Id: Ic9db57b00614b3e8dc18d8e56eab4bd87df1723c
This commit is contained in:
@@ -5,12 +5,8 @@ import re
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
from utils import make_library
|
||||
from utils import find_lib_lsdump
|
||||
from utils import get_build_var
|
||||
from utils import AOSP_DIR
|
||||
from utils import read_output_content
|
||||
from utils import copy_reference_dump
|
||||
from utils import (make_library, find_lib_lsdumps, get_build_var, AOSP_DIR,
|
||||
read_output_content, copy_reference_dumps)
|
||||
|
||||
class Target(object):
|
||||
def __init__(self, has_2nd):
|
||||
@@ -20,27 +16,19 @@ class Target(object):
|
||||
self.cpu_variant = \
|
||||
get_build_var('TARGET{}_CPU_VARIANT'.format(extra))
|
||||
|
||||
def get_vndk_libs(vndk_list_path):
|
||||
with open(vndk_list_path, 'r') as f:
|
||||
return f.read().splitlines()
|
||||
|
||||
def create_source_abi_reference_dumps(soong_dir, vndk_libs, args):
|
||||
def create_source_abi_reference_dumps(soong_dir, args):
|
||||
ref_dump_dir_stem = os.path.join(args.ref_dump_dir, args.version)
|
||||
ref_dump_dir_insertion = 'source-based'
|
||||
num_libs_copied = 0
|
||||
for vndk_lib in vndk_libs:
|
||||
if args.make_libs:
|
||||
make_library(vndk_lib)
|
||||
for target in [Target(True), Target(False)]:
|
||||
arch_lsdump_path = find_lib_lsdump(vndk_lib, target.arch,
|
||||
target.arch_variant,
|
||||
target.cpu_variant)
|
||||
# Copy the contents of the lsdump into it's corresponding
|
||||
# reference directory.
|
||||
num_libs_copied += copy_reference_dump(arch_lsdump_path,
|
||||
ref_dump_dir_stem,
|
||||
ref_dump_dir_insertion,
|
||||
target.arch)
|
||||
for target in [Target(True), Target(False)]:
|
||||
arch_lsdump_paths = find_lib_lsdumps(target.arch, target.arch_variant,
|
||||
target.cpu_variant, soong_dir)
|
||||
# Copy the contents of the lsdump into it's corresponding
|
||||
# reference directory.
|
||||
num_libs_copied += copy_reference_dumps(arch_lsdump_paths,
|
||||
ref_dump_dir_stem,
|
||||
ref_dump_dir_insertion,
|
||||
target.arch)
|
||||
return num_libs_copied
|
||||
|
||||
|
||||
@@ -48,17 +36,12 @@ def main():
|
||||
# Parse command line options.
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--version', help='VNDK version')
|
||||
parser.add_argument('--vndk-list', help='file containing list of vndk \
|
||||
libraries')
|
||||
parser.add_argument('-ref-dump-dir', help='directory to copy reference abi \
|
||||
dumps into')
|
||||
parser.add_argument('-make-libs', action ="store_true", default = False,
|
||||
help='make libraries before copying dumps')
|
||||
args = parser.parse_args()
|
||||
num_processed = 0
|
||||
soong_dir = os.path.join(AOSP_DIR, 'out', 'soong', '.intermediates')
|
||||
num_processed += create_source_abi_reference_dumps(soong_dir,\
|
||||
get_vndk_libs(args.vndk_list), args)
|
||||
num_processed += create_source_abi_reference_dumps(soong_dir, args)
|
||||
print()
|
||||
print('msg: Processed', num_processed, 'libraries')
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user