xref: /aosp_15_r20/frameworks/native/libs/nativewindow/rust/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
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