• 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    sanitize: {
43        all_undefined: true,
44        integer_overflow: true,
45        undefined: true,
46    },
47    arch: {
48        x86_64: {
49            sanitize: {
50                all_undefined: false,
51                integer_overflow: false,
52                undefined: false,
53            },
54        }
55    },
56    target: {
57        host: {
58            sanitize: {
59                address: true,
60            },
61        },
62    },
63}
64
65cc_library_headers {
66    name: "libchrome-gestures_headers",
67    host_supported: true,
68    export_include_dirs: [
69        ".",
70    ],
71}
72
73cc_library_static {
74    name: "libchrome-gestures",
75    defaults: [
76        "libchrome-gestures_defaults",
77    ],
78    local_include_dirs: ["."],
79    header_libs: [
80        "libchrome-gestures_headers",
81        "libgtest_prod_headers",
82    ],
83    shared_libs: [
84        "libjsoncpp"
85    ],
86    srcs: [
87        "src/accel_filter_interpreter.cc",
88        "src/activity_log.cc",
89        "src/box_filter_interpreter.cc",
90        "src/click_wiggle_filter_interpreter.cc",
91        "src/file_util.cc",
92        "src/filter_interpreter.cc",
93        "src/finger_merge_filter_interpreter.cc",
94        "src/finger_metrics.cc",
95        "src/fling_stop_filter_interpreter.cc",
96        "src/gestures.cc",
97        "src/haptic_button_generator_filter_interpreter.cc",
98        "src/iir_filter_interpreter.cc",
99        "src/immediate_interpreter.cc",
100        "src/integral_gesture_filter_interpreter.cc",
101        "src/interpreter.cc",
102        "src/logging_filter_interpreter.cc",
103        "src/lookahead_filter_interpreter.cc",
104        "src/metrics_filter_interpreter.cc",
105        "src/mouse_interpreter.cc",
106        "src/multitouch_mouse_interpreter.cc",
107        "src/non_linearity_filter_interpreter.cc",
108        "src/palm_classifying_filter_interpreter.cc",
109        "src/prop_registry.cc",
110        "src/scaling_filter_interpreter.cc",
111        "src/sensor_jump_filter_interpreter.cc",
112        "src/split_correcting_filter_interpreter.cc",
113        "src/stationary_wiggle_filter_interpreter.cc",
114        "src/string_util.cc",
115        "src/stuck_button_inhibitor_filter_interpreter.cc",
116        "src/t5r2_correcting_filter_interpreter.cc",
117        "src/timestamp_filter_interpreter.cc",
118        "src/trace_marker.cc",
119        "src/tracer.cc",
120        "src/trend_classifying_filter_interpreter.cc",
121    ],
122    visibility: [
123        "//frameworks/native/services/inputflinger:__subpackages__",
124    ],
125    rtti: true,
126    host_supported: true,
127}
128
129cc_test {
130    name: "libchrome-gestures_test",
131    defaults: [
132        "libchrome-gestures_defaults",
133    ],
134    srcs: [
135        "src/accel_filter_interpreter_unittest.cc",
136        "src/activity_log_unittest.cc",
137        "src/activity_replay.cc",
138        "src/activity_replay_unittest.cc",
139        "src/box_filter_interpreter_unittest.cc",
140        "src/click_wiggle_filter_interpreter_unittest.cc",
141        "src/command_line.cc",
142        "src/filter_interpreter_unittest.cc",
143        "src/finger_metrics_unittest.cc",
144        "src/fling_stop_filter_interpreter_unittest.cc",
145        "src/gestures_unittest.cc",
146        "src/haptic_button_generator_filter_interpreter_unittest.cc",
147        "src/iir_filter_interpreter_unittest.cc",
148        "src/immediate_interpreter_unittest.cc",
149        "src/integral_gesture_filter_interpreter_unittest.cc",
150        "src/interpreter_unittest.cc",
151        "src/logging_filter_interpreter_unittest.cc",
152        "src/lookahead_filter_interpreter_unittest.cc",
153        "src/mouse_interpreter_unittest.cc",
154        "src/multitouch_mouse_interpreter_unittest.cc",
155        "src/non_linearity_filter_interpreter_unittest.cc",
156        "src/palm_classifying_filter_interpreter_unittest.cc",
157        "src/prop_registry_unittest.cc",
158        "src/scaling_filter_interpreter_unittest.cc",
159        "src/sensor_jump_filter_interpreter_unittest.cc",
160        "src/split_correcting_filter_interpreter_unittest.cc",
161        "src/string_util_unittest.cc",
162        "src/stuck_button_inhibitor_filter_interpreter_unittest.cc",
163        "src/t5r2_correcting_filter_interpreter_unittest.cc",
164        "src/test_main.cc",
165        "src/timestamp_filter_interpreter_unittest.cc",
166        "src/trace_marker_unittest.cc",
167        "src/tracer_unittest.cc",
168        "src/unittest_util.cc",
169        "src/util_unittest.cc",
170        "src/vector_unittest.cc",
171    ],
172    data: [
173        "data/non_linearity_data/testing_non_linearity_data.dat",
174    ],
175    static_libs: [
176        "libchrome-gestures",
177        "libgtest",
178    ],
179    shared_libs: [
180        "libjsoncpp",
181    ],
182    rtti: true,
183    cflags: [
184       "-Wno-sign-compare",
185    ],
186    host_supported: false,
187    sanitize: {
188        hwaddress: true,
189        diag: {
190            integer_overflow: true,
191        },
192    },
193    test_suites: ["general-tests"],
194}
195