# Copyright 2017 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("//src/sys/build/components.gni")

executable("bin") {
  output_name = "bt-intel-tool"

  sources = [
    "command_channel.cc",
    "command_channel.h",
    "commands.cc",
    "commands.h",
    "intel_firmware_loader.cc",
    "intel_firmware_loader.h",
    "main.cc",
  ]

  deps = [
    "../lib",
    "//sdk/lib/fdio",
    "//src/connectivity/bluetooth/core/bt-host/common",
    "//src/connectivity/bluetooth/core/bt-host/gap",
    "//src/connectivity/bluetooth/core/bt-host/hci",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_c_client",
    "//sdk/lib/fit",
    "//zircon/system/ulib/fzl",
  ]
}

fuchsia_shell_package("bt-intel-tool") {
  deps = [ ":bin" ]
}
