# Copyright 2014 The Chromium 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("//mojo/public/tools/bindings/mojom.gni")

# GYP version: device/serial/serial.gyp:device_serial
static_library("serial") {
  output_name = "device_serial"

  sources = [
    "async_waiter.cc",
    "async_waiter.h",
    "buffer.cc",
    "buffer.h",
    "data_receiver.cc",
    "data_receiver.h",
    "data_sender.cc",
    "data_sender.h",
    "data_sink_receiver.cc",
    "data_sink_receiver.h",
    "data_source_sender.cc",
    "data_source_sender.h",
    "serial_connection.cc",
    "serial_connection.h",
    "serial_connection_factory.cc",
    "serial_connection_factory.h",
    "serial_device_enumerator.cc",
    "serial_device_enumerator.h",
    "serial_device_enumerator_linux.cc",
    "serial_device_enumerator_linux.h",
    "serial_device_enumerator_mac.cc",
    "serial_device_enumerator_mac.h",
    "serial_device_enumerator_win.cc",
    "serial_device_enumerator_win.h",
    "serial_io_handler.cc",
    "serial_io_handler.h",
    "serial_io_handler_posix.cc",
    "serial_io_handler_posix.h",
    "serial_io_handler_win.cc",
    "serial_io_handler_win.h",
    "serial_service_impl.cc",
    "serial_service_impl.h",
  ]

  if (is_linux) {
    configs += [ "//build/config/linux:udev" ]
  }

  deps = [
    ":serial_mojo",
  ]
}

# GYP version: device/serial/serial.gyp:device_serial_test_util
static_library("test_util") {
  output_name = "device_serial_test_util"

  sources = [
    "test_serial_io_handler.cc",
    "test_serial_io_handler.h",
  ]

  deps = [
    ":serial",
  ]
}

# GYP version: device/serial/serial.gyp:device_serial_mojo
mojom("serial_mojo") {
  visibility = [
    ":serial",
    "//extensions:extensions_renderer_resources_grit",
  ]

  sources = [
    "data_stream.mojom",
    "data_stream_serialization.mojom",
    "serial.mojom",
  ]
}