# 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/go/go_library.gni")
import("//build/go/go_test.gni")

go_library("mdns") {
  name = "go.fuchsia.dev/fuchsia/tools/net/mdns"

  deps = [
    "//third_party/golibs:golang.org/x/net",
    "//third_party/golibs:golang.org/x/sys",
  ]
}

go_test("mdns_tests") {
  # TODO(awdavies): The default name conflicts w/ the connectivity service.
  output_name = "mdns_tools_test"
  gopackages = [ "go.fuchsia.dev/fuchsia/tools/net/mdns" ]
  deps = [
    ":mdns",
    "//third_party/golibs:github.com/google/go-cmp",
  ]
}
