From 011d854311a08d777daba6cf81fd41d62921827a Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Thu, 29 Jul 2021 14:50:32 -0400 Subject: Get zucchini to compile on AOSP Test: mm Change-Id: Ia030273fcc71d0920f2c62327a08903e5e27a544 --- Android.bp | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 Android.bp (limited to 'Android.bp') diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..df2ba83 --- /dev/null +++ b/Android.bp @@ -0,0 +1,146 @@ + +filegroup { + name: "libzucchini_srcs", + + srcs: [ + "abs32_utils.cc", + "address_translator.cc", + "arm_utils.cc", + "binary_data_histogram.cc", + "buffer_sink.cc", + "buffer_source.cc", + "crc32.cc", + "disassembler.cc", + "disassembler_dex.cc", + "disassembler_elf.cc", + "disassembler_no_op.cc", + "disassembler_win32.cc", + "disassembler_ztf.cc", + "element_detection.cc", + "encoded_view.cc", + "ensemble_matcher.cc", + "equivalence_map.cc", + "heuristic_ensemble_matcher.cc", + "image_index.cc", + "imposed_ensemble_matcher.cc", + "io_utils.cc", + "patch_reader.cc", + "patch_writer.cc", + "reference_bytes_mixer.cc", + "reference_set.cc", + "rel32_finder.cc", + "rel32_utils.cc", + "reloc_elf.cc", + "reloc_win32.cc", + "target_pool.cc", + "targets_affinity.cc", + "zucchini_apply.cc", + "zucchini_gen.cc", + "zucchini_tools.cc", + ], +} + +filegroup { + name: "libzucchini_headers", + srcs: [ + "abs32_utils.h", + "address_translator.h", + "algorithm.h", + "arm_utils.h", + "binary_data_histogram.h", + "buffer_sink.h", + "buffer_source.h", + "buffer_view.h", + "crc32.h", + "disassembler.h", + "disassembler_dex.h", + "disassembler_elf.h", + "disassembler_no_op.h", + "disassembler_win32.h", + "disassembler_ztf.h", + "element_detection.h", + "encoded_view.h", + "ensemble_matcher.h", + "equivalence_map.h", + "heuristic_ensemble_matcher.h", + "image_index.h", + "image_utils.h", + "imposed_ensemble_matcher.h", + "io_utils.h", + "main_utils.h", + "mapped_file.h", + "patch_reader.h", + "patch_utils.h", + "patch_writer.h", + "reference_bytes_mixer.h", + "reference_set.h", + "rel32_finder.h", + "rel32_utils.h", + "reloc_elf.h", + "reloc_win32.h", + "suffix_array.h", + "target_pool.h", + "targets_affinity.h", + "test_disassembler.h", + "test_reference_reader.h", + "test_utils.h", + "type_dex.h", + "type_elf.h", + "type_win_pe.h", + "type_ztf.h", + "typed_value.h", + "zucchini.h", + "zucchini_apply.h", + "zucchini_commands.h", + "zucchini_gen.h", + "zucchini_integration.h", + "zucchini_tools.h", + ], +} + +// The aosp versions of sources are preprocesseed with include +// re-written in an AOSP compatible way. Some headers, such as +// absl, are simply redirected to STL equivalent. +gensrcs { + name: "libzucchini_aosp_srcs", + cmd: "$(location aosp/preprocess.py) $(in) $(out)", + tool_files: ["aosp/preprocess.py"], + srcs: [":libzucchini_srcs"], + output_extension: "cc", +} + +gensrcs { + name: "libzucchini_aosp_headers", + cmd: "$(location aosp/preprocess.py) $(in) $(out)", + tool_files: ["aosp/preprocess.py"], + srcs: [":libzucchini_headers"], + export_include_dirs: ["."], + output_extension: "h", +} + + +cc_library { + name: "libzucchini", + host_supported: true, + // Need this to ensure that the generated headers are used, + // instead of loacl ones. As the generated headers contain + // incorrect include paths + include_build_directory: false, + srcs: [":libzucchini_aosp_srcs"], + generated_headers: ["libzucchini_aosp_headers"], + local_include_dirs: ["aosp/include"], + export_generated_headers: ["libzucchini_aosp_headers"], + export_include_dirs: ["aosp/include"], + static_libs: [ + "libchrome", + "libcutils", + ], + shared_libs: [ + "liblog", + "libbase", + ], + cflags: [ + "-Wno-unused-parameter", + ], + visibility: ["//system/update_engine:__subpackages__"], +} -- cgit v1.2.3