| # 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" |
| } |