1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
# Copyright 2024 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/chrome_build.gni")
import("//build/toolchain/win/midl.gni")
import("//chrome/process_version_rc_template.gni")
import("//testing/test.gni")
midl("tracing_service_idl") {
sources = [ "tracing_service_idl.idl" ]
writes_tlb = true
}
executable("elevated_tracing_service") {
sources = [
"elevated_tracing_service.cc",
"elevated_tracing_service.rc",
]
configs -= [
"//build/config/compiler:cet_shadow_stack",
"//build/config/win:console",
]
configs += [ "//build/config/win:windowed" ]
deps = [
":lib",
":service_lib",
":tracing_service_idl",
":version_resources",
"//build/win:default_exe_manifest",
"//chrome/windows_services/service_program:service_program_with_crashpad",
"//components/crash/core/app:crash_export_thunks",
"//mojo/core/embedder",
]
}
# A source set for use by the service and by its clients.
source_set("integration") {
public = [ "service_integration.h" ]
sources = [ "service_integration.cc" ]
deps = [
"//base",
"//chrome/install_static:install_static_util",
]
}
source_set("lib") {
visibility = [ ":*" ]
sources = [
"process_watcher.cc",
"process_watcher.h",
"session_registry.cc",
"session_registry.h",
"system_tracing_session.cc",
"system_tracing_session.h",
]
deps = [
":integration",
"//chrome/windows_services/service_program:common",
"//chrome/windows_services/service_program:crash_integration",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/platform",
"//mojo/public/cpp/system",
"//services/tracing/public/cpp",
"//services/tracing/public/cpp:traced_process",
"//services/tracing/public/mojom",
"//third_party/abseil-cpp:absl",
]
public_deps = [
":tracing_service_idl",
"//base",
]
}
source_set("service_lib") {
visibility = [ ":*" ]
public = [ "elevated_tracing_service_delegate.h" ]
public_deps = [
"//base",
"//chrome/windows_services/service_program:delegate",
]
sources = [ "elevated_tracing_service_delegate.cc" ]
configs -= [ "//build/config/win:winver" ]
configs += [
"//chrome/windows_services/service_program:classic_com",
"//chrome/windows_services/service_program:winver",
]
deps = [
":lib",
"//chrome/common/win:eventlog_provider",
"//chrome/install_static:install_static_util",
"//services/tracing/public/cpp",
]
}
process_version_rc_template("version_resources") {
sources = [ "elevated_tracing_service_exe.ver" ]
output = "$target_gen_dir/elevated_tracing_service_exe.rc"
}
test("elevated_tracing_service_unittests") {
sources = [
"elevated_tracing_service_unittest.cc",
"process_watcher_unittest.cc",
"run_all_unittests.cc",
"session_registry_unittest.cc",
"system_tracing_session_unittest.cc",
"with_child_test.cc",
"with_child_test.h",
]
deps = [
":lib",
":service_lib",
":tracing_service_idl",
"//base",
"//base/test:test_support",
"//chrome/common/win:eventlog_provider",
"//chrome/install_static:install_static_util",
"//chrome/install_static/test:test_support",
"//chrome/windows_services/service_program:common",
"//chrome/windows_services/service_program:lib",
"//chrome/windows_services/service_program:unit_tests",
"//chrome/windows_services/service_program/test_support",
"//chrome/windows_services/service_program/test_support:unit_tests",
"//components/crash/core/app:crash_export_thunks",
"//mojo/core/embedder",
"//mojo/public/cpp/platform",
"//mojo/public/cpp/system",
"//services/tracing/public/mojom",
"//testing/gtest",
"//third_party/abseil-cpp:absl",
]
data_deps = [ ":elevated_tracing_service" ]
}
|