# Copyright 2019 The Fuchsia 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/cpp/library_headers.gni")

library_headers("headers") {
  headers = [
    "lib/hid-parser/item.h",
    "lib/hid-parser/parser.h",
    "lib/hid-parser/usages.h",
    "lib/hid-parser/descriptor.h",
  ]
}

source_set("hid-parser") {
  sources = [
    "descriptor.cc",
    "item.cc",
    "parser.cc",
    "report.cc",
    "units.cc",
  ]
  deps = [
    "//zircon/system/ulib/fbl",
    "//zircon/third_party/ulib/safemath",
  ]
  public_deps = [ ":headers" ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
