# 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/unification/zx_library.gni")

zx_library("simplehid") {
  sdk = "source"
  sdk_headers = [ "lib/simplehid/simplehid.h" ]
  sources = []
  public_deps = [
    # <lib/simplehid/simplehid.h> has #include <fuchsia/hardware/hidbus/cpp/banjo.h>.
    "//sdk/banjo/fuchsia.hardware.hidbus",

    # <lib/simplehid/simplehid.h> has #include <lib/zircon-internal/thread_annotations.h>.
    "//zircon/public/lib/zircon-internal",
  ]
  deps = [
    "//sdk/lib/fit",
    "//src/lib/ddk",
    "//src/lib/ddktl",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zx",
  ]
}

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