# 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("//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/hci",
    "//src/connectivity/bluetooth/core/bt-host/hci-spec",
  ]

  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" ]
}
