// Copyright (C) 2013 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. // libinput is partially built for the host (used by build time keymap validation tool) package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_native_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_native_license"], } filegroup { name: "inputconstants_aidl", srcs: [ "android/os/BlockUntrustedTouchesMode.aidl", "android/os/IInputConstants.aidl", "android/os/InputEventInjectionResult.aidl", "android/os/InputEventInjectionSync.aidl", "android/os/TouchOcclusionMode.aidl", ], } cc_library { name: "libinput", host_supported: true, cflags: [ "-Wall", "-Wextra", "-Werror", ], srcs: [ "Input.cpp", "InputDevice.cpp", "InputEventLabels.cpp", "Keyboard.cpp", "KeyCharacterMap.cpp", "KeyLayoutMap.cpp", "PropertyMap.cpp", "TouchVideoFrame.cpp", "VelocityControl.cpp", "VelocityTracker.cpp", "VirtualKeyMap.cpp", ], clang: true, header_libs: ["jni_headers"], export_header_lib_headers: ["jni_headers"], shared_libs: [ "libbase", "liblog", "libcutils", ], static_libs: [ "libui-types", ], export_static_lib_headers: [ "libui-types", ], target: { android: { srcs: [ "InputTransport.cpp", "InputWindow.cpp", "android/FocusRequest.aidl", "android/InputApplicationInfo.aidl", "android/os/BlockUntrustedTouchesMode.aidl", "android/os/IInputConstants.aidl", "android/os/IInputFlinger.aidl", "android/os/InputEventInjectionResult.aidl", "android/os/InputEventInjectionSync.aidl", "android/os/ISetInputWindowsListener.aidl", "android/os/TouchOcclusionMode.aidl", ], export_shared_lib_headers: ["libbinder"], shared_libs: [ "libutils", "libbinder", "libui", ], sanitize: { misc_undefined: ["integer"], }, }, host: { shared: { enabled: false, }, include_dirs: [ "frameworks/native/libs/arect/include", ], }, linux_glibc: { srcs: [ "InputTransport.cpp", "InputWindow.cpp", "android/FocusRequest.aidl", "android/InputApplicationInfo.aidl", "android/os/IInputConstants.aidl", "android/os/IInputFlinger.aidl", "android/os/ISetInputWindowsListener.aidl", "android/os/TouchOcclusionMode.aidl", ], static_libs: [ "libhostgraphics", ], shared_libs: [ "libbinder", ], }, }, aidl: { local_include_dirs: ["."], export_aidl_headers: true, }, } cc_defaults { name: "libinput_fuzz_defaults", host_supported: true, shared_libs: [ "libutils", "libbase", "liblog", ], } cc_fuzz { name: "libinput_fuzz_propertymap", defaults: ["libinput_fuzz_defaults"], srcs: [ "PropertyMap.cpp", "PropertyMap_fuzz.cpp", ], } subdirs = ["tests"]