1// Copyright 2010 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15bug_component_id = 48069 16 17fuzz_email_cc = ["jzern@google.com"] 18 19//############################################## 20 21package { 22 default_applicable_licenses: ["external_webp_license"], 23} 24 25// Added automatically by a large-scale-change 26// 27// large-scale-change included anything that looked like it might be a license 28// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 29// 30// Please consider removing redundant or irrelevant files from 'license_text:'. 31// See: http://go/android-license-faq 32license { 33 name: "external_webp_license", 34 visibility: [":__subpackages__"], 35 license_kinds: [ 36 "SPDX-license-identifier-BSD", 37 ], 38 license_text: [ 39 "COPYING", 40 "NOTICE", 41 "PATENTS", 42 ], 43} 44 45cc_library_static { 46 name: "webp-headers", 47 host_supported: true, 48 export_include_dirs: ["include"], 49 sdk_version: "9", 50 target: { 51 windows: { 52 enabled: true, 53 }, 54 }, 55} 56 57//############################################## 58 59cc_library_static { 60 name: "libwebp-encode", 61 host_supported: true, 62 srcs: [ 63 "src/dsp/cost.c", 64 "src/dsp/cost_mips32.c", 65 "src/dsp/cost_mips_dsp_r2.c", 66 "src/dsp/cost_neon.c", 67 "src/dsp/cost_sse2.c", 68 "src/dsp/cpu.c", 69 "src/dsp/enc.c", 70 "src/dsp/enc_mips32.c", 71 "src/dsp/enc_mips_dsp_r2.c", 72 "src/dsp/enc_msa.c", 73 "src/dsp/enc_neon.c", 74 "src/dsp/enc_sse2.c", 75 "src/dsp/enc_sse41.c", 76 "src/dsp/lossless_enc.c", 77 "src/dsp/lossless_enc_mips32.c", 78 "src/dsp/lossless_enc_mips_dsp_r2.c", 79 "src/dsp/lossless_enc_msa.c", 80 "src/dsp/lossless_enc_neon.c", 81 "src/dsp/lossless_enc_sse2.c", 82 "src/dsp/lossless_enc_sse41.c", 83 "src/dsp/ssim.c", 84 "src/dsp/ssim_sse2.c", 85 "src/enc/alpha_enc.c", 86 "src/enc/analysis_enc.c", 87 "src/enc/backward_references_cost_enc.c", 88 "src/enc/backward_references_enc.c", 89 "src/enc/config_enc.c", 90 "src/enc/cost_enc.c", 91 "src/enc/filter_enc.c", 92 "src/enc/frame_enc.c", 93 "src/enc/histogram_enc.c", 94 "src/enc/iterator_enc.c", 95 "src/enc/near_lossless_enc.c", 96 "src/enc/picture_csp_enc.c", 97 "src/enc/picture_enc.c", 98 "src/enc/picture_psnr_enc.c", 99 "src/enc/picture_rescale_enc.c", 100 "src/enc/picture_tools_enc.c", 101 "src/enc/predictor_enc.c", 102 "src/enc/quant_enc.c", 103 "src/enc/syntax_enc.c", 104 "src/enc/token_enc.c", 105 "src/enc/tree_enc.c", 106 "src/enc/vp8l_enc.c", 107 "src/enc/webp_enc.c", 108 "src/mux/anim_encode.c", 109 "src/mux/muxedit.c", 110 "src/mux/muxinternal.c", 111 "src/mux/muxread.c", 112 "src/utils/bit_writer_utils.c", 113 "src/utils/huffman_encode_utils.c", 114 "src/utils/quant_levels_utils.c", 115 ], 116 117 arch: { 118 arm: { 119 instruction_set: "arm", 120 }, 121 }, 122 123 cflags: [ 124 "-O2", 125 "-DANDROID", 126 "-DWEBP_SWAP_16BIT_CSP", 127 "-DWEBP_USE_THREAD", 128 "-Wall", 129 "-Werror", 130 ], 131 132 local_include_dirs: ["."], 133 static_libs: ["webp-headers"], 134 export_static_lib_headers: ["webp-headers"], 135 136 sdk_version: "9", 137 138 target: { 139 windows: { 140 enabled: true, 141 }, 142 }, 143} 144 145//############################################## 146 147cc_library_static { 148 name: "libwebp-decode", 149 host_supported: true, 150 srcs: [ 151 "src/dec/alpha_dec.c", 152 "src/dec/buffer_dec.c", 153 "src/dec/frame_dec.c", 154 "src/dec/idec_dec.c", 155 "src/dec/io_dec.c", 156 "src/dec/quant_dec.c", 157 "src/dec/tree_dec.c", 158 "src/dec/vp8_dec.c", 159 "src/dec/vp8l_dec.c", 160 "src/dec/webp_dec.c", 161 "src/demux/anim_decode.c", 162 "src/demux/demux.c", 163 "src/dsp/alpha_processing.c", 164 "src/dsp/alpha_processing_mips_dsp_r2.c", 165 "src/dsp/alpha_processing_neon.c", 166 "src/dsp/alpha_processing_sse2.c", 167 "src/dsp/alpha_processing_sse41.c", 168 "src/dsp/cpu.c", 169 "src/dsp/dec.c", 170 "src/dsp/dec_clip_tables.c", 171 "src/dsp/dec_mips32.c", 172 "src/dsp/dec_mips_dsp_r2.c", 173 "src/dsp/dec_msa.c", 174 "src/dsp/dec_neon.c", 175 "src/dsp/dec_sse2.c", 176 "src/dsp/dec_sse41.c", 177 "src/dsp/filters.c", 178 "src/dsp/filters_mips_dsp_r2.c", 179 "src/dsp/filters_msa.c", 180 "src/dsp/filters_neon.c", 181 "src/dsp/filters_sse2.c", 182 "src/dsp/lossless.c", 183 "src/dsp/lossless_mips_dsp_r2.c", 184 "src/dsp/lossless_msa.c", 185 "src/dsp/lossless_neon.c", 186 "src/dsp/lossless_sse2.c", 187 "src/dsp/lossless_sse41.c", 188 "src/dsp/rescaler.c", 189 "src/dsp/rescaler_mips32.c", 190 "src/dsp/rescaler_mips_dsp_r2.c", 191 "src/dsp/rescaler_msa.c", 192 "src/dsp/rescaler_neon.c", 193 "src/dsp/rescaler_sse2.c", 194 "src/dsp/upsampling.c", 195 "src/dsp/upsampling_mips_dsp_r2.c", 196 "src/dsp/upsampling_msa.c", 197 "src/dsp/upsampling_neon.c", 198 "src/dsp/upsampling_sse2.c", 199 "src/dsp/upsampling_sse41.c", 200 "src/dsp/yuv.c", 201 "src/dsp/yuv_mips32.c", 202 "src/dsp/yuv_mips_dsp_r2.c", 203 "src/dsp/yuv_neon.c", 204 "src/dsp/yuv_sse2.c", 205 "src/dsp/yuv_sse41.c", 206 "src/utils/bit_reader_utils.c", 207 "src/utils/color_cache_utils.c", 208 "src/utils/filters_utils.c", 209 "src/utils/huffman_utils.c", 210 "src/utils/quant_levels_dec_utils.c", 211 "src/utils/random_utils.c", 212 "src/utils/rescaler_utils.c", 213 "src/utils/thread_utils.c", 214 "src/utils/utils.c", 215 ], 216 217 arch: { 218 arm: { 219 instruction_set: "arm", 220 }, 221 }, 222 223 cflags: [ 224 "-O2", 225 "-DANDROID", 226 "-DWEBP_SWAP_16BIT_CSP", 227 "-DWEBP_USE_THREAD", 228 "-Wall", 229 "-Werror", 230 ], 231 232 local_include_dirs: ["."], 233 static_libs: ["webp-headers"], 234 export_static_lib_headers: ["webp-headers"], 235 236 sdk_version: "9", 237 238 target: { 239 windows: { 240 enabled: true, 241 }, 242 }, 243} 244 245cc_defaults { 246 name: "libwebp_fuzzer_defaults", 247 host_supported: true, 248 native_coverage: true, 249 250 local_include_dirs: [ 251 ".", 252 "src", 253 ], 254 255 fuzz_config: { 256 cc: fuzz_email_cc, 257 componentid: bug_component_id, 258 }, 259 260 corpus: ["fuzz_seed_corpus/*"], 261} 262 263cc_fuzz { 264 name: "libwebp_advanced_api_fuzzer", 265 defaults: ["libwebp_fuzzer_defaults"], 266 267 srcs: [ 268 "tests/fuzzer/advanced_api_fuzzer.c", 269 ], 270 271 static_libs: [ 272 "libwebp-decode", 273 ], 274} 275 276cc_fuzz { 277 name: "libwebp_animation_api_fuzzer", 278 defaults: ["libwebp_fuzzer_defaults"], 279 280 srcs: [ 281 "tests/fuzzer/animation_api_fuzzer.c", 282 ], 283 284 static_libs: [ 285 "libwebp-decode", 286 ], 287} 288 289cc_fuzz { 290 name: "libwebp_animencoder_fuzzer", 291 defaults: ["libwebp_fuzzer_defaults"], 292 293 srcs: [ 294 "tests/fuzzer/animencoder_fuzzer.cc", 295 ], 296 297 static_libs: [ 298 "libwebp-decode", 299 "libwebp-encode", 300 ], 301} 302 303cc_fuzz { 304 name: "libwebp_enc_dec_fuzzer", 305 defaults: ["libwebp_fuzzer_defaults"], 306 307 srcs: [ 308 "tests/fuzzer/enc_dec_fuzzer.cc", 309 ], 310 311 static_libs: [ 312 "libwebp-decode", 313 "libwebp-encode", 314 ], 315} 316 317cc_fuzz { 318 name: "libwebp_mux_demux_api_fuzzer", 319 defaults: ["libwebp_fuzzer_defaults"], 320 321 srcs: [ 322 "tests/fuzzer/mux_demux_api_fuzzer.c", 323 ], 324 325 static_libs: [ 326 "libwebp-decode", 327 "libwebp-encode", 328 ], 329} 330 331cc_fuzz { 332 name: "libwebp_simple_api_fuzzer", 333 defaults: ["libwebp_fuzzer_defaults"], 334 335 srcs: [ 336 "tests/fuzzer/simple_api_fuzzer.c", 337 ], 338 339 static_libs: [ 340 "libwebp-decode", 341 ], 342} 343