blob: fce3000a0f6d338f3f2691b9961f0fb8ff47cb51 [file] [log] [blame]
Dan Willemsen59e086f2016-07-25 17:13:45 -07001// Copyright (C) 2013 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
15// libinput is partially built for the host (used by build time keymap validation tool)
16
Siarhei Vishniakou70622952020-07-30 11:17:23 -050017filegroup {
18 name: "inputconstants_aidl",
19 srcs: [
Bernardo Rufinoea97d182020-08-19 14:43:14 +010020 "android/os/BlockUntrustedTouchesMode.aidl",
Siarhei Vishniakouae6229e2019-12-30 16:23:19 -080021 "android/os/IInputConstants.aidl",
22 "android/os/InputEventInjectionResult.aidl",
23 "android/os/InputEventInjectionSync.aidl",
24 "android/os/TouchOcclusionMode.aidl",
Siarhei Vishniakou70622952020-07-30 11:17:23 -050025 ],
26}
27
Dan Willemsen59e086f2016-07-25 17:13:45 -070028cc_library {
29 name: "libinput",
30 host_supported: true,
Frank Barchard9e947882017-03-06 11:17:52 -080031 cflags: [
32 "-Wall",
33 "-Wextra",
34 "-Werror",
35 ],
Dan Willemsen59e086f2016-07-25 17:13:45 -070036 srcs: [
37 "Input.cpp",
38 "InputDevice.cpp",
Chris Ye4958d062020-08-20 13:21:10 -070039 "InputEventLabels.cpp",
Dan Willemsen59e086f2016-07-25 17:13:45 -070040 "Keyboard.cpp",
41 "KeyCharacterMap.cpp",
42 "KeyLayoutMap.cpp",
Brett Chabot58208522020-09-09 13:55:24 -070043 "LatencyStatistics.cpp",
Siarhei Vishniakou32f36ae2020-09-02 20:17:10 -070044 "PropertyMap.cpp",
Siarhei Vishniakou26cf29d2019-02-15 16:48:38 -060045 "TouchVideoFrame.cpp",
Brett Chabot58208522020-09-09 13:55:24 -070046 "VelocityControl.cpp",
47 "VelocityTracker.cpp",
Siarhei Vishniakou5ac663d2019-02-15 17:15:56 -060048 "VirtualKeyMap.cpp",
Dan Willemsen59e086f2016-07-25 17:13:45 -070049 ],
50
51 clang: true,
Dan Willemsen59e086f2016-07-25 17:13:45 -070052
Orion Hodsone32877a2020-04-22 11:10:13 +010053 header_libs: ["jni_headers"],
54 export_header_lib_headers: ["jni_headers"],
55
Dan Willemsen59e086f2016-07-25 17:13:45 -070056 shared_libs: [
Siarhei Vishniakouec2727e2017-07-06 10:22:03 -070057 "libbase",
Dan Willemsen59e086f2016-07-25 17:13:45 -070058 "liblog",
59 "libcutils",
60 ],
61
chaviwfd9c1ed2020-07-01 10:57:59 -070062 static_libs: [
63 "libui-types",
64 ],
65
66 export_static_lib_headers: [
67 "libui-types",
68 ],
69
Dan Willemsen59e086f2016-07-25 17:13:45 -070070 target: {
71 android: {
72 srcs: [
Dan Willemsen59e086f2016-07-25 17:13:45 -070073 "InputTransport.cpp",
Siarhei Vishniakou5ac663d2019-02-15 17:15:56 -060074 "InputWindow.cpp",
Vishnu Naire798b472020-07-23 13:52:21 -070075 "android/FocusRequest.aidl",
Chris Ye6c4243b2020-07-22 12:07:12 -070076 "android/InputApplicationInfo.aidl",
Siarhei Vishniakou70622952020-07-30 11:17:23 -050077 "android/os/IInputConstants.aidl",
Siarhei Vishniakouae6229e2019-12-30 16:23:19 -080078 "android/os/InputEventInjectionResult.aidl",
79 "android/os/InputEventInjectionSync.aidl",
Bernardo Rufinoea97d182020-08-19 14:43:14 +010080 "android/os/TouchOcclusionMode.aidl",
81 "android/os/BlockUntrustedTouchesMode.aidl",
Chris Ye0783e992020-06-02 21:34:49 -070082 "android/os/IInputFlinger.aidl",
83 "android/os/ISetInputWindowsListener.aidl",
Dan Willemsen59e086f2016-07-25 17:13:45 -070084 ],
85
Bernardo Rufinoea97d182020-08-19 14:43:14 +010086 export_shared_lib_headers: ["libbinder"],
87
Dan Willemsen59e086f2016-07-25 17:13:45 -070088 shared_libs: [
89 "libutils",
90 "libbinder",
Atif Niyaz3d3fa522019-07-25 11:12:39 -070091 "libui",
Dan Willemsen59e086f2016-07-25 17:13:45 -070092 ],
Evgenii Stepanovde982972017-01-31 16:37:44 -080093
94 sanitize: {
95 misc_undefined: ["integer"],
96 },
Dan Willemsen59e086f2016-07-25 17:13:45 -070097 },
98 host: {
99 shared: {
100 enabled: false,
101 },
Brett Chabot58208522020-09-09 13:55:24 -0700102 include_dirs: [
103 "frameworks/native/libs/arect/include",
104 ],
105 },
106 linux_glibc: {
107 srcs: [
108 "InputTransport.cpp",
109 "InputWindow.cpp",
110 "android/FocusRequest.aidl",
111 "android/InputApplicationInfo.aidl",
112 "android/os/IInputConstants.aidl",
113 "android/os/IInputFlinger.aidl",
114 "android/os/ISetInputWindowsListener.aidl",
115 "android/os/TouchOcclusionMode.aidl",
116 ],
117 static_libs: [
118 "libhostgraphics",
119 ],
120 shared_libs: [
121 "libbinder",
122 ],
Dan Willemsen59e086f2016-07-25 17:13:45 -0700123 },
124 },
Chris Ye0783e992020-06-02 21:34:49 -0700125
126 aidl: {
127 local_include_dirs: ["."],
Brett Chabot58208522020-09-09 13:55:24 -0700128 export_aidl_headers: true,
Chris Ye0783e992020-06-02 21:34:49 -0700129 },
Dan Willemsen59e086f2016-07-25 17:13:45 -0700130}
Dan Willemsenc7dd2b92016-08-25 17:05:22 -0700131
Siarhei Vishniakou32f36ae2020-09-02 20:17:10 -0700132cc_defaults {
133 name: "libinput_fuzz_defaults",
134 host_supported: true,
135 shared_libs: [
136 "libutils",
137 "libbase",
138 "liblog",
139 ],
140}
141
142cc_fuzz {
143 name: "libinput_fuzz_propertymap",
144 defaults: ["libinput_fuzz_defaults"],
145 srcs: [
146 "PropertyMap.cpp",
147 "PropertyMap_fuzz.cpp",
148 ],
149}
150
Dan Willemsenc7dd2b92016-08-25 17:05:22 -0700151subdirs = ["tests"]