# 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 = [
    "//src/lib/ddk",
    "//src/lib/ddktl",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zx",
  ]
}

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