xref: /aosp_15_r20/frameworks/native/libs/input/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Worker// Copyright (C) 2013 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 Worker// libinput is partially built for the host (used by build time keymap validation tool)
16*38e8c45fSAndroid Build Coastguard Worker
17*38e8c45fSAndroid Build Coastguard Workerpackage {
18*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
19*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
20*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
21*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
22*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
23*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
24*38e8c45fSAndroid Build Coastguard Worker}
25*38e8c45fSAndroid Build Coastguard Worker
26*38e8c45fSAndroid Build Coastguard Workerfilegroup {
27*38e8c45fSAndroid Build Coastguard Worker    name: "inputconstants_aidl",
28*38e8c45fSAndroid Build Coastguard Worker    srcs: [
29*38e8c45fSAndroid Build Coastguard Worker        "android/os/IInputConstants.aidl",
30*38e8c45fSAndroid Build Coastguard Worker        "android/os/InputEventInjectionResult.aidl",
31*38e8c45fSAndroid Build Coastguard Worker        "android/os/InputEventInjectionSync.aidl",
32*38e8c45fSAndroid Build Coastguard Worker        "android/os/InputConfig.aidl",
33*38e8c45fSAndroid Build Coastguard Worker        "android/os/MotionEventFlag.aidl",
34*38e8c45fSAndroid Build Coastguard Worker        "android/os/PointerIconType.aidl",
35*38e8c45fSAndroid Build Coastguard Worker    ],
36*38e8c45fSAndroid Build Coastguard Worker}
37*38e8c45fSAndroid Build Coastguard Worker
38*38e8c45fSAndroid Build Coastguard Worker/////////////////////////////////////////////////
39*38e8c45fSAndroid Build Coastguard Worker// flags
40*38e8c45fSAndroid Build Coastguard Worker/////////////////////////////////////////////////
41*38e8c45fSAndroid Build Coastguard Workeraconfig_declarations {
42*38e8c45fSAndroid Build Coastguard Worker    name: "com.android.input.flags-aconfig",
43*38e8c45fSAndroid Build Coastguard Worker    package: "com.android.input.flags",
44*38e8c45fSAndroid Build Coastguard Worker    container: "system",
45*38e8c45fSAndroid Build Coastguard Worker    srcs: ["input_flags.aconfig"],
46*38e8c45fSAndroid Build Coastguard Worker}
47*38e8c45fSAndroid Build Coastguard Worker
48*38e8c45fSAndroid Build Coastguard Workercc_aconfig_library {
49*38e8c45fSAndroid Build Coastguard Worker    name: "com.android.input.flags-aconfig-cc",
50*38e8c45fSAndroid Build Coastguard Worker    aconfig_declarations: "com.android.input.flags-aconfig",
51*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
52*38e8c45fSAndroid Build Coastguard Worker    // Use the test version of the aconfig flag library by default to allow tests to set local
53*38e8c45fSAndroid Build Coastguard Worker    // overrides for flags, without having to link against a separate version of libinput or of this
54*38e8c45fSAndroid Build Coastguard Worker    // library. Bundling this library directly into libinput prevents us from having to add this
55*38e8c45fSAndroid Build Coastguard Worker    // library as a shared lib dependency everywhere where libinput is used.
56*38e8c45fSAndroid Build Coastguard Worker    mode: "test",
57*38e8c45fSAndroid Build Coastguard Worker    shared: {
58*38e8c45fSAndroid Build Coastguard Worker        enabled: false,
59*38e8c45fSAndroid Build Coastguard Worker    },
60*38e8c45fSAndroid Build Coastguard Worker}
61*38e8c45fSAndroid Build Coastguard Worker
62*38e8c45fSAndroid Build Coastguard Workeraidl_interface {
63*38e8c45fSAndroid Build Coastguard Worker    name: "inputconstants",
64*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
65*38e8c45fSAndroid Build Coastguard Worker    vendor_available: true,
66*38e8c45fSAndroid Build Coastguard Worker    unstable: true,
67*38e8c45fSAndroid Build Coastguard Worker    srcs: [
68*38e8c45fSAndroid Build Coastguard Worker        ":inputconstants_aidl",
69*38e8c45fSAndroid Build Coastguard Worker    ],
70*38e8c45fSAndroid Build Coastguard Worker
71*38e8c45fSAndroid Build Coastguard Worker    backend: {
72*38e8c45fSAndroid Build Coastguard Worker        rust: {
73*38e8c45fSAndroid Build Coastguard Worker            enabled: true,
74*38e8c45fSAndroid Build Coastguard Worker        },
75*38e8c45fSAndroid Build Coastguard Worker    },
76*38e8c45fSAndroid Build Coastguard Worker}
77*38e8c45fSAndroid Build Coastguard Worker
78*38e8c45fSAndroid Build Coastguard Workerrust_bindgen {
79*38e8c45fSAndroid Build Coastguard Worker    name: "libinput_bindgen",
80*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
81*38e8c45fSAndroid Build Coastguard Worker    crate_name: "input_bindgen",
82*38e8c45fSAndroid Build Coastguard Worker    visibility: ["//frameworks/native/services/inputflinger"],
83*38e8c45fSAndroid Build Coastguard Worker    wrapper_src: "InputWrapper.hpp",
84*38e8c45fSAndroid Build Coastguard Worker
85*38e8c45fSAndroid Build Coastguard Worker    source_stem: "bindings",
86*38e8c45fSAndroid Build Coastguard Worker
87*38e8c45fSAndroid Build Coastguard Worker    bindgen_flags: [
88*38e8c45fSAndroid Build Coastguard Worker        "--verbose",
89*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMOTION_EVENT_ACTION_CANCEL",
90*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMOTION_EVENT_ACTION_UP",
91*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMOTION_EVENT_ACTION_POINTER_DOWN",
92*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMOTION_EVENT_ACTION_DOWN",
93*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT",
94*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=MAX_POINTER_ID",
95*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_NONE",
96*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_BUTTON",
97*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_POINTER",
98*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_NAVIGATION",
99*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_POSITION",
100*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_CLASS_JOYSTICK",
101*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_UNKNOWN",
102*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_KEYBOARD",
103*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_DPAD",
104*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_GAMEPAD",
105*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_TOUCHSCREEN",
106*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_MOUSE",
107*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_STYLUS",
108*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_BLUETOOTH_STYLUS",
109*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_TRACKBALL",
110*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_MOUSE_RELATIVE",
111*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_TOUCHPAD",
112*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_TOUCH_NAVIGATION",
113*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_JOYSTICK",
114*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_HDMI",
115*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_SENSOR",
116*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_SOURCE_ROTARY_ENCODER",
117*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_KEYBOARD_TYPE_NONE",
118*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC",
119*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AINPUT_KEYBOARD_TYPE_ALPHABETIC",
120*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_NONE",
121*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_ALT_ON",
122*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_ALT_LEFT_ON",
123*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_ALT_RIGHT_ON",
124*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_SHIFT_ON",
125*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_SHIFT_LEFT_ON",
126*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_SHIFT_RIGHT_ON",
127*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_SYM_ON",
128*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_FUNCTION_ON",
129*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_CTRL_ON",
130*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_CTRL_LEFT_ON",
131*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_CTRL_RIGHT_ON",
132*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_META_ON",
133*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_META_LEFT_ON",
134*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_META_RIGHT_ON",
135*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_CAPS_LOCK_ON",
136*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_NUM_LOCK_ON",
137*38e8c45fSAndroid Build Coastguard Worker        "--allowlist-var=AMETA_SCROLL_LOCK_ON",
138*38e8c45fSAndroid Build Coastguard Worker    ],
139*38e8c45fSAndroid Build Coastguard Worker
140*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
141*38e8c45fSAndroid Build Coastguard Worker        "inputconstants-cpp",
142*38e8c45fSAndroid Build Coastguard Worker        "libui-types",
143*38e8c45fSAndroid Build Coastguard Worker    ],
144*38e8c45fSAndroid Build Coastguard Worker    shared_libs: ["libc++"],
145*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
146*38e8c45fSAndroid Build Coastguard Worker        "native_headers",
147*38e8c45fSAndroid Build Coastguard Worker        "jni_headers",
148*38e8c45fSAndroid Build Coastguard Worker        "flatbuffer_headers",
149*38e8c45fSAndroid Build Coastguard Worker    ],
150*38e8c45fSAndroid Build Coastguard Worker}
151*38e8c45fSAndroid Build Coastguard Worker
152*38e8c45fSAndroid Build Coastguard Workercc_library_static {
153*38e8c45fSAndroid Build Coastguard Worker    name: "iinputflinger_aidl_lib_static",
154*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
155*38e8c45fSAndroid Build Coastguard Worker    srcs: [
156*38e8c45fSAndroid Build Coastguard Worker        "android/os/IInputFlinger.aidl",
157*38e8c45fSAndroid Build Coastguard Worker        "android/os/InputChannelCore.aidl",
158*38e8c45fSAndroid Build Coastguard Worker    ],
159*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
160*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
161*38e8c45fSAndroid Build Coastguard Worker    ],
162*38e8c45fSAndroid Build Coastguard Worker    whole_static_libs: [
163*38e8c45fSAndroid Build Coastguard Worker        "libgui_window_info_static",
164*38e8c45fSAndroid Build Coastguard Worker    ],
165*38e8c45fSAndroid Build Coastguard Worker    aidl: {
166*38e8c45fSAndroid Build Coastguard Worker        export_aidl_headers: true,
167*38e8c45fSAndroid Build Coastguard Worker        local_include_dirs: ["."],
168*38e8c45fSAndroid Build Coastguard Worker        include_dirs: [
169*38e8c45fSAndroid Build Coastguard Worker            "frameworks/native/libs/gui",
170*38e8c45fSAndroid Build Coastguard Worker            "frameworks/native/libs/input",
171*38e8c45fSAndroid Build Coastguard Worker        ],
172*38e8c45fSAndroid Build Coastguard Worker    },
173*38e8c45fSAndroid Build Coastguard Worker}
174*38e8c45fSAndroid Build Coastguard Worker
175*38e8c45fSAndroid Build Coastguard Worker// Contains methods to help access C++ code from rust
176*38e8c45fSAndroid Build Coastguard Workercc_library_static {
177*38e8c45fSAndroid Build Coastguard Worker    name: "libinput_from_rust_to_cpp",
178*38e8c45fSAndroid Build Coastguard Worker    cpp_std: "c++20",
179*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
180*38e8c45fSAndroid Build Coastguard Worker    cflags: [
181*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
182*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
183*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
184*38e8c45fSAndroid Build Coastguard Worker    ],
185*38e8c45fSAndroid Build Coastguard Worker    srcs: [
186*38e8c45fSAndroid Build Coastguard Worker        "FromRustToCpp.cpp",
187*38e8c45fSAndroid Build Coastguard Worker    ],
188*38e8c45fSAndroid Build Coastguard Worker
189*38e8c45fSAndroid Build Coastguard Worker    generated_headers: [
190*38e8c45fSAndroid Build Coastguard Worker        "cxx-bridge-header",
191*38e8c45fSAndroid Build Coastguard Worker    ],
192*38e8c45fSAndroid Build Coastguard Worker    generated_sources: ["libinput_cxx_bridge_code"],
193*38e8c45fSAndroid Build Coastguard Worker
194*38e8c45fSAndroid Build Coastguard Worker    lto: {
195*38e8c45fSAndroid Build Coastguard Worker        never: true,
196*38e8c45fSAndroid Build Coastguard Worker    },
197*38e8c45fSAndroid Build Coastguard Worker
198*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
199*38e8c45fSAndroid Build Coastguard Worker        "libbase",
200*38e8c45fSAndroid Build Coastguard Worker    ],
201*38e8c45fSAndroid Build Coastguard Worker}
202*38e8c45fSAndroid Build Coastguard Worker
203*38e8c45fSAndroid Build Coastguard Workercc_library {
204*38e8c45fSAndroid Build Coastguard Worker    name: "libinput",
205*38e8c45fSAndroid Build Coastguard Worker    cpp_std: "c++20",
206*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
207*38e8c45fSAndroid Build Coastguard Worker    cflags: [
208*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
209*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
210*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
211*38e8c45fSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
212*38e8c45fSAndroid Build Coastguard Worker        "-Wthread-safety",
213*38e8c45fSAndroid Build Coastguard Worker        "-Wshadow",
214*38e8c45fSAndroid Build Coastguard Worker        "-Wshadow-field-in-constructor-modified",
215*38e8c45fSAndroid Build Coastguard Worker        "-Wshadow-uncaptured-local",
216*38e8c45fSAndroid Build Coastguard Worker        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
217*38e8c45fSAndroid Build Coastguard Worker    ],
218*38e8c45fSAndroid Build Coastguard Worker    srcs: [
219*38e8c45fSAndroid Build Coastguard Worker        "AccelerationCurve.cpp",
220*38e8c45fSAndroid Build Coastguard Worker        "CoordinateFilter.cpp",
221*38e8c45fSAndroid Build Coastguard Worker        "Input.cpp",
222*38e8c45fSAndroid Build Coastguard Worker        "InputConsumer.cpp",
223*38e8c45fSAndroid Build Coastguard Worker        "InputConsumerNoResampling.cpp",
224*38e8c45fSAndroid Build Coastguard Worker        "InputDevice.cpp",
225*38e8c45fSAndroid Build Coastguard Worker        "InputEventLabels.cpp",
226*38e8c45fSAndroid Build Coastguard Worker        "InputTransport.cpp",
227*38e8c45fSAndroid Build Coastguard Worker        "InputVerifier.cpp",
228*38e8c45fSAndroid Build Coastguard Worker        "Keyboard.cpp",
229*38e8c45fSAndroid Build Coastguard Worker        "KeyCharacterMap.cpp",
230*38e8c45fSAndroid Build Coastguard Worker        "KeyboardClassifier.cpp",
231*38e8c45fSAndroid Build Coastguard Worker        "KeyLayoutMap.cpp",
232*38e8c45fSAndroid Build Coastguard Worker        "MotionPredictor.cpp",
233*38e8c45fSAndroid Build Coastguard Worker        "MotionPredictorMetricsManager.cpp",
234*38e8c45fSAndroid Build Coastguard Worker        "OneEuroFilter.cpp",
235*38e8c45fSAndroid Build Coastguard Worker        "PrintTools.cpp",
236*38e8c45fSAndroid Build Coastguard Worker        "PropertyMap.cpp",
237*38e8c45fSAndroid Build Coastguard Worker        "Resampler.cpp",
238*38e8c45fSAndroid Build Coastguard Worker        "TfLiteMotionPredictor.cpp",
239*38e8c45fSAndroid Build Coastguard Worker        "TouchVideoFrame.cpp",
240*38e8c45fSAndroid Build Coastguard Worker        "VelocityControl.cpp",
241*38e8c45fSAndroid Build Coastguard Worker        "VelocityTracker.cpp",
242*38e8c45fSAndroid Build Coastguard Worker        "VirtualInputDevice.cpp",
243*38e8c45fSAndroid Build Coastguard Worker        "VirtualKeyMap.cpp",
244*38e8c45fSAndroid Build Coastguard Worker    ],
245*38e8c45fSAndroid Build Coastguard Worker
246*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
247*38e8c45fSAndroid Build Coastguard Worker        "flatbuffer_headers",
248*38e8c45fSAndroid Build Coastguard Worker        "jni_headers",
249*38e8c45fSAndroid Build Coastguard Worker        "libeigen",
250*38e8c45fSAndroid Build Coastguard Worker        "tensorflow_headers",
251*38e8c45fSAndroid Build Coastguard Worker    ],
252*38e8c45fSAndroid Build Coastguard Worker    export_header_lib_headers: [
253*38e8c45fSAndroid Build Coastguard Worker        "jni_headers",
254*38e8c45fSAndroid Build Coastguard Worker        "libeigen",
255*38e8c45fSAndroid Build Coastguard Worker    ],
256*38e8c45fSAndroid Build Coastguard Worker
257*38e8c45fSAndroid Build Coastguard Worker    generated_headers: [
258*38e8c45fSAndroid Build Coastguard Worker        "cxx-bridge-header",
259*38e8c45fSAndroid Build Coastguard Worker        "libinput_cxx_bridge_header",
260*38e8c45fSAndroid Build Coastguard Worker        "toolbox_input_labels",
261*38e8c45fSAndroid Build Coastguard Worker    ],
262*38e8c45fSAndroid Build Coastguard Worker
263*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
264*38e8c45fSAndroid Build Coastguard Worker        "android.companion.virtualdevice.flags-aconfig-cc",
265*38e8c45fSAndroid Build Coastguard Worker        "libbase",
266*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
267*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
268*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
269*38e8c45fSAndroid Build Coastguard Worker        "liblog",
270*38e8c45fSAndroid Build Coastguard Worker        "libPlatformProperties",
271*38e8c45fSAndroid Build Coastguard Worker        "libtinyxml2",
272*38e8c45fSAndroid Build Coastguard Worker        "libutils",
273*38e8c45fSAndroid Build Coastguard Worker        "libz", // needed by libkernelconfigs
274*38e8c45fSAndroid Build Coastguard Worker        "server_configurable_flags",
275*38e8c45fSAndroid Build Coastguard Worker    ],
276*38e8c45fSAndroid Build Coastguard Worker
277*38e8c45fSAndroid Build Coastguard Worker    ldflags: [
278*38e8c45fSAndroid Build Coastguard Worker        "-Wl,--exclude-libs=libtflite_static.a",
279*38e8c45fSAndroid Build Coastguard Worker    ],
280*38e8c45fSAndroid Build Coastguard Worker
281*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
282*38e8c45fSAndroid Build Coastguard Worker        undefined: true,
283*38e8c45fSAndroid Build Coastguard Worker        all_undefined: true,
284*38e8c45fSAndroid Build Coastguard Worker        misc_undefined: ["integer"],
285*38e8c45fSAndroid Build Coastguard Worker    },
286*38e8c45fSAndroid Build Coastguard Worker
287*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
288*38e8c45fSAndroid Build Coastguard Worker        "inputconstants-cpp",
289*38e8c45fSAndroid Build Coastguard Worker        "libui-types",
290*38e8c45fSAndroid Build Coastguard Worker        "libtflite_static",
291*38e8c45fSAndroid Build Coastguard Worker        "libkernelconfigs",
292*38e8c45fSAndroid Build Coastguard Worker    ],
293*38e8c45fSAndroid Build Coastguard Worker
294*38e8c45fSAndroid Build Coastguard Worker    whole_static_libs: [
295*38e8c45fSAndroid Build Coastguard Worker        "com.android.input.flags-aconfig-cc",
296*38e8c45fSAndroid Build Coastguard Worker        "libinput_rust_ffi",
297*38e8c45fSAndroid Build Coastguard Worker        "iinputflinger_aidl_lib_static",
298*38e8c45fSAndroid Build Coastguard Worker    ],
299*38e8c45fSAndroid Build Coastguard Worker
300*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
301*38e8c45fSAndroid Build Coastguard Worker        "libui-types",
302*38e8c45fSAndroid Build Coastguard Worker    ],
303*38e8c45fSAndroid Build Coastguard Worker
304*38e8c45fSAndroid Build Coastguard Worker    export_generated_headers: [
305*38e8c45fSAndroid Build Coastguard Worker        "cxx-bridge-header",
306*38e8c45fSAndroid Build Coastguard Worker        "libinput_cxx_bridge_header",
307*38e8c45fSAndroid Build Coastguard Worker    ],
308*38e8c45fSAndroid Build Coastguard Worker
309*38e8c45fSAndroid Build Coastguard Worker    target: {
310*38e8c45fSAndroid Build Coastguard Worker        android: {
311*38e8c45fSAndroid Build Coastguard Worker            required: [
312*38e8c45fSAndroid Build Coastguard Worker                "motion_predictor_model_prebuilt",
313*38e8c45fSAndroid Build Coastguard Worker                "motion_predictor_model_config",
314*38e8c45fSAndroid Build Coastguard Worker            ],
315*38e8c45fSAndroid Build Coastguard Worker            static_libs: [
316*38e8c45fSAndroid Build Coastguard Worker                "libstatslog_libinput",
317*38e8c45fSAndroid Build Coastguard Worker                "libstatssocket_lazy",
318*38e8c45fSAndroid Build Coastguard Worker            ],
319*38e8c45fSAndroid Build Coastguard Worker        },
320*38e8c45fSAndroid Build Coastguard Worker        host: {
321*38e8c45fSAndroid Build Coastguard Worker            include_dirs: [
322*38e8c45fSAndroid Build Coastguard Worker                "bionic/libc/kernel/android/uapi/",
323*38e8c45fSAndroid Build Coastguard Worker                "bionic/libc/kernel/uapi",
324*38e8c45fSAndroid Build Coastguard Worker            ],
325*38e8c45fSAndroid Build Coastguard Worker        },
326*38e8c45fSAndroid Build Coastguard Worker    },
327*38e8c45fSAndroid Build Coastguard Worker}
328*38e8c45fSAndroid Build Coastguard Worker
329*38e8c45fSAndroid Build Coastguard Workercc_library_static {
330*38e8c45fSAndroid Build Coastguard Worker    name: "libstatslog_libinput",
331*38e8c45fSAndroid Build Coastguard Worker    generated_sources: ["statslog_libinput.cpp"],
332*38e8c45fSAndroid Build Coastguard Worker    generated_headers: ["statslog_libinput.h"],
333*38e8c45fSAndroid Build Coastguard Worker    cflags: [
334*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
335*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
336*38e8c45fSAndroid Build Coastguard Worker    ],
337*38e8c45fSAndroid Build Coastguard Worker    export_generated_headers: ["statslog_libinput.h"],
338*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
339*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
340*38e8c45fSAndroid Build Coastguard Worker        "liblog",
341*38e8c45fSAndroid Build Coastguard Worker        "libutils",
342*38e8c45fSAndroid Build Coastguard Worker    ],
343*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
344*38e8c45fSAndroid Build Coastguard Worker        "libstatssocket_lazy",
345*38e8c45fSAndroid Build Coastguard Worker    ],
346*38e8c45fSAndroid Build Coastguard Worker}
347*38e8c45fSAndroid Build Coastguard Worker
348*38e8c45fSAndroid Build Coastguard Workergenrule {
349*38e8c45fSAndroid Build Coastguard Worker    name: "statslog_libinput.h",
350*38e8c45fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
351*38e8c45fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_libinput.h " +
352*38e8c45fSAndroid Build Coastguard Worker        "--module libinput --namespace android,libinput",
353*38e8c45fSAndroid Build Coastguard Worker    out: [
354*38e8c45fSAndroid Build Coastguard Worker        "statslog_libinput.h",
355*38e8c45fSAndroid Build Coastguard Worker    ],
356*38e8c45fSAndroid Build Coastguard Worker}
357*38e8c45fSAndroid Build Coastguard Worker
358*38e8c45fSAndroid Build Coastguard Workergenrule {
359*38e8c45fSAndroid Build Coastguard Worker    name: "statslog_libinput.cpp",
360*38e8c45fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
361*38e8c45fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_libinput.cpp " +
362*38e8c45fSAndroid Build Coastguard Worker        "--module libinput --namespace android,libinput " +
363*38e8c45fSAndroid Build Coastguard Worker        "--importHeader statslog_libinput.h",
364*38e8c45fSAndroid Build Coastguard Worker    out: [
365*38e8c45fSAndroid Build Coastguard Worker        "statslog_libinput.cpp",
366*38e8c45fSAndroid Build Coastguard Worker    ],
367*38e8c45fSAndroid Build Coastguard Worker}
368*38e8c45fSAndroid Build Coastguard Worker
369*38e8c45fSAndroid Build Coastguard Workercc_defaults {
370*38e8c45fSAndroid Build Coastguard Worker    name: "libinput_fuzz_defaults",
371*38e8c45fSAndroid Build Coastguard Worker    cpp_std: "c++20",
372*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
373*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
374*38e8c45fSAndroid Build Coastguard Worker        "libutils",
375*38e8c45fSAndroid Build Coastguard Worker        "libbase",
376*38e8c45fSAndroid Build Coastguard Worker        "liblog",
377*38e8c45fSAndroid Build Coastguard Worker    ],
378*38e8c45fSAndroid Build Coastguard Worker}
379*38e8c45fSAndroid Build Coastguard Worker
380*38e8c45fSAndroid Build Coastguard Workercc_fuzz {
381*38e8c45fSAndroid Build Coastguard Worker    name: "libinput_fuzz_propertymap",
382*38e8c45fSAndroid Build Coastguard Worker    defaults: ["libinput_fuzz_defaults"],
383*38e8c45fSAndroid Build Coastguard Worker    srcs: [
384*38e8c45fSAndroid Build Coastguard Worker        "PropertyMap.cpp",
385*38e8c45fSAndroid Build Coastguard Worker        "PropertyMap_fuzz.cpp",
386*38e8c45fSAndroid Build Coastguard Worker    ],
387*38e8c45fSAndroid Build Coastguard Worker}
388*38e8c45fSAndroid Build Coastguard Worker
389*38e8c45fSAndroid Build Coastguard Workersubdirs = ["tests"]
390