// Copyright 2023 The Android Open Source Project package { default_applicable_licenses: ["Android-Apache-2.0"], } rust_bindgen { name: "libbootimg_bindgen", wrapper_src: "bindgen/bootimg.hpp", crate_name: "bootimg_bindgen", edition: "2021", source_stem: "bindings", bindgen_flags: [ "--ctypes-prefix=core::ffi", "--use-core", "--with-derive-default", "--blocklist-type=__.+|.?int.+", "--blocklist-item=_.+|.?INT.+|PTR.+|ATOMIC.+|.+SOURCE|.+_H|SIG_.+|SIZE_.+|.?CHAR.+", "--with-derive-custom-struct=(vendor_)?(boot_img_hdr|ramdisk_table_entry)_v\\d+=AsBytes,FromBytes,FromZeroes,PartialEq,Copy,Clone,Debug", "--raw-line=use zerocopy::{AsBytes, FromBytes, FromZeroes};", ], header_libs: ["bootimg_headers"], rustlibs: ["libzerocopy"], vendor_available: true, host_supported: true, } rust_defaults { name: "libbootimg_defaults", srcs: ["bootimg.rs"], rustlibs: [ "libzerocopy", "libbootimg_bindgen", ], } rust_library { name: "libbootimg", crate_name: "bootimg", vendor_available: true, host_supported: true, defaults: ["libbootimg_defaults"], } rust_test_host { name: "libbootimg_tests", auto_gen_config: true, defaults: ["libbootimg_defaults"], }