xref: /aosp_15_r20/frameworks/native/libs/input/rust/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1// Copyright 2023 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15rust_defaults {
16    name: "libinput_rust_defaults",
17    crate_name: "input",
18    srcs: ["lib.rs"],
19    host_supported: true,
20    rustlibs: [
21        "libbitflags",
22        "libcxx",
23        "libinput_bindgen",
24        "liblogger",
25        "liblog_rust",
26        "inputconstants-rust",
27        "libserde",
28        "libserde_json",
29    ],
30    whole_static_libs: [
31        "libinput_from_rust_to_cpp",
32    ],
33    shared_libs: [
34        "libbase",
35    ],
36}
37
38rust_library {
39    name: "libinput_rust",
40    defaults: ["libinput_rust_defaults"],
41}
42
43rust_ffi_static {
44    name: "libinput_rust_ffi",
45    defaults: ["libinput_rust_defaults"],
46}
47
48rust_test {
49    name: "libinput_rust_test",
50    defaults: ["libinput_rust_defaults"],
51    test_options: {
52        unit_test: true,
53    },
54    test_suites: ["device_tests"],
55    sanitize: {
56        hwaddress: true,
57    },
58}
59
60genrule {
61    name: "libinput_cxx_bridge_code",
62    tools: ["cxxbridge"],
63    cmd: "$(location cxxbridge) $(in) >> $(out)",
64    srcs: ["lib.rs"],
65    out: ["input_cxx_bridge_generated.cpp"],
66}
67
68genrule {
69    name: "libinput_cxx_bridge_header",
70    tools: ["cxxbridge"],
71    cmd: "$(location cxxbridge) $(in) --header >> $(out)",
72    srcs: ["lib.rs"],
73    out: ["input_cxx_bridge.rs.h"],
74}
75