1*38e8c45fSAndroid Build Coastguard Worker// Copyright (C) 2023 The Android Open Source Project 2*38e8c45fSAndroid Build Coastguard Worker// 3*38e8c45fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*38e8c45fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*38e8c45fSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*38e8c45fSAndroid Build Coastguard Worker// 7*38e8c45fSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*38e8c45fSAndroid Build Coastguard Worker// 9*38e8c45fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*38e8c45fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*38e8c45fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*38e8c45fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*38e8c45fSAndroid Build Coastguard Worker// limitations under the License. 14*38e8c45fSAndroid Build Coastguard Worker 15*38e8c45fSAndroid Build Coastguard Workerpackage { 16*38e8c45fSAndroid Build Coastguard Worker default_applicable_licenses: [ 17*38e8c45fSAndroid Build Coastguard Worker "frameworks_native_libs_nativewindow_license", 18*38e8c45fSAndroid Build Coastguard Worker ], 19*38e8c45fSAndroid Build Coastguard Worker default_team: "trendy_team_android_core_graphics_stack", 20*38e8c45fSAndroid Build Coastguard Worker} 21*38e8c45fSAndroid Build Coastguard Worker 22*38e8c45fSAndroid Build Coastguard Workerrust_bindgen { 23*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_bindgen_internal", 24*38e8c45fSAndroid Build Coastguard Worker crate_name: "nativewindow_bindgen", 25*38e8c45fSAndroid Build Coastguard Worker wrapper_src: "sys/nativewindow_bindings.h", 26*38e8c45fSAndroid Build Coastguard Worker source_stem: "bindings", 27*38e8c45fSAndroid Build Coastguard Worker bindgen_flags: [ 28*38e8c45fSAndroid Build Coastguard Worker "--constified-enum-module=AHardwareBuffer_Format", 29*38e8c45fSAndroid Build Coastguard Worker "--bitfield-enum=ADataSpace", 30*38e8c45fSAndroid Build Coastguard Worker "--bitfield-enum=AHardwareBuffer_UsageFlags", 31*38e8c45fSAndroid Build Coastguard Worker 32*38e8c45fSAndroid Build Coastguard Worker "--allowlist-file=.*/nativewindow/include/.*\\.h", 33*38e8c45fSAndroid Build Coastguard Worker "--allowlist-file=.*/include/cutils/.*\\.h", 34*38e8c45fSAndroid Build Coastguard Worker "--allowlist-file=.*/include_outside_system/cutils/.*\\.h", 35*38e8c45fSAndroid Build Coastguard Worker "--blocklist-type", 36*38e8c45fSAndroid Build Coastguard Worker "AParcel", 37*38e8c45fSAndroid Build Coastguard Worker "--raw-line", 38*38e8c45fSAndroid Build Coastguard Worker "use binder::unstable_api::AParcel;", 39*38e8c45fSAndroid Build Coastguard Worker 40*38e8c45fSAndroid Build Coastguard Worker "--with-derive-eq", 41*38e8c45fSAndroid Build Coastguard Worker "--with-derive-partialeq", 42*38e8c45fSAndroid Build Coastguard Worker ], 43*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 44*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk", 45*38e8c45fSAndroid Build Coastguard Worker "libcutils", 46*38e8c45fSAndroid Build Coastguard Worker "libnativewindow", 47*38e8c45fSAndroid Build Coastguard Worker ], 48*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 49*38e8c45fSAndroid Build Coastguard Worker "libbinder_rs", 50*38e8c45fSAndroid Build Coastguard Worker ], 51*38e8c45fSAndroid Build Coastguard Worker 52*38e8c45fSAndroid Build Coastguard Worker // Currently necessary for host builds 53*38e8c45fSAndroid Build Coastguard Worker // TODO(b/31559095): bionic on host should define this 54*38e8c45fSAndroid Build Coastguard Worker target: { 55*38e8c45fSAndroid Build Coastguard Worker darwin: { 56*38e8c45fSAndroid Build Coastguard Worker enabled: false, 57*38e8c45fSAndroid Build Coastguard Worker }, 58*38e8c45fSAndroid Build Coastguard Worker }, 59*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "VanillaIceCream", 60*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 61*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 62*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 63*38e8c45fSAndroid Build Coastguard Worker "com.android.virt", 64*38e8c45fSAndroid Build Coastguard Worker ], 65*38e8c45fSAndroid Build Coastguard Worker} 66*38e8c45fSAndroid Build Coastguard Worker 67*38e8c45fSAndroid Build Coastguard Workerrust_library { 68*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_bindgen", 69*38e8c45fSAndroid Build Coastguard Worker crate_name: "nativewindow_bindgen", 70*38e8c45fSAndroid Build Coastguard Worker srcs: [":libnativewindow_bindgen_internal"], 71*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 72*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk", 73*38e8c45fSAndroid Build Coastguard Worker "libcutils", 74*38e8c45fSAndroid Build Coastguard Worker "libnativewindow", 75*38e8c45fSAndroid Build Coastguard Worker ], 76*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 77*38e8c45fSAndroid Build Coastguard Worker "libbinder_rs", 78*38e8c45fSAndroid Build Coastguard Worker ], 79*38e8c45fSAndroid Build Coastguard Worker lints: "none", 80*38e8c45fSAndroid Build Coastguard Worker clippy_lints: "none", 81*38e8c45fSAndroid Build Coastguard Worker // Currently necessary for host builds 82*38e8c45fSAndroid Build Coastguard Worker // TODO(b/31559095): bionic on host should define this 83*38e8c45fSAndroid Build Coastguard Worker target: { 84*38e8c45fSAndroid Build Coastguard Worker darwin: { 85*38e8c45fSAndroid Build Coastguard Worker enabled: false, 86*38e8c45fSAndroid Build Coastguard Worker }, 87*38e8c45fSAndroid Build Coastguard Worker }, 88*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "VanillaIceCream", 89*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 90*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 91*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 92*38e8c45fSAndroid Build Coastguard Worker "com.android.virt", 93*38e8c45fSAndroid Build Coastguard Worker ], 94*38e8c45fSAndroid Build Coastguard Worker} 95*38e8c45fSAndroid Build Coastguard Worker 96*38e8c45fSAndroid Build Coastguard Workerrust_test { 97*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_bindgen_test", 98*38e8c45fSAndroid Build Coastguard Worker srcs: [":libnativewindow_bindgen_internal"], 99*38e8c45fSAndroid Build Coastguard Worker crate_name: "nativewindow_bindgen_test", 100*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 101*38e8c45fSAndroid Build Coastguard Worker "libbinder_rs", 102*38e8c45fSAndroid Build Coastguard Worker ], 103*38e8c45fSAndroid Build Coastguard Worker test_suites: ["general-tests"], 104*38e8c45fSAndroid Build Coastguard Worker auto_gen_config: true, 105*38e8c45fSAndroid Build Coastguard Worker clippy_lints: "none", 106*38e8c45fSAndroid Build Coastguard Worker lints: "none", 107*38e8c45fSAndroid Build Coastguard Worker} 108*38e8c45fSAndroid Build Coastguard Worker 109*38e8c45fSAndroid Build Coastguard Workerrust_defaults { 110*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_defaults", 111*38e8c45fSAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 112*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 113*38e8c45fSAndroid Build Coastguard Worker "android.hardware.common-V2-rust", 114*38e8c45fSAndroid Build Coastguard Worker "libbinder_rs", 115*38e8c45fSAndroid Build Coastguard Worker "libbitflags", 116*38e8c45fSAndroid Build Coastguard Worker "libnativewindow_bindgen", 117*38e8c45fSAndroid Build Coastguard Worker ], 118*38e8c45fSAndroid Build Coastguard Worker} 119*38e8c45fSAndroid Build Coastguard Worker 120*38e8c45fSAndroid Build Coastguard Workerrust_library { 121*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_rs", 122*38e8c45fSAndroid Build Coastguard Worker crate_name: "nativewindow", 123*38e8c45fSAndroid Build Coastguard Worker defaults: ["libnativewindow_defaults"], 124*38e8c45fSAndroid Build Coastguard Worker 125*38e8c45fSAndroid Build Coastguard Worker // Currently necessary for host builds 126*38e8c45fSAndroid Build Coastguard Worker // TODO(b/31559095): bionic on host should define this 127*38e8c45fSAndroid Build Coastguard Worker target: { 128*38e8c45fSAndroid Build Coastguard Worker darwin: { 129*38e8c45fSAndroid Build Coastguard Worker enabled: false, 130*38e8c45fSAndroid Build Coastguard Worker }, 131*38e8c45fSAndroid Build Coastguard Worker }, 132*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "VanillaIceCream", 133*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 134*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 135*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 136*38e8c45fSAndroid Build Coastguard Worker "com.android.virt", 137*38e8c45fSAndroid Build Coastguard Worker ], 138*38e8c45fSAndroid Build Coastguard Worker} 139*38e8c45fSAndroid Build Coastguard Worker 140*38e8c45fSAndroid Build Coastguard Workerrust_test { 141*38e8c45fSAndroid Build Coastguard Worker name: "libnativewindow_rs-internal_test", 142*38e8c45fSAndroid Build Coastguard Worker crate_name: "nativewindow", 143*38e8c45fSAndroid Build Coastguard Worker defaults: ["libnativewindow_defaults"], 144*38e8c45fSAndroid Build Coastguard Worker test_suites: ["general-tests"], 145*38e8c45fSAndroid Build Coastguard Worker} 146