blob: d2b7f09c9d3190acb3747a9a8b742c1bd3a562bb [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 = [
":libruntime_probe",
":runtime_probe",
]
if (use.test) {
deps += [ ":unittest_runner" ]
}
if (use.fuzzer) {
deps += [
":runtime_probe_probestatement_fuzzer",
":runtime_probe_resultchecker_fuzzer",
]
}
}
pkg_config("target_defaults") {
# NOSORT
pkg_deps = [
"libbrillo",
"libchrome",
"libcros_config",
"libpcrecpp",
"libshill-client",
# system_api depends on protobuf (or protobuf-lite). It must appear
# before protobuf here or the linker flags won't be in the right
# order.
"system_api",
"protobuf",
"vboot_host",
]
}
static_library("libruntime_probe") {
configs += [ ":target_defaults" ]
sources = [
"component_category.cc",
"daemon.cc",
"function_templates/network.cc",
"function_templates/storage.cc",
"functions/all_functions.cc",
"functions/ata_storage.cc",
"functions/cellular_network.cc",
"functions/ectool_i2cread.cc",
"functions/edid.cc",
"functions/ethernet_network.cc",
"functions/generic_battery.cc",
"functions/generic_network.cc",
"functions/generic_storage.cc",
"functions/input_device.cc",
"functions/memory.cc",
"functions/mmc_storage.cc",
"functions/nvme_storage.cc",
"functions/sequence.cc",
"functions/sysfs.cc",
"functions/usb_camera.cc",
"functions/vpd_cached.cc",
"functions/wireless_network.cc",
"probe_config.cc",
"probe_function.cc",
"probe_function_argument.cc",
"probe_result_checker.cc",
"probe_statement.cc",
"utils/config_utils.cc",
"utils/edid.cc",
"utils/file_utils.cc",
"utils/type_utils.cc",
"utils/value_utils.cc",
]
}
executable("runtime_probe") {
configs += [ ":target_defaults" ]
sources = [ "runtime_probe.cc" ]
deps = [ ":libruntime_probe" ]
}
if (use.test) {
executable("unittest_runner") {
configs += [
"//common-mk:test",
":target_defaults",
]
sources = [
"functions/sequence_test.cc",
"functions/sysfs_test.cc",
"probe_config_test.cc",
"probe_result_checker_test.cc",
"probe_statement_test.cc",
"utils/config_utils_test.cc",
]
deps = [
":libruntime_probe",
"//common-mk/testrunner",
]
data = [
"testdata/probe_config.json",
"testdata/test.txt",
]
}
}
if (use.fuzzer) {
executable("runtime_probe_resultchecker_fuzzer") {
configs += [ "//common-mk/common_fuzzer" ]
sources = [ "runtime_probe_resultchecker_fuzzer.cc" ]
deps = [ ":libruntime_probe" ]
pkg_deps = [ "libchrome-test" ]
}
executable("runtime_probe_probestatement_fuzzer") {
configs += [ "//common-mk/common_fuzzer" ]
sources = [ "runtime_probe_probestatement_fuzzer.cc" ]
deps = [ ":libruntime_probe" ]
pkg_deps = [ "libchrome-test" ]
}
}