// 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. // Default flags to be used throughout all libraries in inputflinger. 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"], } cc_defaults { name: "inputflinger_defaults", cflags: [ "-Wall", "-Wextra", "-Werror", "-Wno-unused-parameter", "-Wthread-safety", "-Wshadow", "-Wshadow-field-in-constructor-modified", "-Wshadow-uncaptured-local", ], sanitize: { misc_undefined: ["bounds"], }, } ///////////////////////////////////////////////// // libinputflinger ///////////////////////////////////////////////// filegroup { name: "libinputflinger_sources", srcs: [ "InputClassifier.cpp", "InputClassifierConverter.cpp", "InputManager.cpp", ], } cc_defaults { name: "libinputflinger_defaults", srcs: [":libinputflinger_sources"], shared_libs: [ "android.hardware.input.classifier@1.0", "libbase", "libbinder", "libcrypto", "libcutils", "libhidlbase", "libinput", "libkll", "liblog", "libprotobuf-cpp-lite", "libstatslog", "libstatspull", "libstatssocket", "libutils", "libui", "lib-platform-compat-native-api", "server_configurable_flags", ], static_libs: [ "libattestation", ], } cc_library_shared { name: "libinputflinger", defaults: [ "inputflinger_defaults", "libinputflinger_defaults", ], cflags: [ // TODO(b/23084678): Move inputflinger to its own process and mark it hidden //-fvisibility=hidden ], shared_libs: [ // This should consist only of dependencies from inputflinger. Other dependencies should be // in cc_defaults so that they are included in the tests. "libinputflinger_base", "libinputreporter", "libinputreader", ], static_libs: [ "libinputdispatcher", ], export_static_lib_headers: [ "libinputdispatcher", ], export_include_dirs: [ ".", "include", ], } ///////////////////////////////////////////////// // libinputflinger_base ///////////////////////////////////////////////// cc_library_headers { name: "libinputflinger_headers", export_include_dirs: ["include"], } filegroup { name: "libinputflinger_base_sources", srcs: [ "InputListener.cpp", "InputReaderBase.cpp", "InputThread.cpp", "VibrationElement.cpp" ], } cc_defaults { name: "libinputflinger_base_defaults", srcs: [":libinputflinger_base_sources"], shared_libs: [ "libbase", "libcutils", "libinput", "liblog", "libui", "libutils", ], header_libs: [ "libinputflinger_headers", ], } cc_library_shared { name: "libinputflinger_base", defaults: [ "inputflinger_defaults", "libinputflinger_base_defaults", ], export_header_lib_headers: [ "libinputflinger_headers", ], }