1package { 2 default_applicable_licenses: ["external_rust_crabbyavif_license"], 3} 4 5license { 6 name: "external_rust_crabbyavif_license", 7 visibility: [":__subpackages__"], 8 license_kinds: [ 9 "SPDX-license-identifier-Apache-2.0", 10 ], 11} 12 13rust_bindgen { 14 name: "libcrabbyavif_mediaimage2_bindgen", 15 crate_name: "crabbyavif_mediaimage2_bindgen", 16 wrapper_src: "sys/ndk-sys/mediaimage2_wrapper.hpp", 17 source_stem: "mediaimage2_bindgen", 18 header_libs: [ 19 "media_plugin_headers", 20 ], 21 bindgen_flags: [ 22 "--allowlist-item=android::MediaImage2?", 23 "--no-recursive-allowlist", 24 "--no-layout-tests", 25 "--no-doc-comments", 26 ], 27} 28 29rust_bindgen { 30 name: "libcrabbyavif_ndk_bindgen", 31 crate_name: "crabbyavif_ndk_bindgen", 32 wrapper_src: "sys/ndk-sys/wrapper.h", 33 source_stem: "ndk_media_bindgen", 34 header_libs: [ 35 "libmediandk", 36 ], 37 bindgen_flags: [ 38 "--with-derive-default", 39 ], 40} 41 42rust_library { 43 name: "libndk_sys", 44 crate_name: "ndk_sys", 45 cargo_env_compat: true, 46 cargo_pkg_version: "0.1.0", 47 cfgs: ["android_soong"], 48 srcs: [ 49 "sys/ndk-sys/src/lib.rs", 50 ":libcrabbyavif_ndk_bindgen", 51 ], 52 shared_libs: [ 53 "libmediandk", 54 ], 55} 56 57rust_bindgen { 58 name: "libcrabbyavif_yuv_bindgen", 59 crate_name: "crabbyavif_yuv_bindgen", 60 wrapper_src: "sys/libyuv-sys/wrapper.h", 61 source_stem: "libyuv_bindgen", 62 product_available: true, 63 vendor_available: true, 64 header_libs: [ 65 "libyuv", 66 ], 67} 68 69rust_library { 70 name: "liblibyuv_sys", 71 crate_name: "libyuv_sys", 72 cargo_env_compat: true, 73 cargo_pkg_version: "0.1.0", 74 cfgs: ["android_soong"], 75 srcs: [ 76 "sys/libyuv-sys/src/lib.rs", 77 ":libcrabbyavif_yuv_bindgen", 78 ], 79 whole_static_libs: [ 80 "libyuv", 81 ], 82} 83 84rust_ffi_static { 85 name: "libcrabbyavif_ffi", 86 crate_name: "crabbyavif", 87 cargo_env_compat: true, 88 cargo_pkg_version: "0.1.0", 89 srcs: [ 90 "src/lib.rs", 91 ":libcrabbyavif_mediaimage2_bindgen", 92 ], 93 cfgs: ["android_soong"], 94 edition: "2021", 95 features: [ 96 "android_mediacodec", 97 "libyuv", 98 "capi", 99 "heic", 100 ], 101 rustlibs: [ 102 "liblibyuv_sys", 103 "libndk_sys", 104 "librustutils", 105 ], 106 shared_libs: [ 107 "libmediandk", 108 ], 109 include_dirs: ["include"], 110 apex_available: [ 111 "//apex_available:platform", 112 "//apex_available:anyapex", 113 ], 114} 115