| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/linux/pkg_config.gni") |
| |
| assert(is_linux) |
| |
| declare_args() { |
| # Controls whether the build should use the version of gestures |
| # library shipped with the system. In release builds of Chrome OS we |
| # use the system version, but when building on dev workstations we |
| # bundle it because Ubuntu doesn't ship a usable version. |
| use_system_gestures = true |
| } |
| |
| if (!use_system_gestures) { |
| config("gestures_config") { |
| include_dirs = [ |
| ".", |
| "include", |
| "//third_party/googletest/src/googletest/include", |
| ] |
| } |
| |
| static_library("gestures") { |
| sources = [ |
| "gestures/src/accel_filter_interpreter.cc", |
| "gestures/src/activity_log.cc", |
| "gestures/src/box_filter_interpreter.cc", |
| "gestures/src/click_wiggle_filter_interpreter.cc", |
| "gestures/src/cr48_profile_sensor_filter_interpreter.cc", |
| "gestures/src/file_util.cc", |
| "gestures/src/filter_interpreter.cc", |
| "gestures/src/finger_merge_filter_interpreter.cc", |
| "gestures/src/finger_metrics.cc", |
| "gestures/src/fling_stop_filter_interpreter.cc", |
| "gestures/src/gestures.cc", |
| "gestures/src/iir_filter_interpreter.cc", |
| "gestures/src/immediate_interpreter.cc", |
| "gestures/src/integral_gesture_filter_interpreter.cc", |
| "gestures/src/interpreter.cc", |
| "gestures/src/logging_filter_interpreter.cc", |
| "gestures/src/lookahead_filter_interpreter.cc", |
| "gestures/src/metrics_filter_interpreter.cc", |
| "gestures/src/mouse_interpreter.cc", |
| "gestures/src/multitouch_mouse_interpreter.cc", |
| "gestures/src/non_linearity_filter_interpreter.cc", |
| "gestures/src/palm_classifying_filter_interpreter.cc", |
| "gestures/src/prop_registry.cc", |
| "gestures/src/scaling_filter_interpreter.cc", |
| "gestures/src/sensor_jump_filter_interpreter.cc", |
| "gestures/src/split_correcting_filter_interpreter.cc", |
| "gestures/src/stationary_wiggle_filter_interpreter.cc", |
| "gestures/src/string_util.cc", |
| "gestures/src/stuck_button_inhibitor_filter_interpreter.cc", |
| "gestures/src/t5r2_correcting_filter_interpreter.cc", |
| "gestures/src/trace_marker.cc", |
| "gestures/src/tracer.cc", |
| "gestures/src/trend_classifying_filter_interpreter.cc", |
| "gestures/src/util.cc", |
| ] |
| |
| deps = [ |
| "//third_party/jsoncpp", |
| ] |
| |
| defines = [ "GESTURES_INTERNAL=1" ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| |
| # gestures uses typeid. |
| configs -= [ "//build/config/compiler:no_rtti" ] |
| configs += [ "//build/config/compiler:rtti" ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugin. |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| public_configs = [ ":gestures_config" ] |
| } |
| } |
| |
| if (use_system_gestures) { |
| pkg_config("libgestures") { |
| packages = [ "libgestures" ] |
| } |
| |
| group("gestures") { |
| public_configs = [ ":libgestures" ] |
| } |
| } |