xref: /aosp_15_r20/external/zstd/Android.bp (revision 01826a4963a0d8a59bc3812d29bdf0fb76416722)
1*01826a49SYabin Cuipackage {
2*01826a49SYabin Cui    default_applicable_licenses: ["external_zstd_license"],
3*01826a49SYabin Cui}
4*01826a49SYabin Cui
5*01826a49SYabin Cui// Added automatically by a large-scale-change that took the approach of
6*01826a49SYabin Cui// 'apply every license found to every target'. While this makes sure we respect
7*01826a49SYabin Cui// every license restriction, it may not be entirely correct.
8*01826a49SYabin Cui//
9*01826a49SYabin Cui// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*01826a49SYabin Cui//
11*01826a49SYabin Cui// Please consider splitting the single license below into multiple licenses,
12*01826a49SYabin Cui// taking care not to lose any license_kind information, and overriding the
13*01826a49SYabin Cui// default license using the 'licenses: [...]' property on targets as needed.
14*01826a49SYabin Cui//
15*01826a49SYabin Cui// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*01826a49SYabin Cui// to attach the license to, and including a comment whether the files may be
17*01826a49SYabin Cui// used in the current project.
18*01826a49SYabin Cui//
19*01826a49SYabin Cui// large-scale-change included anything that looked like it might be a license
20*01826a49SYabin Cui// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
21*01826a49SYabin Cui//
22*01826a49SYabin Cui// Please consider removing redundant or irrelevant files from 'license_text:'.
23*01826a49SYabin Cui// See: http://go/android-license-faq
24*01826a49SYabin Cuilicense {
25*01826a49SYabin Cui    name: "external_zstd_license",
26*01826a49SYabin Cui    visibility: [":__subpackages__"],
27*01826a49SYabin Cui    license_kinds: [
28*01826a49SYabin Cui        "SPDX-license-identifier-BSD",
29*01826a49SYabin Cui        "SPDX-license-identifier-CC0-1.0",
30*01826a49SYabin Cui        "SPDX-license-identifier-GPL",
31*01826a49SYabin Cui        "SPDX-license-identifier-GPL-2.0",
32*01826a49SYabin Cui        "SPDX-license-identifier-GPL-3.0",
33*01826a49SYabin Cui        "SPDX-license-identifier-LGPL",
34*01826a49SYabin Cui        "SPDX-license-identifier-MIT",
35*01826a49SYabin Cui        "SPDX-license-identifier-Zlib",
36*01826a49SYabin Cui        "legacy_unencumbered",
37*01826a49SYabin Cui    ],
38*01826a49SYabin Cui    license_text: [
39*01826a49SYabin Cui        "COPYING",
40*01826a49SYabin Cui        "LICENSE",
41*01826a49SYabin Cui    ],
42*01826a49SYabin Cui}
43*01826a49SYabin Cui
44*01826a49SYabin Cuicc_library {
45*01826a49SYabin Cui    name: "libzstd",
46*01826a49SYabin Cui    min_sdk_version: "apex_inherit",
47*01826a49SYabin Cui    apex_available: [
48*01826a49SYabin Cui        "//apex_available:platform",
49*01826a49SYabin Cui        "com.android.adbd",
50*01826a49SYabin Cui        "com.android.art",
51*01826a49SYabin Cui        "com.android.art.debug",
52*01826a49SYabin Cui        "com.android.runtime",
53*01826a49SYabin Cui    ],
54*01826a49SYabin Cui    visibility: [
55*01826a49SYabin Cui        "//art:__subpackages__",
56*01826a49SYabin Cui        "//bootable/recovery:__subpackages__",
57*01826a49SYabin Cui        "//cts/tests/tests/simpleperf:__subpackages__",
58*01826a49SYabin Cui        "//device/google/contexthub/util/nanoapp_postprocess:__subpackages__",
59*01826a49SYabin Cui        "//external/bcc/libbpf-tools:__subpackages__",
60*01826a49SYabin Cui        "//external/bpftool:__subpackages__",
61*01826a49SYabin Cui        "//external/dwarves:__subpackages__",
62*01826a49SYabin Cui        "//external/elfutils:__subpackages__",
63*01826a49SYabin Cui        "//external/libbpf:__subpackages__",
64*01826a49SYabin Cui        "//external/squashfs-tools/squashfs-tools:__subpackages__",
65*01826a49SYabin Cui        "//external/stg:__subpackages__",
66*01826a49SYabin Cui        "//frameworks/libs/binary_translation/tools:__subpackages__",
67*01826a49SYabin Cui        "//packages/modules/adb:__subpackages__",
68*01826a49SYabin Cui        "//system/logging/logd:__subpackages__",
69*01826a49SYabin Cui        "//system/update_engine:__subpackages__",
70*01826a49SYabin Cui        "//system/core/fs_mgr/libsnapshot:__subpackages__",
71*01826a49SYabin Cui        "//system/core/init:__subpackages__",
72*01826a49SYabin Cui        "//system/core/fastboot:__subpackages__",
73*01826a49SYabin Cui        "//system/extras/partition_tools:__subpackages__",
74*01826a49SYabin Cui        "//system/extras/simpleperf:__subpackages__",
75*01826a49SYabin Cui        "//system/unwinding/libunwindstack:__subpackages__",
76*01826a49SYabin Cui    ],
77*01826a49SYabin Cui    product_available: true,
78*01826a49SYabin Cui    recovery_available: true,
79*01826a49SYabin Cui    vendor_available: true,
80*01826a49SYabin Cui    host_supported: true,
81*01826a49SYabin Cui    native_bridge_supported: true,
82*01826a49SYabin Cui    ramdisk_available: true,
83*01826a49SYabin Cui    vendor_ramdisk_available: true,
84*01826a49SYabin Cui    target: {
85*01826a49SYabin Cui        windows: {
86*01826a49SYabin Cui            enabled: true,
87*01826a49SYabin Cui        },
88*01826a49SYabin Cui    },
89*01826a49SYabin Cui    srcs: ["lib/*/*.c"],
90*01826a49SYabin Cui    arch: {
91*01826a49SYabin Cui        x86_64: {
92*01826a49SYabin Cui            cflags: ["-DZSTD_DISABLE_ASM"],
93*01826a49SYabin Cui        },
94*01826a49SYabin Cui    },
95*01826a49SYabin Cui    cflags: [
96*01826a49SYabin Cui        "-DZSTD_HAVE_WEAK_SYMBOLS=0",
97*01826a49SYabin Cui        "-DZSTD_TRACE=0",
98*01826a49SYabin Cui    ],
99*01826a49SYabin Cui    local_include_dirs: ["lib/common"],
100*01826a49SYabin Cui    export_include_dirs: ["lib"],
101*01826a49SYabin Cui}
102*01826a49SYabin Cui
103*01826a49SYabin Cuicc_defaults {
104*01826a49SYabin Cui    name: "zstd_fuzz_defaults",
105*01826a49SYabin Cui    static_libs: [
106*01826a49SYabin Cui        "libzstd",
107*01826a49SYabin Cui    ],
108*01826a49SYabin Cui    srcs: [
109*01826a49SYabin Cui        "contrib/externalSequenceProducer/sequence_producer.c",
110*01826a49SYabin Cui        "tests/fuzz/fuzz_data_producer.c",
111*01826a49SYabin Cui        "tests/fuzz/fuzz_helpers.c",
112*01826a49SYabin Cui        "tests/fuzz/zstd_helpers.c",
113*01826a49SYabin Cui    ],
114*01826a49SYabin Cui    local_include_dirs: [
115*01826a49SYabin Cui        "contrib/externalSequenceProducer",
116*01826a49SYabin Cui        "lib/common",
117*01826a49SYabin Cui        "lib/compress",
118*01826a49SYabin Cui        "lib/dictBuilder",
119*01826a49SYabin Cui        "tests/fuzz",
120*01826a49SYabin Cui    ],
121*01826a49SYabin Cui    cflags: [
122*01826a49SYabin Cui        "-Wno-error",
123*01826a49SYabin Cui        "-Wno-pointer-arith",
124*01826a49SYabin Cui    ],
125*01826a49SYabin Cui    host_supported: true,
126*01826a49SYabin Cui}
127*01826a49SYabin Cui
128*01826a49SYabin Cuicc_fuzz {
129*01826a49SYabin Cui    name: "zstd_block_decompress_fuzzer",
130*01826a49SYabin Cui    defaults: [
131*01826a49SYabin Cui        "zstd_fuzz_defaults",
132*01826a49SYabin Cui    ],
133*01826a49SYabin Cui    srcs: [
134*01826a49SYabin Cui        "tests/fuzz/block_decompress.c",
135*01826a49SYabin Cui    ],
136*01826a49SYabin Cui}
137*01826a49SYabin Cui
138*01826a49SYabin Cuicc_fuzz {
139*01826a49SYabin Cui    name: "zstd_block_round_trip_fuzzer",
140*01826a49SYabin Cui    defaults: [
141*01826a49SYabin Cui        "zstd_fuzz_defaults",
142*01826a49SYabin Cui    ],
143*01826a49SYabin Cui    srcs: [
144*01826a49SYabin Cui        "tests/fuzz/block_round_trip.c",
145*01826a49SYabin Cui    ],
146*01826a49SYabin Cui}
147*01826a49SYabin Cui
148*01826a49SYabin Cuicc_fuzz {
149*01826a49SYabin Cui    name: "zstd_dict_decompress_fuzzer",
150*01826a49SYabin Cui    defaults: [
151*01826a49SYabin Cui        "zstd_fuzz_defaults",
152*01826a49SYabin Cui    ],
153*01826a49SYabin Cui    srcs: [
154*01826a49SYabin Cui        "tests/fuzz/dictionary_decompress.c",
155*01826a49SYabin Cui    ],
156*01826a49SYabin Cui}
157*01826a49SYabin Cui
158*01826a49SYabin Cuicc_fuzz {
159*01826a49SYabin Cui    name: "zstd_dict_loader_fuzzer",
160*01826a49SYabin Cui    defaults: [
161*01826a49SYabin Cui        "zstd_fuzz_defaults",
162*01826a49SYabin Cui    ],
163*01826a49SYabin Cui    srcs: [
164*01826a49SYabin Cui        "tests/fuzz/dictionary_loader.c",
165*01826a49SYabin Cui    ],
166*01826a49SYabin Cui}
167*01826a49SYabin Cui
168*01826a49SYabin Cuicc_fuzz {
169*01826a49SYabin Cui    name: "zstd_dict_round_trip_fuzzer",
170*01826a49SYabin Cui    defaults: [
171*01826a49SYabin Cui        "zstd_fuzz_defaults",
172*01826a49SYabin Cui    ],
173*01826a49SYabin Cui    srcs: [
174*01826a49SYabin Cui        "tests/fuzz/dictionary_round_trip.c",
175*01826a49SYabin Cui    ],
176*01826a49SYabin Cui}
177*01826a49SYabin Cui
178*01826a49SYabin Cuicc_fuzz {
179*01826a49SYabin Cui    name: "zstd_dict_stream_round_trip_fuzzer",
180*01826a49SYabin Cui    defaults: [
181*01826a49SYabin Cui        "zstd_fuzz_defaults",
182*01826a49SYabin Cui    ],
183*01826a49SYabin Cui    srcs: [
184*01826a49SYabin Cui        "tests/fuzz/dictionary_stream_round_trip.c",
185*01826a49SYabin Cui    ],
186*01826a49SYabin Cui}
187*01826a49SYabin Cui
188*01826a49SYabin Cuicc_fuzz {
189*01826a49SYabin Cui    name: "zstd_raw_dict_round_trip_fuzzer",
190*01826a49SYabin Cui    defaults: [
191*01826a49SYabin Cui        "zstd_fuzz_defaults",
192*01826a49SYabin Cui    ],
193*01826a49SYabin Cui    srcs: [
194*01826a49SYabin Cui        "tests/fuzz/raw_dictionary_round_trip.c",
195*01826a49SYabin Cui    ],
196*01826a49SYabin Cui}
197*01826a49SYabin Cui
198*01826a49SYabin Cuicc_fuzz {
199*01826a49SYabin Cui    name: "zstd_simple_compress_fuzzer",
200*01826a49SYabin Cui    defaults: [
201*01826a49SYabin Cui        "zstd_fuzz_defaults",
202*01826a49SYabin Cui    ],
203*01826a49SYabin Cui    srcs: [
204*01826a49SYabin Cui        "tests/fuzz/simple_compress.c",
205*01826a49SYabin Cui    ],
206*01826a49SYabin Cui}
207*01826a49SYabin Cui
208*01826a49SYabin Cuicc_fuzz {
209*01826a49SYabin Cui    name: "zstd_simple_decompress_fuzzer",
210*01826a49SYabin Cui    defaults: [
211*01826a49SYabin Cui        "zstd_fuzz_defaults",
212*01826a49SYabin Cui    ],
213*01826a49SYabin Cui    srcs: [
214*01826a49SYabin Cui        "tests/fuzz/simple_decompress.c",
215*01826a49SYabin Cui    ],
216*01826a49SYabin Cui}
217*01826a49SYabin Cui
218*01826a49SYabin Cuicc_fuzz {
219*01826a49SYabin Cui    name: "zstd_simple_round_trip_fuzzer",
220*01826a49SYabin Cui    defaults: [
221*01826a49SYabin Cui        "zstd_fuzz_defaults",
222*01826a49SYabin Cui    ],
223*01826a49SYabin Cui    srcs: [
224*01826a49SYabin Cui        "tests/fuzz/simple_round_trip.c",
225*01826a49SYabin Cui    ],
226*01826a49SYabin Cui}
227*01826a49SYabin Cui
228*01826a49SYabin Cuicc_fuzz {
229*01826a49SYabin Cui    name: "zstd_stream_decompress_fuzzer",
230*01826a49SYabin Cui    defaults: [
231*01826a49SYabin Cui        "zstd_fuzz_defaults",
232*01826a49SYabin Cui    ],
233*01826a49SYabin Cui    srcs: [
234*01826a49SYabin Cui        "tests/fuzz/stream_decompress.c",
235*01826a49SYabin Cui    ],
236*01826a49SYabin Cui}
237*01826a49SYabin Cui
238*01826a49SYabin Cuicc_fuzz {
239*01826a49SYabin Cui    name: "zstd_stream_round_trip_fuzzer",
240*01826a49SYabin Cui    defaults: [
241*01826a49SYabin Cui        "zstd_fuzz_defaults",
242*01826a49SYabin Cui    ],
243*01826a49SYabin Cui    srcs: [
244*01826a49SYabin Cui        "tests/fuzz/stream_round_trip.c",
245*01826a49SYabin Cui    ],
246*01826a49SYabin Cui}
247*01826a49SYabin Cui
248*01826a49SYabin Cuicc_fuzz {
249*01826a49SYabin Cui    name: "zstd_frame_info_fuzzer",
250*01826a49SYabin Cui    defaults: [
251*01826a49SYabin Cui        "zstd_fuzz_defaults",
252*01826a49SYabin Cui    ],
253*01826a49SYabin Cui    srcs: [
254*01826a49SYabin Cui        "tests/fuzz/zstd_frame_info.c",
255*01826a49SYabin Cui    ],
256*01826a49SYabin Cui}
257