1// Copyright (C) 2019 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
15package {
16    // See: http://go/android-license-faq
17    // A large-scale-change added 'default_applicable_licenses' to import
18    // all of the 'license_kinds' from "frameworks_native_license"
19    // to get the below license kinds:
20    //   SPDX-license-identifier-Apache-2.0
21    default_applicable_licenses: ["frameworks_native_license"],
22}
23
24cc_library_headers {
25    name: "libinputreader_headers",
26    export_include_dirs: [
27        "controller",
28        "include",
29        "mapper",
30        "mapper/accumulator",
31    ],
32}
33
34filegroup {
35    name: "libinputreader_sources",
36    srcs: [
37        "EventHub.cpp",
38        "InputDevice.cpp",
39        "controller/PeripheralController.cpp",
40        "mapper/accumulator/CursorButtonAccumulator.cpp",
41        "mapper/accumulator/CursorScrollAccumulator.cpp",
42        "mapper/accumulator/SingleTouchMotionAccumulator.cpp",
43        "mapper/accumulator/TouchButtonAccumulator.cpp",
44        "mapper/CursorInputMapper.cpp",
45        "mapper/ExternalStylusInputMapper.cpp",
46        "mapper/InputMapper.cpp",
47        "mapper/JoystickInputMapper.cpp",
48        "mapper/KeyboardInputMapper.cpp",
49        "mapper/MultiTouchInputMapper.cpp",
50        "mapper/RotaryEncoderInputMapper.cpp",
51        "mapper/SensorInputMapper.cpp",
52        "mapper/SingleTouchInputMapper.cpp",
53        "mapper/SwitchInputMapper.cpp",
54        "mapper/TouchInputMapper.cpp",
55        "mapper/VibratorInputMapper.cpp",
56        "InputReader.cpp",
57        "TouchVideoDevice.cpp",
58    ],
59}
60
61cc_defaults {
62    name: "libinputreader_defaults",
63    srcs: [":libinputreader_sources"],
64    shared_libs: [
65        "libbase",
66        "libcap",
67        "libcrypto",
68        "libcutils",
69        "libinput",
70        "liblog",
71        "libstatslog",
72        "libui",
73        "libutils",
74        "InputFlingerProperties",
75    ],
76    static_libs: [
77        "libc++fs",
78    ],
79    header_libs: [
80        "libbatteryservice_headers",
81        "libinputreader_headers",
82    ],
83}
84
85cc_library_shared {
86    name: "libinputreader",
87    defaults: [
88        "inputflinger_defaults",
89        "libinputreader_defaults"
90    ],
91    srcs: [
92        "InputReaderFactory.cpp",
93    ],
94    shared_libs: [
95        // This should consist only of dependencies from inputflinger. Other dependencies should be
96        // in cc_defaults so that they are included in the tests.
97        "libinputflinger_base",
98    ],
99    export_header_lib_headers: [
100        "libinputreader_headers",
101    ],
102    static_libs: [
103        "libc++fs"
104    ],
105}
106