blob: 7421facd4c1aa4a18b485d3ce1fe7e38785441f6 [file] [log] [blame]
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/features.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
source_set("hid") {
# HID is not implemented on Android and we want to be particularly careful
# about not bloating binary size by accidentially including it.
assert(!is_android)
sources = [
"hid_connection.cc",
"hid_connection.h",
"hid_connection_impl.cc",
"hid_connection_impl.h",
"hid_device_info.cc",
"hid_device_info.h",
"hid_manager_impl.cc",
"hid_manager_impl.h",
"hid_service.cc",
"hid_service.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
deps = [
"//base",
"//build:chromeos_buildflags",
"//components/device_event_log",
"//device/base",
"//services/device:utility",
"//services/device/public/cpp/hid",
"//services/device/public/mojom",
]
if ((is_linux || is_chromeos) && use_udev) {
sources += [
"hid_connection_linux.cc",
"hid_connection_linux.h",
"hid_service_linux.cc",
"hid_service_linux.h",
"input_service_linux.cc",
"input_service_linux.h",
]
deps += [ "//device/udev_linux" ]
}
if (is_chromeos_ash) {
deps += [ "//chromeos/dbus/permission_broker" ]
}
if (is_win) {
sources += [
"hid_connection_win.cc",
"hid_connection_win.h",
"hid_preparsed_data.cc",
"hid_preparsed_data.h",
"hid_service_win.cc",
"hid_service_win.h",
]
libs = [
"hid.lib",
"setupapi.lib",
]
}
if (is_mac) {
sources += [
"hid_connection_mac.cc",
"hid_connection_mac.h",
"hid_service_mac.cc",
"hid_service_mac.h",
]
}
if (is_fuchsia) {
sources += [
"hid_service_fuchsia.cc",
"hid_service_fuchsia.h",
]
}
}
fuzzer_test("hid_report_descriptor_fuzzer") {
sources = [ "hid_report_descriptor_fuzzer.cc" ]
deps = [
"//services/device/public/cpp/hid",
"//services/device/public/mojom",
]
seed_corpus = "fuzz_corpus"
libfuzzer_options = [ "max_len=2048" ]
}