• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2022 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package {
6    default_applicable_licenses: ["external_libchrome-gestures_license"],
7}
8
9license {
10    name: "external_libchrome-gestures_license",
11    visibility: [":__subpackages__"],
12    license_kinds: [
13        "SPDX-license-identifier-BSD",
14    ],
15    license_text: [
16        "LICENSE",
17    ],
18}
19
20cc_defaults {
21    name: "libchrome-gestures_defaults",
22    cflags: [
23        "-fno-exceptions",
24        "-fno-strict-aliasing",
25        "-fPIC",
26        "-Wall",
27        "-Wempty-body",
28        "-Werror",
29        "-Wignored-qualifiers",
30        "-Wmissing-field-initializers",
31        "-Wmissing-format-attribute",
32        "-Wmissing-noreturn",
33        "-Wsign-compare",
34        "-Wtype-limits",
35        "-Wno-non-virtual-dtor",
36        "-Wno-unused-parameter",
37        "-DVCSID=\"Android\"",
38        "-D__STDC_FORMAT_MACROS=1",
39        "-D_FILE_OFFSET_BITS=64",
40        "-DGESTURES_INTERNAL=1",
41    ],
42    cpp_std: "c++20",
43    sanitize: {
44        all_undefined: true,
45        integer_overflow: true,
46        undefined: true,
47    },
48    arch: {
49        x86_64: {
50            sanitize: {
51                all_undefined: false,
52                integer_overflow: false,
53                undefined: false,
54            },
55        }
56    },
57    target: {
58        host: {
59            sanitize: {
60                address: true,
61            },
62        },
63    },
64}
65
66cc_library_headers {
67    name: "libchrome-gestures_headers",
68    host_supported: true,
69    export_include_dirs: [
70        ".",
71    ],
72}
73
74cc_library_static {
75    name: "libchrome-gestures",
76    defaults: [
77        "libchrome-gestures_defaults",
78    ],
79    local_include_dirs: ["."],
80    header_libs: [
81        "libchrome-gestures_headers",
82        "libgtest_prod_headers",
83    ],
84    shared_libs: [
85        "libjsoncpp"
86    ],
87    srcs: [
88        "src/accel_filter_interpreter.cc",
89        "src/activity_log.cc",
90        "src/box_filter_interpreter.cc",
91        "src/click_wiggle_filter_interpreter.cc",
92        "src/file_util.cc",
93        "src/filter_interpreter.cc",
94        "src/finger_merge_filter_interpreter.cc",
95        "src/finger_metrics.cc",
96        "src/fling_stop_filter_interpreter.cc",
97        "src/gestures.cc",
98        "src/haptic_button_generator_filter_interpreter.cc",
99        "src/iir_filter_interpreter.cc",
100        "src/immediate_interpreter.cc",
101        "src/integral_gesture_filter_interpreter.cc",
102        "src/interpreter.cc",
103        "src/logging_filter_interpreter.cc",
104        "src/lookahead_filter_interpreter.cc",
105        "src/metrics_filter_interpreter.cc",
106        "src/mouse_interpreter.cc",
107        "src/multitouch_mouse_interpreter.cc",
108        "src/non_linearity_filter_interpreter.cc",
109        "src/palm_classifying_filter_interpreter.cc",
110        "src/prop_registry.cc",
111        "src/scaling_filter_interpreter.cc",
112        "src/sensor_jump_filter_interpreter.cc",
113        "src/split_correcting_filter_interpreter.cc",
114        "src/stationary_wiggle_filter_interpreter.cc",
115        "src/string_util.cc",
116        "src/stuck_button_inhibitor_filter_interpreter.cc",
117        "src/t5r2_correcting_filter_interpreter.cc",
118        "src/timestamp_filter_interpreter.cc",
119        "src/trace_marker.cc",
120        "src/tracer.cc",
121        "src/trend_classifying_filter_interpreter.cc",
122    ],
123    visibility: [
124        "//frameworks/native/services/inputflinger:__subpackages__",
125    ],
126    rtti: true,
127    host_supported: true,
128}
129
130cc_test {
131    name: "libchrome-gestures_test",
132    defaults: [
133        "libchrome-gestures_defaults",
134    ],
135    srcs: [
136        "src/accel_filter_interpreter_unittest.cc",
137        "src/activity_log_unittest.cc",
138        "src/activity_replay.cc",
139        "src/activity_replay_unittest.cc",
140        "src/box_filter_interpreter_unittest.cc",
141        "src/click_wiggle_filter_interpreter_unittest.cc",
142        "src/command_line.cc",
143        "src/filter_interpreter_unittest.cc",
144        "src/finger_metrics_unittest.cc",
145        "src/fling_stop_filter_interpreter_unittest.cc",
146        "src/gestures_unittest.cc",
147        "src/haptic_button_generator_filter_interpreter_unittest.cc",
148        "src/iir_filter_interpreter_unittest.cc",
149        "src/immediate_interpreter_unittest.cc",
150        "src/integral_gesture_filter_interpreter_unittest.cc",
151        "src/interpreter_unittest.cc",
152        "src/logging_filter_interpreter_unittest.cc",
153        "src/lookahead_filter_interpreter_unittest.cc",
154        "src/mouse_interpreter_unittest.cc",
155        "src/multitouch_mouse_interpreter_unittest.cc",
156        "src/non_linearity_filter_interpreter_unittest.cc",
157        "src/palm_classifying_filter_interpreter_unittest.cc",
158        "src/prop_registry_unittest.cc",
159        "src/scaling_filter_interpreter_unittest.cc",
160        "src/sensor_jump_filter_interpreter_unittest.cc",
161        "src/split_correcting_filter_interpreter_unittest.cc",
162        "src/string_util_unittest.cc",
163        "src/stuck_button_inhibitor_filter_interpreter_unittest.cc",
164        "src/t5r2_correcting_filter_interpreter_unittest.cc",
165        "src/test_main.cc",
166        "src/timestamp_filter_interpreter_unittest.cc",
167        "src/trace_marker_unittest.cc",
168        "src/tracer_unittest.cc",
169        "src/unittest_util.cc",
170        "src/util_unittest.cc",
171        "src/vector_unittest.cc",
172    ],
173    data: [
174        "data/non_linearity_data/testing_non_linearity_data.dat",
175    ],
176    static_libs: [
177        "libchrome-gestures",
178        "libgtest",
179    ],
180    shared_libs: [
181        "libjsoncpp",
182    ],
183    rtti: true,
184    cflags: [
185       "-Wno-sign-compare",
186    ],
187    host_supported: false,
188    sanitize: {
189        hwaddress: true,
190        diag: {
191            integer_overflow: true,
192        },
193    },
194    test_suites: ["general-tests"],
195}
196