# Copyright 2020 The Chromium OS 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("//common-mk/pkg_config.gni")

# Library that provides helpers for the diag tool.
pkg_config("libdiag_pkg_deps") {
  pkg_deps = [
    "libbrillo",
    "libchrome-${libbase_ver}",
  ]
}

source_set("libdiag") {
  configs += [ ":libdiag_pkg_deps" ]
  deps = [
    "//diagnostics/common:libcommon",
    "//diagnostics/cros_healthd_mojo_adapter:libcros_healthd_mojo_adapter",
    "//diagnostics/mojo:cros_healthd_mojo_bindings",
  ]
  sources = [
    "diag.cc",
    "diag_actions.cc",
  ]
}
