# Copyright 2018 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/package.gni")
import("//build/rust/rustc_binary.gni")

rustc_binary("bin") {
  name = "bt_init"
  edition = "2018"

  deps = [
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fdio",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-component",
    "//garnet/public/rust/fuchsia-syslog",
    "//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth-rustc",
    "//sdk/fidl/fuchsia.bluetooth.bredr:fuchsia.bluetooth.bredr-rustc",
    "//sdk/fidl/fuchsia.bluetooth.control:fuchsia.bluetooth.control-rustc",
    "//sdk/fidl/fuchsia.bluetooth.gatt:fuchsia.bluetooth.gatt-rustc",
    "//sdk/fidl/fuchsia.bluetooth.host:fuchsia.bluetooth.host-rustc",
    "//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le-rustc",
    "//sdk/fidl/fuchsia.bluetooth.snoop:fuchsia.bluetooth.snoop-rustc",
    "//src/connectivity/bluetooth/lib/fuchsia-bluetooth",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:futures-preview",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_derive",
    "//third_party/rust_crates:serde_json",
  ]
}

package("bt-init") {
  deps = [
    ":bin",
  ]

  binary = "bt_init"

  meta = [
    {
      path = rebase_path("meta/bt-init.cmx")
      dest = "bt-init.cmx"
    },
  ]

  resources = [
    {
      path = rebase_path("config/default.json")
      dest = "default.json"
    },
  ]
}
