blob: e580fd6a6f1e57e74cf357ebd38d034b34cad229 [file] [log] [blame]
# Copyright 2018 The Chromium OS 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("//common-mk/pkg_config.gni")
group("all") {
deps = [ ":runtime_probe" ]
if (use.test) {
deps += [ ":unittest_runner" ]
}
if (use.fuzzer) {
deps += [
":runtime_probe_probestatement_fuzzer",
":runtime_probe_resultchecker_fuzzer",
]
}
if (use.factory_runtime_probe) {
deps += [ ":factory_runtime_probe_installer" ]
}
}
pkg_config("target_defaults") {
pkg_deps = [
"libbrillo",
"libchrome",
"libcros_config",
"protobuf",
"system_api",
"vboot_host",
]
defines = [ "USE_FACTORY_RUNTIME_PROBE=${use.factory_runtime_probe}" ]
}
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",
"//runtime_probe/utils",
]
}
executable("runtime_probe") {
sources = [ "runtime_probe.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":lib" ]
if (use.factory_runtime_probe) {
output_name = "factory_runtime_probe"
install_path = "bin"
} else {
sources += [ "daemon.cc" ]
}
}
if (use.test) {
executable("unittest_runner") {
sources = [
"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",
]
deps = [
":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" ]
}
}
if (use.factory_runtime_probe) {
action("factory_runtime_probe_installer") {
script = "bundler.py"
deps = [ ":runtime_probe" ]
inputs = [ "$root_build_dir/factory_runtime_probe" ]
outputs = [ "$root_build_dir/factory_runtime_probe_installer" ]
install_configs = [
{
path = "/usr/bin"
options = "-m755"
},
]
args = [
"--root-dir",
getenv("SYSROOT"),
"--target-path",
] + inputs +
[
"--bundle-description",
"Installer of the standalone version of factory_runtime_probe.",
"--output-path",
] + outputs
}
}