| # Copyright 2019 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("host") { |
| deps = [ |
| ":cicerone_client", |
| ":concierge_client", |
| ":maitred_client", |
| ":seneschal", |
| ":seneschal_client", |
| ":vm_cicerone", |
| ":vm_concierge", |
| ":vmlog_forwarder", |
| ":vsh", |
| "//vm_tools:vshd", |
| ] |
| if (use.arcvm) { |
| deps += [ ":vm_pstore_dump" ] |
| } |
| if (use.test) { |
| deps += [ |
| ":cicerone_test", |
| ":concierge_test", |
| ":syslog_forwarder_test", |
| ] |
| if (use.arcvm) { |
| deps += [ ":vm_pstore_dump_test" ] |
| } |
| } |
| if (use.fuzzer) { |
| deps += [ |
| ":cicerone_container_listener_fuzzer", |
| ":vsh_client_fuzzer", |
| ] |
| } |
| } |
| |
| pkg_config("host_target_defaults_pkgs") { |
| pkg_deps = [ |
| "libbrillo", |
| "libchrome", |
| "libpatchpanel-client", |
| "libpatchpanel-util", |
| ] |
| } |
| |
| config("host_target_defaults") { |
| configs = [ ":host_target_defaults_pkgs" ] |
| defines = [ |
| "USE_CROSVM_WL_DMABUF=${use.crosvm_wl_dmabuf}", |
| "USE_PMEM_DEVICE_FOR_ROOTFS=${use.amd64}", |
| "USE_CROSVM_VIRTIO_VIDEO=${use.crosvm_virtio_video}", |
| ] |
| } |
| |
| executable("maitred_client") { |
| sources = [ "../maitred/client.cc" ] |
| configs += [ ":host_target_defaults" ] |
| libs = [ "grpc" ] |
| pkg_deps = [ |
| "grpc++", |
| "protobuf", |
| "vm_protos", |
| ] |
| } |
| |
| static_library("libforwarder") { |
| sources = [ |
| "../syslog/collector.cc", |
| "../syslog/forwarder.cc", |
| "../syslog/host_collector.cc", |
| "../syslog/log_pipe.cc", |
| "../syslog/parser.cc", |
| "../syslog/rotator.cc", |
| "../syslog/scrubber.cc", |
| ] |
| configs += [ ":host_target_defaults" ] |
| all_dependent_pkg_deps = [ |
| "grpc++", |
| "protobuf", |
| "system_api", |
| "vm_protos", |
| ] |
| } |
| |
| executable("vmlog_forwarder") { |
| sources = [ "../syslog/host_server.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ |
| ":libforwarder", |
| "//vm_tools:libvm_tools_common", |
| ] |
| } |
| |
| static_library("libvsh-client") { |
| sources = [ |
| "../vsh/scoped_termios.cc", |
| "../vsh/vsh_client.cc", |
| ] |
| configs += [ ":host_target_defaults" ] |
| pkg_deps = [ |
| "system_api", |
| "vm_protos", |
| ] |
| deps = [ "//vm_tools:libvsh" ] |
| all_dependent_pkg_deps = [ "vm_protos" ] |
| if (use.fuzzer) { |
| all_dependent_pkg_deps += [ "protobuf" ] |
| } else { |
| all_dependent_pkg_deps += [ "protobuf-lite" ] |
| } |
| } |
| |
| executable("vsh") { |
| sources = [ "../vsh/vsh.cc" ] |
| configs += [ ":host_target_defaults" ] |
| pkg_deps = [ |
| "system_api", |
| "vm_protos", |
| ] |
| deps = [ ":libvsh-client" ] |
| } |
| |
| static_library("libconcierge") { |
| sources = [ |
| "../concierge/arc_vm.cc", |
| "../concierge/disk_image.cc", |
| "../concierge/dlc_helper.cc", |
| "../concierge/plugin_vm.cc", |
| "../concierge/plugin_vm_helper.cc", |
| "../concierge/power_manager_client.cc", |
| "../concierge/seneschal_server_proxy.cc", |
| "../concierge/service.cc", |
| "../concierge/service_arc.cc", |
| "../concierge/service_plugin.cc", |
| "../concierge/shared_data.cc", |
| "../concierge/shill_client.cc", |
| "../concierge/ssh_keys.cc", |
| "../concierge/startup_listener_impl.cc", |
| "../concierge/tap_device_builder.cc", |
| "../concierge/termina_vm.cc", |
| "../concierge/untrusted_vm_utils.cc", |
| "../concierge/vm_base_impl.cc", |
| "../concierge/vm_builder.cc", |
| "../concierge/vm_permission_interface.cc", |
| "../concierge/vm_util.cc", |
| "../concierge/vmplugin_dispatcher_interface.cc", |
| "../concierge/vsock_cid_pool.cc", |
| ] |
| configs += [ ":host_target_defaults" ] |
| libs = [ "grpc" ] |
| all_dependent_pkg_deps = [ |
| "grpc++", |
| "libarchive", |
| "libdlcservice-client", |
| "libminijail", |
| "libqcow_utils", |
| "libshill-client", |
| "protobuf", |
| "system_api", |
| "vboot_host", |
| "vm_protos", |
| ] |
| |
| # TODO(crbug.com/1082873): Remove after fixing usage of deprecated |
| # declarations. |
| cflags_cc = [ "-Wno-error=deprecated-declarations" ] |
| } |
| |
| executable("vm_concierge") { |
| sources = [ "../concierge/main.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ |
| ":libconcierge", |
| "//vm_tools:libvm_tools_common", |
| ] |
| } |
| |
| executable("concierge_client") { |
| sources = [ "../concierge/client.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ "//vm_tools:libvm_tools_common" ] |
| pkg_deps = [ |
| "libqcow_utils", |
| "protobuf", |
| "system_api", |
| "vboot_host", |
| ] |
| } |
| |
| static_library("libcicerone") { |
| sources = [ |
| "../cicerone/container.cc", |
| "../cicerone/container_listener_impl.cc", |
| "../cicerone/crash_listener_impl.cc", |
| "../cicerone/service.cc", |
| "../cicerone/shill_client.cc", |
| "../cicerone/tremplin_listener_impl.cc", |
| "../cicerone/virtual_machine.cc", |
| ] |
| configs += [ ":host_target_defaults" ] |
| libs = [ "grpc" ] |
| all_dependent_pkg_deps = [ |
| "grpc++", |
| "libmetrics", |
| "libshill-client", |
| "protobuf", |
| "system_api", |
| "vm_protos", |
| ] |
| } |
| |
| executable("vm_cicerone") { |
| sources = [ "../cicerone/main.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ ":libcicerone" ] |
| } |
| |
| executable("cicerone_client") { |
| sources = [ "../cicerone/client.cc" ] |
| configs += [ ":host_target_defaults" ] |
| pkg_deps = [ |
| "protobuf", |
| "system_api", |
| ] |
| |
| # TODO(crbug.com/1082873): Remove after fixing usage of deprecated |
| # declarations. |
| cflags_cc = [ "-Wno-error=deprecated-declarations" ] |
| } |
| |
| if (use.arcvm) { |
| static_library("libvm_pstore_dump") { |
| sources = [ "../pstore_dump/persistent_ram_buffer.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ "//vm_tools:libvm_tools_common" ] |
| } |
| |
| executable("vm_pstore_dump") { |
| sources = [ "../pstore_dump/main.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ ":libvm_pstore_dump" ] |
| } |
| } |
| |
| static_library("libseneschal") { |
| sources = [ "../seneschal/service.cc" ] |
| configs += [ ":host_target_defaults" ] |
| all_dependent_pkg_deps = [ |
| "libminijail", |
| "protobuf", |
| "system_api", |
| ] |
| } |
| |
| executable("seneschal") { |
| sources = [ "../seneschal/main.cc" ] |
| configs += [ ":host_target_defaults" ] |
| deps = [ ":libseneschal" ] |
| } |
| |
| executable("seneschal_client") { |
| sources = [ "../seneschal/client.cc" ] |
| configs += [ ":host_target_defaults" ] |
| pkg_deps = [ |
| "protobuf", |
| "system_api", |
| ] |
| } |
| |
| if (use.test || use.fuzzer) { |
| static_library("service_testing_helper_lib") { |
| sources = [ |
| "../cicerone/dbus_message_testing_helper.cc", |
| "../cicerone/dbus_message_testing_helper.h", |
| "../cicerone/mock_tremplin_stub.h", |
| "../cicerone/service_testing_helper.cc", |
| "../cicerone/service_testing_helper.h", |
| ] |
| configs += [ ":host_target_defaults" ] |
| all_dependent_pkg_deps = [ "libchrome-test" ] |
| deps = [ ":libcicerone" ] |
| } |
| } |
| |
| if (use.test) { |
| executable("syslog_forwarder_test") { |
| sources = [ |
| "../syslog/forwarder_test.cc", |
| "../syslog/log_pipe_test.cc", |
| "../syslog/rotator_test.cc", |
| "../syslog/scrubber_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":host_target_defaults", |
| ] |
| deps = [ |
| ":libforwarder", |
| "//common-mk/testrunner:testrunner", |
| "//vm_tools:libvm_tools_common", |
| ] |
| } |
| |
| executable("cicerone_test") { |
| sources = [ |
| "../cicerone/container_listener_impl_test.cc", |
| "../cicerone/tremplin_listener_impl_test.cc", |
| "../cicerone/virtual_machine_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":host_target_defaults", |
| ] |
| deps = [ |
| ":libcicerone", |
| ":service_testing_helper_lib", |
| "//common-mk/testrunner:testrunner", |
| ] |
| } |
| |
| executable("concierge_test") { |
| sources = [ |
| "../concierge/dlc_helper_test.cc", |
| "../concierge/future_test.cc", |
| "../concierge/power_manager_client_test.cc", |
| "../concierge/termina_vm_test.cc", |
| "../concierge/untrusted_vm_utils_test.cc", |
| "../concierge/vm_util_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":host_target_defaults", |
| ] |
| pkg_deps = [ |
| "libchrome-test", |
| "libdlcservice-client-test", |
| ] |
| deps = [ |
| ":libconcierge", |
| "//common-mk/testrunner:testrunner", |
| ] |
| } |
| |
| if (use.arcvm) { |
| executable("vm_pstore_dump_test") { |
| sources = [ "../pstore_dump/persistent_ram_buffer_test.cc" ] |
| configs += [ |
| "//common-mk:test", |
| ":host_target_defaults", |
| ] |
| deps = [ |
| ":libvm_pstore_dump", |
| "//common-mk/testrunner:testrunner", |
| ] |
| } |
| } |
| } |
| |
| if (use.fuzzer) { |
| pkg_config("vm_host_tools_fuzzer_pkg_deps") { |
| pkg_deps = [ |
| "libprotobuf-mutator", |
| "protobuf", |
| "vm_protos", |
| ] |
| } |
| executable("cicerone_container_listener_fuzzer") { |
| sources = [ "../cicerone/container_listener_impl_fuzzer.cc" ] |
| |
| # //common-mk:test should be on the top. |
| # TODO(crbug.com/887845): Remove this comment after library ordering issue is fixed. |
| configs += [ |
| "//common-mk:test", |
| "//common-mk/common_fuzzer:common_fuzzer", |
| ":vm_host_tools_fuzzer_pkg_deps", |
| ] |
| pkg_deps = [ |
| "grpc++", |
| "libchrome-test", # For FuzzedDataProvider |
| ] |
| deps = [ |
| ":libcicerone", |
| ":service_testing_helper_lib", |
| ] |
| } |
| |
| executable("vsh_client_fuzzer") { |
| sources = [ "../vsh/vsh_client_fuzzer.cc" ] |
| configs += [ |
| "//common-mk/common_fuzzer", |
| ":host_target_defaults", |
| ":vm_host_tools_fuzzer_pkg_deps", |
| ] |
| deps = [ ":libvsh-client" ] |
| } |
| } |