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