# Copyright 2019 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("serial") {
  sources = [
    "serial.go",
    "serial_darwin.go",
    "serial_linux.go",
    "server.go",
    "server_test.go",
  ]
  deps = [
    "//third_party/golibs:golang.org/x/sys",
    "//tools/lib/ring",
  ]
}

go_test("tests") {
  output_name = "serial_tests"
  gopackages = [ "go.fuchsia.dev/fuchsia/tools/serial" ]
  deps = [ ":serial" ]
}
