aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
authorKelvin Zhang <zhangkelvin@google.com>2021-07-29 14:50:32 -0400
committerKelvin Zhang <zhangkelvin@google.com>2021-08-17 17:18:51 -0700
commit011d854311a08d777daba6cf81fd41d62921827a (patch)
treeb785bdf9ce143363c8154f92ff8f163902eb32a1 /Android.bp
parentae55a30d74dec9fd3590d2b016420a2d3b28c236 (diff)
downloadzucchini-011d854311a08d777daba6cf81fd41d62921827a.tar.gz
Get zucchini to compile on AOSP
Test: mm Change-Id: Ia030273fcc71d0920f2c62327a08903e5e27a544
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp146
1 files changed, 146 insertions, 0 deletions
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__"],
+}