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