blob: 11f27e79bce43827075f2ea266f9dd79a57a2ce3 [file] [log] [blame]
# Copyright 2018 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//common-mk/generate-dbus-adaptors.gni")
import("//common-mk/pkg_config.gni")
group("all") {
deps = [
":runtime_probe",
"//runtime_probe/dbus",
"//runtime_probe/init",
"//runtime_probe/sandbox",
]
if (use.test) {
deps += [ ":unittest_runner" ]
}
if (use.fuzzer) {
deps += [
":runtime_probe_probestatement_fuzzer",
":runtime_probe_resultchecker_fuzzer",
]
}
}
pkg_config("target_defaults") {
pkg_deps = [
"libbrillo",
"libchrome",
"libcros_config",
"protobuf",
"system_api",
"vboot_host",
]
}
# TODO(chungsheng): We should consider moving these into a subdirectory.
source_set("lib") {
sources = [
"component_category.cc",
"field_converter.cc",
"probe_config.cc",
"probe_config_loader_impl.cc",
"probe_function.cc",
"probe_function_argument.cc",
"probe_result_checker.cc",
"probe_statement.cc",
"system_property_impl.cc",
]
configs += [ ":target_defaults" ]
deps = [
"//runtime_probe/functions",
"//runtime_probe/system:system_base",
"//runtime_probe/utils",
]
}
source_set("daemon") {
sources = [ "daemon.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":dbus-adaptors" ]
}
executable("runtime_probe") {
sources = [ "runtime_probe.cc" ]
configs += [ ":target_defaults" ]
assert_no_deps = [ "//runtime_probe/system:context_factory" ]
install_path = "bin"
deps = [
":daemon",
":lib",
"//runtime_probe/system:context_production",
]
}
if (use.test) {
executable("unittest_runner") {
sources = [
"daemon_test.cc",
"field_converter_test.cc",
"probe_config_loader_impl_test.cc",
"probe_config_test.cc",
"probe_function_argument_test.cc",
"probe_result_checker_test.cc",
"probe_statement_test.cc",
]
configs += [
":target_defaults",
"//common-mk:test",
]
data = [
"testdata/probe_config.json",
"testdata/test.txt",
]
run_test = true
deps = [
":daemon",
":lib",
"//common-mk/testrunner",
"//runtime_probe/functions:test",
"//runtime_probe/utils:test",
]
}
}
if (use.fuzzer) {
executable("runtime_probe_resultchecker_fuzzer") {
sources = [ "runtime_probe_resultchecker_fuzzer.cc" ]
configs += [ "//common-mk/common_fuzzer" ]
deps = [ ":lib" ]
pkg_deps = [ "libchrome-test" ]
}
executable("runtime_probe_probestatement_fuzzer") {
sources = [ "runtime_probe_probestatement_fuzzer.cc" ]
configs += [ "//common-mk/common_fuzzer" ]
deps = [ ":lib" ]
pkg_deps = [ "libchrome-test" ]
}
}
generate_dbus_adaptors("dbus-adaptors") {
sources = [ "dbus_bindings/org.chromium.RuntimeProbe.xml" ]
dbus_adaptors_out_dir = "include/runtime_probe/dbus_adaptors"
dbus_service_config = "dbus_bindings/dbus-service-config.json"
}