Example #1
0
def create_source_abi_reference_dumps_for_all_products(args):
    """Create reference ABI dumps for all specified products."""

    platform_vndk_version, board_vndk_version = get_build_vars_for_product(
        ['PLATFORM_VNDK_VERSION', 'BOARD_VNDK_VERSION'])
    chosen_vndk_version = choose_vndk_version(
        args.version, platform_vndk_version, board_vndk_version)

    num_processed = 0

    for product in args.products:
        targets = [Target(True, product), Target(False, product)]

        # Remove reference ABI dumps specified in `args.libs` (or remove all of
        # them if none of them are specified) so that we may build these
        # libraries successfully.
        remove_references_for_all_arches_and_variants(
            args, product, targets, chosen_vndk_version)

        if not args.no_make_lib:
            # Build all the specified libs (or build the 'vndk' target if none
            # of them are specified.)
            make_libs_for_product(args.libs, args.llndk, product,
                                  args.build_variant, targets)

        lsdump_paths = read_lsdump_paths(product, args.build_variant, targets,
                                         build=False)

        num_processed += create_source_abi_reference_dumps(
            args, product, chosen_vndk_version, lsdump_paths, targets)

    return num_processed
def create_source_abi_reference_dumps_for_all_products(args):
    """Create reference ABI dumps for all specified products."""

    num_processed = 0

    for product in args.products:
        build_vars = get_build_vars_for_product(
            ['PLATFORM_VNDK_VERSION', 'BOARD_VNDK_VERSION', 'BINDER32BIT'],
            product, args.build_variant)

        platform_vndk_version = build_vars[0]
        board_vndk_version = build_vars[1]
        if build_vars[2] == 'true':
            binder_bitness = '32'
        else:
            binder_bitness = '64'

        chosen_vndk_version = choose_vndk_version(args.version,
                                                  platform_vndk_version,
                                                  board_vndk_version)

        targets = [Target(True, product), Target(False, product)]
        # Remove reference ABI dumps specified in `args.libs` (or remove all of
        # them if none of them are specified) so that we may build these
        # libraries successfully.
        remove_references_for_all_arches_and_variants(args.ref_dump_dir,
                                                      chosen_vndk_version,
                                                      binder_bitness, targets,
                                                      args.libs)

        if not args.no_make_lib:
            # Build all the specified libs, or build `findlsdumps` if no libs
            # are specified.
            make_libs_for_product(args.libs, product, args.build_variant,
                                  platform_vndk_version, targets)

        lsdump_paths = read_lsdump_paths(product,
                                         args.build_variant,
                                         platform_vndk_version,
                                         targets,
                                         build=False)

        num_processed += create_source_abi_reference_dumps(
            args, chosen_vndk_version, binder_bitness, lsdump_paths, targets)

    return num_processed