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