| Index: third_party/gestures/BUILD.gn | 
| diff --git a/third_party/gestures/BUILD.gn b/third_party/gestures/BUILD.gn | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..1b80c0b69e75d780427c32aab48350c74312a3e4 | 
| --- /dev/null | 
| +++ b/third_party/gestures/BUILD.gn | 
| @@ -0,0 +1,97 @@ | 
| +# 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", | 
| +      "//testing/gtest/include", | 
| +    ] | 
| +  } | 
| + | 
| +  pkg_config("jsoncpp") { | 
| +    packages = [ "jsoncpp" ] | 
| +  } | 
| + | 
| +  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", | 
| +    ] | 
| + | 
| +    defines = [ "GESTURES_INTERNAL=1" ] | 
| + | 
| +    configs -= [ "//build/config/compiler:chromium_code" ] | 
| +    configs += [ | 
| +      "//build/config/compiler:no_chromium_code", | 
| +      ":jsoncpp", | 
| +    ] | 
| + | 
| +    # 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" ] | 
| +  } | 
| +} | 
|  |