# 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/package.gni")

group("util") {
  testonly = true
  deps = [ ":mdns-util" ]
}

package("mdns-util") {
  deps = [ ":bin" ]

  binaries = [
    {
      name = "mdns-util"
      shell = true
    },
  ]

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

executable("bin") {
  output_name = "mdns-util"

  sources = [
    "formatting.cc",
    "formatting.h",
    "main.cc",
    "mdns_impl.cc",
    "mdns_impl.h",
    "mdns_params.cc",
    "mdns_params.h",
  ]

  deps = [
    "//garnet/public/lib/fostr",
    "//sdk/fidl/fuchsia.net.mdns",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//src/lib/fsl",
    "//src/lib/fxl",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}
