# Copyright 2017 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("//build/config/features.gni") if (is_win || ((is_linux || is_tizen) && use_udev) || is_mac) { config("platform_support") { visibility = [ ":serial" ] if (is_win) { libs = [ "setupapi.lib" ] ldflags = [ "/DELAYLOAD:setupapi.dll" ] } } source_set("serial") { visibility = [ ":test_support", "//services/device:lib", "//services/device:tests", ] sources = [ "buffer.cc", "buffer.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_win.cc", "serial_io_handler_win.h", "serial_port_impl.cc", "serial_port_impl.h", "serial_port_manager_impl.cc", "serial_port_manager_impl.h", ] public_configs = [ ":platform_support" ] public_deps = [ "//services/device/public/mojom", ] deps = [ "//base", "//mojo/public/cpp/bindings", "//net", ] if (is_posix) { sources += [ "serial_io_handler_posix.cc", "serial_io_handler_posix.h", ] } if (use_udev) { deps += [ "//device/udev_linux" ] } if (is_chromeos) { deps += [ "//chromeos/dbus" ] } if (is_mac) { libs = [ "Foundation.framework", "IOKit.framework", ] } if (is_win) { deps += [ "//device/base", "//third_party/re2", ] } if (is_tizen) { set_sources_assignment_filter([]) sources += [ "serial_device_enumerator_linux.cc", "serial_device_enumerator_linux.h", ] set_sources_assignment_filter(sources_assignment_filter) } } static_library("test_support") { testonly = true sources = [ "fake_serial_device_enumerator.cc", "fake_serial_device_enumerator.h", ] deps = [ ":serial", "//base", ] } }