| // Copyright (C) 2023 The Android Open Source Project | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, software | |
| // distributed under the License is distributed on an "AS IS" BASIS, | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| // See the License for the specific language governing permissions and | |
| // limitations under the License. | |
| package { | |
| default_applicable_licenses: [ | |
| "frameworks_native_libs_nativewindow_license", | |
| ], | |
| default_team: "trendy_team_android_core_graphics_stack", | |
| } | |
| rust_bindgen { | |
| name: "libnativewindow_bindgen_internal", | |
| crate_name: "nativewindow_bindgen", | |
| wrapper_src: "sys/nativewindow_bindings.h", | |
| source_stem: "bindings", | |
| bindgen_flags: [ | |
| "--constified-enum-module=AHardwareBuffer_Format", | |
| "--bitfield-enum=ADataSpace", | |
| "--bitfield-enum=AHardwareBuffer_UsageFlags", | |
| "--allowlist-file=.*/nativewindow/include/.*\\.h", | |
| "--allowlist-file=.*/include/cutils/.*\\.h", | |
| "--allowlist-file=.*/include_outside_system/cutils/.*\\.h", | |
| "--blocklist-type", | |
| "AParcel", | |
| "--raw-line", | |
| "use binder::unstable_api::AParcel;", | |
| "--with-derive-eq", | |
| "--with-derive-partialeq", | |
| ], | |
| shared_libs: [ | |
| "libbinder_ndk", | |
| "libcutils", | |
| "libnativewindow", | |
| ], | |
| rustlibs: [ | |
| "libbinder_rs", | |
| ], | |
| // Currently necessary for host builds | |
| // TODO(b/31559095): bionic on host should define this | |
| target: { | |
| darwin: { | |
| enabled: false, | |
| }, | |
| }, | |
| min_sdk_version: "VanillaIceCream", | |
| vendor_available: true, | |
| apex_available: [ | |
| "//apex_available:platform", | |
| "com.android.virt", | |
| ], | |
| } | |
| rust_library { | |
| name: "libnativewindow_bindgen", | |
| crate_name: "nativewindow_bindgen", | |
| srcs: [":libnativewindow_bindgen_internal"], | |
| shared_libs: [ | |
| "libbinder_ndk", | |
| "libcutils", | |
| "libnativewindow", | |
| ], | |
| rustlibs: [ | |
| "libbinder_rs", | |
| ], | |
| lints: "none", | |
| clippy_lints: "none", | |
| // Currently necessary for host builds | |
| // TODO(b/31559095): bionic on host should define this | |
| target: { | |
| darwin: { | |
| enabled: false, | |
| }, | |
| }, | |
| min_sdk_version: "VanillaIceCream", | |
| vendor_available: true, | |
| apex_available: [ | |
| "//apex_available:platform", | |
| "com.android.virt", | |
| ], | |
| } | |
| rust_test { | |
| name: "libnativewindow_bindgen_test", | |
| srcs: [":libnativewindow_bindgen_internal"], | |
| crate_name: "nativewindow_bindgen_test", | |
| rustlibs: [ | |
| "libbinder_rs", | |
| ], | |
| test_suites: ["general-tests"], | |
| auto_gen_config: true, | |
| clippy_lints: "none", | |
| lints: "none", | |
| } | |
| rust_defaults { | |
| name: "libnativewindow_defaults", | |
| srcs: ["src/lib.rs"], | |
| rustlibs: [ | |
| "android.hardware.common-V2-rust", | |
| "libbinder_rs", | |
| "libbitflags", | |
| "libnativewindow_bindgen", | |
| ], | |
| } | |
| rust_library { | |
| name: "libnativewindow_rs", | |
| crate_name: "nativewindow", | |
| defaults: ["libnativewindow_defaults"], | |
| // Currently necessary for host builds | |
| // TODO(b/31559095): bionic on host should define this | |
| target: { | |
| darwin: { | |
| enabled: false, | |
| }, | |
| }, | |
| min_sdk_version: "VanillaIceCream", | |
| vendor_available: true, | |
| apex_available: [ | |
| "//apex_available:platform", | |
| "com.android.virt", | |
| ], | |
| } | |
| rust_test { | |
| name: "libnativewindow_rs-internal_test", | |
| crate_name: "nativewindow", | |
| defaults: ["libnativewindow_defaults"], | |
| test_suites: ["general-tests"], | |
| } |