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