910e62b5创建于 1月15日历史提交
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/c++/c++.gni")
import("//remoting/build/config/remoting_build.gni")

source_set("crash_tools") {
  public_deps = []
  if (is_linux || is_win) {
    public_deps += [ ":remoting_crashpad_handler" ]
  }
  if (is_linux) {
    public_deps += [ ":remoting_crashpad_db" ]
  }
}

if (is_linux || is_win) {
  executable("remoting_crashpad_handler") {
    sources = [ "crashpad_handler.cc" ]

    deps = [ "//third_party/crashpad/crashpad/handler" ]

    if (is_win) {
      sources += [ "$root_gen_dir/remoting/version.rc" ]
      defines = host_predefines +
                [ "REMOTING_HOST_BINARY=BINARY_REMOTING_CRASHPAD_HANDLER" ]
      deps += [
        "//build/win:default_exe_manifest",
        "//remoting/host/win:remoting_windows_resources",
      ]
    }
  }
}

if (is_linux) {
  executable("remoting_crashpad_db") {
    sources = [ "crashpad_db_tool.cc" ]

    deps = [
      "//base",
      "//remoting/base",
      "//remoting/base/crash",
      "//remoting/base/crash:crashpad_db_mgr",
      "//third_party/crashpad/crashpad/client",
      "//third_party/crashpad/crashpad/util",
    ]
  }
}

if (is_win) {
  source_set("crash_uploader") {
    sources = [
      "crash_directory_watcher.cc",
      "crash_directory_watcher.h",
      "crash_file_uploader.cc",
      "crash_file_uploader.h",
      "minidump_handler.cc",
      "minidump_handler.h",
    ]
    deps = [
      "//base",
      "//remoting/base",
      "//remoting/base/crash",
      "//remoting/base/crash:breakpad_utils",
      "//remoting/host:common_headers",
      "//remoting/host/base",
      "//services/network:network_service",
      "//services/network/public/cpp",
    ]
  }

  source_set("crash_uploader_main_headers") {
    sources = [ "crash_uploader_main.h" ]
    public_deps = [ "//remoting/host:host_main_headers" ]
  }

  source_set("crash_uploader_main") {
    configs += [ "//remoting/build/config:host_implementation" ]

    sources = [ "crash_uploader_main.cc" ]
    deps = [
      ":crash_uploader",
      ":crash_uploader_main_headers",
      "//base",
      "//mojo/core/embedder",
      "//remoting/base",
      "//remoting/base/crash",
      "//remoting/host:common_headers",
      "//remoting/host/base",
    ]
  }

  executable("remoting_crash_uploader") {
    sources = [ "crash_uploader_entry_point.cc" ]

    deps = [
      ":crash_uploader_main_headers",
      "//remoting/host:remoting_core",
    ]
  }
}