BUILD.gn 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # Copyright 2014 The Chromium 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. import("//build/config/chromeos/ui_mode.gni")
  5. import("//build/config/features.gni")
  6. import("//testing/libfuzzer/fuzzer_test.gni")
  7. source_set("hid") {
  8. # HID is not implemented on Android and we want to be particularly careful
  9. # about not bloating binary size by accidentially including it.
  10. assert(!is_android)
  11. sources = [
  12. "hid_connection.cc",
  13. "hid_connection.h",
  14. "hid_connection_impl.cc",
  15. "hid_connection_impl.h",
  16. "hid_device_info.cc",
  17. "hid_device_info.h",
  18. "hid_manager_impl.cc",
  19. "hid_manager_impl.h",
  20. "hid_report_type.h",
  21. "hid_service.cc",
  22. "hid_service.h",
  23. ]
  24. deps = [
  25. "//base",
  26. "//build:chromeos_buildflags",
  27. "//components/device_event_log",
  28. "//device/base",
  29. "//services/device:utility",
  30. "//services/device/public/cpp/hid",
  31. "//services/device/public/mojom",
  32. ]
  33. if ((is_linux || is_chromeos) && use_udev) {
  34. sources += [
  35. "hid_connection_linux.cc",
  36. "hid_connection_linux.h",
  37. "hid_service_linux.cc",
  38. "hid_service_linux.h",
  39. "input_service_linux.cc",
  40. "input_service_linux.h",
  41. ]
  42. deps += [ "//device/udev_linux" ]
  43. }
  44. if (is_chromeos_ash) {
  45. deps += [ "//chromeos/dbus/permission_broker" ]
  46. }
  47. if (is_win) {
  48. sources += [
  49. "hid_connection_win.cc",
  50. "hid_connection_win.h",
  51. "hid_preparsed_data.cc",
  52. "hid_preparsed_data.h",
  53. "hid_service_win.cc",
  54. "hid_service_win.h",
  55. ]
  56. libs = [
  57. "hid.lib",
  58. "setupapi.lib",
  59. ]
  60. }
  61. if (is_mac) {
  62. sources += [
  63. "hid_connection_mac.cc",
  64. "hid_connection_mac.h",
  65. "hid_service_mac.cc",
  66. "hid_service_mac.h",
  67. ]
  68. }
  69. }
  70. fuzzer_test("hid_report_descriptor_fuzzer") {
  71. sources = [ "hid_report_descriptor_fuzzer.cc" ]
  72. deps = [
  73. "//services/device/public/cpp/hid",
  74. "//services/device/public/mojom",
  75. ]
  76. seed_corpus = "fuzz_corpus"
  77. libfuzzer_options = [ "max_len=2048" ]
  78. }