# 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.

source_set("base") {
  sources = [
    "auto_thread.cc",
    "auto_thread.h",
    "auto_thread_task_runner.cc",
    "auto_thread_task_runner.h",
    "buffered_socket_writer.cc",
    "buffered_socket_writer.h",
    "capabilities.cc",
    "capabilities.h",
    "chromium_url_request.cc",
    "chromium_url_request.h",
    "chromoting_event.cc",
    "chromoting_event.h",
    "compound_buffer.cc",
    "compound_buffer.h",
    "constants.cc",
    "constants.h",
    "leaky_bucket.cc",
    "leaky_bucket.h",
    "rate_counter.cc",
    "rate_counter.h",
    "rsa_key_pair.cc",
    "rsa_key_pair.h",
    "running_samples.cc",
    "running_samples.h",
    "scoped_sc_handle_win.h",
    "socket_reader.cc",
    "socket_reader.h",
    "telemetry_log_writer.cc",
    "telemetry_log_writer.h",
    "typed_buffer.h",
    "url_request.h",
    "url_request_context_getter.cc",
    "url_request_context_getter.h",
    "util.cc",
    "util.h",
    "vlog_net_log.cc",
    "vlog_net_log.h",
  ]

  configs += [
    "//build/config/compiler:wexit_time_destructors",
    "//remoting/build/config:version",
  ]

  public_deps = [
    "//base",
    "//net",
    "//remoting/proto",
    "//third_party/protobuf:protobuf_lite",
  ]
  deps = [
    "//base/third_party/dynamic_annotations",
    "//third_party/libvpx",
    "//third_party/libyuv",
    "//third_party/webrtc/modules/desktop_capture:primitives",
    "//url",
  ]
  if (is_nacl) {
    sources -= [
      "chromium_url_request.cc",
      "chromoting_event.cc",
      "telemetry_log_writer.cc",
      "url_request_context_getter.cc",
    ]
  }
}

source_set("breakpad") {
  sources = [
    "breakpad.h",
    "breakpad_linux.cc",
    "breakpad_mac.mm",
    "breakpad_win.cc",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  deps = [
    "//base",
  ]

  if (is_mac) {
    deps += [ "//breakpad" ]
  } else if (is_win) {
    deps += [ "//breakpad:breakpad_handler" ]
  }
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "auto_thread_task_runner_unittest.cc",
    "auto_thread_unittest.cc",
    "breakpad_win_unittest.cc",
    "buffered_socket_writer_unittest.cc",
    "capabilities_unittest.cc",
    "compound_buffer_unittest.cc",
    "rate_counter_unittest.cc",
    "rsa_key_pair_unittest.cc",
    "run_all_unittests.cc",
    "running_samples_unittest.cc",
    "telemetry_log_writer_unittest.cc",
    "test_rsa_key_pair.h",
    "typed_buffer_unittest.cc",
    "util_unittest.cc",
  ]

  deps = [
    ":base",
    ":breakpad",
    "//base",
    "//mojo/edk/system",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/libyuv",
    "//third_party/webrtc/modules/desktop_capture:primitives",
  ]

  if (is_win || is_mac || is_chromeos) {
    deps += [ "//breakpad:client" ]
  }

  if (is_win) {
    libs = [ "rpcrt4.lib" ]  # For UuidCreate in breakpad_win_unittest.cc.
  }
}
