package { default_applicable_licenses: ["Android-Apache-2.0"], } rust_defaults { name: "librustutils_defaults", srcs: ["lib.rs"], rustlibs: [ "libanyhow", "libcutils_bindgen", "libsystem_properties_bindgen", "libthiserror", ], } rust_library { name: "librustutils", crate_name: "rustutils", defaults: ["librustutils_defaults"], shared_libs: [ "libbase", "libcutils", ], apex_available: [ "//apex_available:platform", "com.android.btservices", "com.android.compos", "com.android.uwb", "com.android.virt", ], vendor_available: true, min_sdk_version: "29", } rust_test { name: "librustutils_test", crate_name: "librustutils_test_test", defaults: ["librustutils_defaults"], test_suites: ["general-tests"], auto_gen_config: true, } rust_bindgen { name: "libsystem_properties_bindgen", wrapper_src: "bindgen/system_properties.h", crate_name: "system_properties_bindgen", source_stem: "bindings", bindgen_flags: [ "--size_t-is-usize", "--allowlist-function=__system_property_find", "--allowlist-function=__system_property_foreach", "--allowlist-function=__system_property_read_callback", "--allowlist-function=__system_property_set", "--allowlist-function=__system_property_wait", ], vendor_available: true, apex_available: [ "//apex_available:platform", "com.android.btservices", "com.android.compos", "com.android.uwb", "com.android.virt", ], min_sdk_version: "29", } rust_bindgen { name: "libcutils_bindgen", wrapper_src: "bindgen/cutils.h", crate_name: "cutils_bindgen", source_stem: "bindings", header_libs: ["libcutils_headers"], bindgen_flags: [ "--allowlist-function", "android_get_control_socket", "--allowlist-var", "AID_KEYSTORE", "--allowlist-var", "AID_ROOT", "--allowlist-var", "AID_SHELL", "--allowlist-var", "AID_SYSTEM", "--allowlist-var", "AID_USER_OFFSET", ], vendor_available: true, apex_available: [ "//apex_available:platform", "com.android.btservices", "com.android.compos", "com.android.uwb", "com.android.virt", ], min_sdk_version: "29", } rust_test { name: "libsystem_properties_bindgen_test", srcs: [":libsystem_properties_bindgen"], crate_name: "system_properties_bindgen_test", test_suites: ["general-tests"], auto_gen_config: true, clippy_lints: "none", lints: "none", } rust_test { name: "libcutils_bindgen_test", srcs: [":libcutils_bindgen"], crate_name: "cutils_bindgen_test", test_suites: ["general-tests"], auto_gen_config: true, clippy_lints: "none", lints: "none", } rust_fuzz { name: "system_properties_fuzzer", srcs: ["system_properties_fuzzer.rs"], rustlibs: [ "libarbitrary", "librustutils", ], fuzz_config: { fuzz_on_haiku_device: true, fuzz_on_haiku_host: true, }, }