| # 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/features.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") # For generate_jni(). |
| } |
| |
| component("gamepad") { |
| output_name = "device_gamepad" |
| |
| sources = [ |
| "gamepad_consumer.cc", |
| "gamepad_consumer.h", |
| "gamepad_data_fetcher.cc", |
| "gamepad_data_fetcher.h", |
| "gamepad_platform_data_fetcher.h", |
| "gamepad_platform_data_fetcher_android.cc", |
| "gamepad_platform_data_fetcher_android.h", |
| "gamepad_platform_data_fetcher_linux.cc", |
| "gamepad_platform_data_fetcher_linux.h", |
| "gamepad_platform_data_fetcher_mac.h", |
| "gamepad_platform_data_fetcher_mac.mm", |
| "gamepad_platform_data_fetcher_win.cc", |
| "gamepad_platform_data_fetcher_win.h", |
| "gamepad_provider.cc", |
| "gamepad_provider.h", |
| "gamepad_standard_mappings.cc", |
| "gamepad_standard_mappings.h", |
| "gamepad_standard_mappings_linux.cc", |
| "gamepad_standard_mappings_mac.mm", |
| "gamepad_standard_mappings_win.cc", |
| "gamepad_user_gesture.cc", |
| "gamepad_user_gesture.h", |
| "raw_input_data_fetcher_win.cc", |
| "raw_input_data_fetcher_win.h", |
| "xbox_data_fetcher_mac.cc", |
| "xbox_data_fetcher_mac.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//third_party/WebKit/public:blink_headers", |
| ] |
| |
| defines = [ "DEVICE_GAMEPAD_IMPLEMENTATION" ] |
| |
| if (is_win) { |
| cflags = [ "/wd4267" ] # conversion from 'size_t' (64 bit) to 'type'(32 bit). |
| } |
| |
| if (is_linux && use_udev) { |
| deps += [ "//device/udev_linux" ] |
| } else if (!is_win && !is_mac && !is_android) { |
| sources += [ "gamepad_platform_data_fetcher.cc" ] |
| sources -= [ "gamepad_platform_data_fetcher_linux.cc" ] |
| } |
| |
| if (is_android) { |
| deps += [ ":jni_headers" ] |
| } |
| |
| if (is_mac) { |
| libs = [ |
| "CoreFoundation.framework", |
| "Foundation.framework", |
| "IOKit.framework", |
| ] |
| } |
| } |
| |
| static_library("test_helpers") { |
| testonly = true |
| |
| sources = [ |
| "gamepad_test_helpers.cc", |
| "gamepad_test_helpers.h", |
| ] |
| |
| public_deps = [ |
| ":gamepad", |
| "//base", |
| "//third_party/WebKit/public:blink_headers", |
| ] |
| } |
| |
| if (is_android) { |
| generate_jni("jni_headers") { |
| sources = [ |
| "android/java/src/org/chromium/device/gamepad/GamepadList.java", |
| ] |
| jni_package = "gamepad" |
| } |
| |
| android_library("java") { |
| java_files = [ |
| "android/java/src/org/chromium/device/gamepad/GamepadDevice.java", |
| "android/java/src/org/chromium/device/gamepad/GamepadList.java", |
| "android/java/src/org/chromium/device/gamepad/GamepadMappings.java", |
| ] |
| deps = [ |
| "//base:base_java", |
| ] |
| srcjar_deps = [ ":java_enums_srcjar" ] |
| } |
| |
| java_cpp_enum("java_enums_srcjar") { |
| sources = [ |
| "gamepad_standard_mappings.h", |
| ] |
| } |
| } |