xref: /aosp_15_r20/external/puffin/Android.bp (revision 07fb1d065b7cfb4729786fadd42a612532d2f466)
1package {
2    default_applicable_licenses: ["external_puffin_license"],
3}
4
5// Added automatically by a large-scale-change
6// See: http://go/android-license-faq
7license {
8    name: "external_puffin_license",
9    visibility: [":__subpackages__"],
10    license_kinds: [
11        "SPDX-license-identifier-BSD",
12    ],
13    license_text: [
14        "LICENSE",
15    ],
16}
17
18cc_defaults {
19    name: "puffin_defaults",
20    host_supported: true,
21    shared_libs: [
22        "libchrome",
23        "libprotobuf-cpp-lite",
24    ],
25    static_libs: [
26        "libbrotli",
27        "libbz",
28    ],
29    export_include_dirs: ["src/include"],
30    cflags: [
31        "-DUSE_BRILLO=1",
32        "-D_FILE_OFFSET_BITS=64",
33        "-Wall",
34        "-Werror",
35        "-Wextra",
36        "-Wimplicit-fallthrough",
37    ],
38    target: {
39        darwin: {
40            enabled: false,
41        },
42    },
43}
44
45cc_library_static {
46    name: "libpuffpatch",
47    defaults: ["puffin_defaults"],
48    recovery_available: true,
49    srcs: [
50        "puffin/src/puffin.proto",
51        "src/bit_reader.cc",
52        "src/bit_writer.cc",
53        "src/brotli_util.cc",
54        "src/huffer.cc",
55        "src/huffman_table.cc",
56        "src/memory_stream.cc",
57        "src/puff_reader.cc",
58        "src/puff_writer.cc",
59        "src/puffer.cc",
60        "src/puffin_stream.cc",
61        "src/puffpatch.cc",
62    ],
63    static_libs: [
64        "libbspatch",
65    ],
66    whole_static_libs: [
67        "libzucchini",
68    ],
69    proto: {
70        type: "lite",
71        export_proto_headers: true,
72    },
73}
74
75cc_library_static {
76    name: "libpuffdiff",
77    defaults: ["puffin_defaults"],
78    srcs: [
79        "src/file_stream.cc",
80        "src/puffdiff.cc",
81        "src/utils.cc",
82    ],
83    static_libs: [
84        "libbsdiff",
85        "libzucchini",
86        "libpuffpatch",
87    ],
88}
89
90cc_binary {
91    name: "puffin",
92    defaults: ["puffin_defaults"],
93    srcs: [
94        "src/extent_stream.cc",
95        "src/main.cc",
96    ],
97    shared_libs: [
98        "libbrillo",
99    ],
100    static_libs: [
101        "libbsdiff",
102        "libbspatch",
103        "libzucchini",
104        "libdivsufsort",
105        "libdivsufsort64",
106        "libpuffdiff",
107        "libpuffpatch",
108    ],
109}
110
111cc_test {
112    name: "puffin_unittest",
113    host_supported: true,
114    defaults: ["puffin_defaults"],
115    test_suites: ["device-tests"],
116    cflags: ["-Wno-sign-compare"],
117    srcs: [
118        "src/bit_io_unittest.cc",
119        "src/brotli_util_unittest.cc",
120        "src/extent_stream.cc",
121        "src/integration_test.cc",
122        "src/patching_unittest.cc",
123        "src/puff_io_unittest.cc",
124        "src/puffin_unittest.cc",
125        "src/stream_unittest.cc",
126        "src/testrunner.cc",
127        "src/unittest_common.cc",
128        "src/utils_unittest.cc",
129    ],
130    shared_libs: [
131        "libbrillo",
132    ],
133    static_libs: [
134        "libbsdiff",
135        "libbspatch",
136        "libzucchini",
137        "libdivsufsort",
138        "libdivsufsort64",
139        "libpuffdiff",
140        "libpuffpatch",
141    ],
142}
143