xref: /aosp_15_r20/external/zucchini/Android.bp (revision a03ca8b91e029cd15055c20c78c2e087c84792e4)
1*a03ca8b9SKrzysztof Kosiński
2*a03ca8b9SKrzysztof Kosińskipackage {
3*a03ca8b9SKrzysztof Kosiński    default_applicable_licenses: ["external_zucchini_license"],
4*a03ca8b9SKrzysztof Kosiński}
5*a03ca8b9SKrzysztof Kosiński
6*a03ca8b9SKrzysztof Kosiński// Added automatically by a large-scale-change
7*a03ca8b9SKrzysztof Kosiński// See: http://go/android-license-faq
8*a03ca8b9SKrzysztof Kosińskilicense {
9*a03ca8b9SKrzysztof Kosiński    name: "external_zucchini_license",
10*a03ca8b9SKrzysztof Kosiński    visibility: [":__subpackages__"],
11*a03ca8b9SKrzysztof Kosiński    license_kinds: [
12*a03ca8b9SKrzysztof Kosiński        "legacy_notice",
13*a03ca8b9SKrzysztof Kosiński    ],
14*a03ca8b9SKrzysztof Kosiński    license_text: [
15*a03ca8b9SKrzysztof Kosiński        "LICENSE",
16*a03ca8b9SKrzysztof Kosiński    ],
17*a03ca8b9SKrzysztof Kosiński}
18*a03ca8b9SKrzysztof Kosiński
19*a03ca8b9SKrzysztof Kosińskifilegroup {
20*a03ca8b9SKrzysztof Kosiński    name: "libzucchini_srcs",
21*a03ca8b9SKrzysztof Kosiński
22*a03ca8b9SKrzysztof Kosiński    srcs: [
23*a03ca8b9SKrzysztof Kosiński        "abs32_utils.cc",
24*a03ca8b9SKrzysztof Kosiński        "address_translator.cc",
25*a03ca8b9SKrzysztof Kosiński        "arm_utils.cc",
26*a03ca8b9SKrzysztof Kosiński        "binary_data_histogram.cc",
27*a03ca8b9SKrzysztof Kosiński        "buffer_sink.cc",
28*a03ca8b9SKrzysztof Kosiński        "buffer_source.cc",
29*a03ca8b9SKrzysztof Kosiński        "crc32.cc",
30*a03ca8b9SKrzysztof Kosiński        "disassembler.cc",
31*a03ca8b9SKrzysztof Kosiński        "disassembler_dex.cc",
32*a03ca8b9SKrzysztof Kosiński        "disassembler_elf.cc",
33*a03ca8b9SKrzysztof Kosiński        "disassembler_no_op.cc",
34*a03ca8b9SKrzysztof Kosiński        "disassembler_win32.cc",
35*a03ca8b9SKrzysztof Kosiński        "disassembler_ztf.cc",
36*a03ca8b9SKrzysztof Kosiński        "element_detection.cc",
37*a03ca8b9SKrzysztof Kosiński        "encoded_view.cc",
38*a03ca8b9SKrzysztof Kosiński        "ensemble_matcher.cc",
39*a03ca8b9SKrzysztof Kosiński        "equivalence_map.cc",
40*a03ca8b9SKrzysztof Kosiński        "heuristic_ensemble_matcher.cc",
41*a03ca8b9SKrzysztof Kosiński        "image_index.cc",
42*a03ca8b9SKrzysztof Kosiński        "imposed_ensemble_matcher.cc",
43*a03ca8b9SKrzysztof Kosiński        "io_utils.cc",
44*a03ca8b9SKrzysztof Kosiński        "mapped_file.cc",
45*a03ca8b9SKrzysztof Kosiński        "patch_reader.cc",
46*a03ca8b9SKrzysztof Kosiński        "patch_writer.cc",
47*a03ca8b9SKrzysztof Kosiński        "reference_bytes_mixer.cc",
48*a03ca8b9SKrzysztof Kosiński        "reference_set.cc",
49*a03ca8b9SKrzysztof Kosiński        "rel32_finder.cc",
50*a03ca8b9SKrzysztof Kosiński        "rel32_utils.cc",
51*a03ca8b9SKrzysztof Kosiński        "reloc_elf.cc",
52*a03ca8b9SKrzysztof Kosiński        "reloc_win32.cc",
53*a03ca8b9SKrzysztof Kosiński        "target_pool.cc",
54*a03ca8b9SKrzysztof Kosiński        "targets_affinity.cc",
55*a03ca8b9SKrzysztof Kosiński        "zucchini_apply.cc",
56*a03ca8b9SKrzysztof Kosiński        "zucchini_gen.cc",
57*a03ca8b9SKrzysztof Kosiński        "zucchini_tools.cc",
58*a03ca8b9SKrzysztof Kosiński    ],
59*a03ca8b9SKrzysztof Kosiński}
60*a03ca8b9SKrzysztof Kosiński
61*a03ca8b9SKrzysztof Kosińskifilegroup {
62*a03ca8b9SKrzysztof Kosiński    name: "zucchini_srcs",
63*a03ca8b9SKrzysztof Kosiński    srcs: [
64*a03ca8b9SKrzysztof Kosiński        "main_utils.cc",
65*a03ca8b9SKrzysztof Kosiński        "zucchini_commands.cc",
66*a03ca8b9SKrzysztof Kosiński        "zucchini_integration.cc",
67*a03ca8b9SKrzysztof Kosiński        "zucchini_main_aosp.cc",
68*a03ca8b9SKrzysztof Kosiński    ],
69*a03ca8b9SKrzysztof Kosiński}
70*a03ca8b9SKrzysztof Kosiński
71*a03ca8b9SKrzysztof Kosińskifilegroup {
72*a03ca8b9SKrzysztof Kosiński    name: "libzucchini_headers",
73*a03ca8b9SKrzysztof Kosiński    srcs: [
74*a03ca8b9SKrzysztof Kosiński        "abs32_utils.h",
75*a03ca8b9SKrzysztof Kosiński        "address_translator.h",
76*a03ca8b9SKrzysztof Kosiński        "algorithm.h",
77*a03ca8b9SKrzysztof Kosiński        "arm_utils.h",
78*a03ca8b9SKrzysztof Kosiński        "binary_data_histogram.h",
79*a03ca8b9SKrzysztof Kosiński        "buffer_sink.h",
80*a03ca8b9SKrzysztof Kosiński        "buffer_source.h",
81*a03ca8b9SKrzysztof Kosiński        "buffer_view.h",
82*a03ca8b9SKrzysztof Kosiński        "crc32.h",
83*a03ca8b9SKrzysztof Kosiński        "disassembler.h",
84*a03ca8b9SKrzysztof Kosiński        "disassembler_dex.h",
85*a03ca8b9SKrzysztof Kosiński        "disassembler_elf.h",
86*a03ca8b9SKrzysztof Kosiński        "disassembler_no_op.h",
87*a03ca8b9SKrzysztof Kosiński        "disassembler_win32.h",
88*a03ca8b9SKrzysztof Kosiński        "disassembler_ztf.h",
89*a03ca8b9SKrzysztof Kosiński        "element_detection.h",
90*a03ca8b9SKrzysztof Kosiński        "encoded_view.h",
91*a03ca8b9SKrzysztof Kosiński        "ensemble_matcher.h",
92*a03ca8b9SKrzysztof Kosiński        "equivalence_map.h",
93*a03ca8b9SKrzysztof Kosiński        "heuristic_ensemble_matcher.h",
94*a03ca8b9SKrzysztof Kosiński        "image_index.h",
95*a03ca8b9SKrzysztof Kosiński        "image_utils.h",
96*a03ca8b9SKrzysztof Kosiński        "imposed_ensemble_matcher.h",
97*a03ca8b9SKrzysztof Kosiński        "io_utils.h",
98*a03ca8b9SKrzysztof Kosiński        "main_utils.h",
99*a03ca8b9SKrzysztof Kosiński        "mapped_file.h",
100*a03ca8b9SKrzysztof Kosiński        "patch_reader.h",
101*a03ca8b9SKrzysztof Kosiński        "patch_utils.h",
102*a03ca8b9SKrzysztof Kosiński        "patch_writer.h",
103*a03ca8b9SKrzysztof Kosiński        "reference_bytes_mixer.h",
104*a03ca8b9SKrzysztof Kosiński        "reference_set.h",
105*a03ca8b9SKrzysztof Kosiński        "rel32_finder.h",
106*a03ca8b9SKrzysztof Kosiński        "rel32_utils.h",
107*a03ca8b9SKrzysztof Kosiński        "reloc_elf.h",
108*a03ca8b9SKrzysztof Kosiński        "reloc_win32.h",
109*a03ca8b9SKrzysztof Kosiński        "suffix_array.h",
110*a03ca8b9SKrzysztof Kosiński        "target_pool.h",
111*a03ca8b9SKrzysztof Kosiński        "targets_affinity.h",
112*a03ca8b9SKrzysztof Kosiński        "test_disassembler.h",
113*a03ca8b9SKrzysztof Kosiński        "test_reference_reader.h",
114*a03ca8b9SKrzysztof Kosiński        "test_utils.h",
115*a03ca8b9SKrzysztof Kosiński        "type_dex.h",
116*a03ca8b9SKrzysztof Kosiński        "type_elf.h",
117*a03ca8b9SKrzysztof Kosiński        "type_win_pe.h",
118*a03ca8b9SKrzysztof Kosiński        "type_ztf.h",
119*a03ca8b9SKrzysztof Kosiński        "typed_value.h",
120*a03ca8b9SKrzysztof Kosiński        "zucchini.h",
121*a03ca8b9SKrzysztof Kosiński        "zucchini_apply.h",
122*a03ca8b9SKrzysztof Kosiński        "zucchini_commands.h",
123*a03ca8b9SKrzysztof Kosiński        "zucchini_gen.h",
124*a03ca8b9SKrzysztof Kosiński        "zucchini_integration.h",
125*a03ca8b9SKrzysztof Kosiński        "zucchini_tools.h",
126*a03ca8b9SKrzysztof Kosiński    ],
127*a03ca8b9SKrzysztof Kosiński}
128*a03ca8b9SKrzysztof Kosiński
129*a03ca8b9SKrzysztof Kosińskicc_library {
130*a03ca8b9SKrzysztof Kosiński    name: "libzucchini",
131*a03ca8b9SKrzysztof Kosiński    host_supported: true,
132*a03ca8b9SKrzysztof Kosiński    device_supported: true,
133*a03ca8b9SKrzysztof Kosiński    recovery_available: true,
134*a03ca8b9SKrzysztof Kosiński    // Need this to ensure that the generated headers are used,
135*a03ca8b9SKrzysztof Kosiński    // instead of loacl ones. As the generated headers contain
136*a03ca8b9SKrzysztof Kosiński    // incorrect include paths
137*a03ca8b9SKrzysztof Kosiński    include_build_directory: false,
138*a03ca8b9SKrzysztof Kosiński    srcs: [":libzucchini_srcs"],
139*a03ca8b9SKrzysztof Kosiński    local_include_dirs: ["aosp/include"],
140*a03ca8b9SKrzysztof Kosiński    export_include_dirs: [
141*a03ca8b9SKrzysztof Kosiński        "aosp/include/components",
142*a03ca8b9SKrzysztof Kosiński        "aosp/include/",
143*a03ca8b9SKrzysztof Kosiński    ],
144*a03ca8b9SKrzysztof Kosiński    static_libs: [
145*a03ca8b9SKrzysztof Kosiński        "libchrome",
146*a03ca8b9SKrzysztof Kosiński        "libcutils",
147*a03ca8b9SKrzysztof Kosiński    ],
148*a03ca8b9SKrzysztof Kosiński    shared_libs: [
149*a03ca8b9SKrzysztof Kosiński        "liblog",
150*a03ca8b9SKrzysztof Kosiński        "libbase",
151*a03ca8b9SKrzysztof Kosiński    ],
152*a03ca8b9SKrzysztof Kosiński    cflags: [
153*a03ca8b9SKrzysztof Kosiński        "-Wno-unused-parameter",
154*a03ca8b9SKrzysztof Kosiński    ],
155*a03ca8b9SKrzysztof Kosiński    visibility: [
156*a03ca8b9SKrzysztof Kosiński        "//external/puffin:__subpackages__",
157*a03ca8b9SKrzysztof Kosiński        "//system/update_engine:__subpackages__",
158*a03ca8b9SKrzysztof Kosiński    ],
159*a03ca8b9SKrzysztof Kosiński}
160*a03ca8b9SKrzysztof Kosiński
161*a03ca8b9SKrzysztof Kosińskicc_binary {
162*a03ca8b9SKrzysztof Kosiński    name: "zucchini",
163*a03ca8b9SKrzysztof Kosiński    host_supported: true,
164*a03ca8b9SKrzysztof Kosiński    device_supported: true,
165*a03ca8b9SKrzysztof Kosiński    srcs: [":zucchini_srcs"],
166*a03ca8b9SKrzysztof Kosiński    include_build_directory: false,
167*a03ca8b9SKrzysztof Kosiński    local_include_dirs: ["aosp/include"],
168*a03ca8b9SKrzysztof Kosiński    static_libs: [
169*a03ca8b9SKrzysztof Kosiński        "libchrome",
170*a03ca8b9SKrzysztof Kosiński        "libcutils",
171*a03ca8b9SKrzysztof Kosiński        "libzucchini",
172*a03ca8b9SKrzysztof Kosiński        "liblog",
173*a03ca8b9SKrzysztof Kosiński        "libbase",
174*a03ca8b9SKrzysztof Kosiński    ],
175*a03ca8b9SKrzysztof Kosiński    cflags: [
176*a03ca8b9SKrzysztof Kosiński        "-Wno-unused-parameter",
177*a03ca8b9SKrzysztof Kosiński    ],
178*a03ca8b9SKrzysztof Kosiński}
179