| # Copyright 2020 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/generate-dbus-proxies.gni") | |
| import("//common-mk/pkg_config.gni") | |
| group("all") { | |
| deps = [ | |
| ":install_minijail_conf", | |
| ":install_minios_logs_config", | |
| ":install_seccomp_policy", | |
| ":install_tmpfiles_config", | |
| ":minios", | |
| ":minios_adaptors", | |
| ":minios_client", | |
| ":minios_proxies", | |
| ":minios_util", | |
| ] | |
| if (use.test) { | |
| deps += [ ":minios_test" ] | |
| } | |
| } | |
| pkg_config("target_defaults") { | |
| pkg_deps = [ | |
| "absl", | |
| "blkid", | |
| "libbrillo", | |
| "libchrome", | |
| "libcrossystem", | |
| "libmetrics", | |
| "libshill-client", | |
| "libupdate_engine-client", | |
| "protobuf-lite", | |
| "system_api", | |
| "vboot_host", | |
| "xkbcommon", | |
| ] | |
| defines = [ "ARCH_" + getenv("ARCH") ] | |
| } | |
| generate_dbus_adaptors("minios_adaptors") { | |
| dbus_service_config = "dbus_adaptors/dbus-service-config.json" | |
| dbus_adaptors_out_dir = "include/minios/dbus_adaptors" | |
| sources = [ "dbus_adaptors/org.chromium.MiniOsInterface.xml" ] | |
| } | |
| generate_dbus_proxies("minios_proxies") { | |
| sources = [ "dbus_adaptors/org.chromium.MiniOsInterface.xml" ] | |
| dbus_service_config = "dbus_adaptors/dbus-service-config.json" | |
| mock_output_file = "include/minios/client/dbus-proxy-mocks.h" | |
| proxy_output_file = "include/minios/client/dbus-proxies.h" | |
| proxy_path_in_mocks = "minios/client/dbus-proxies.h" | |
| } | |
| install_config("install_minijail_conf") { | |
| sources = [ | |
| "minijail/minios_util.conf", | |
| "minijail/syslog.conf", | |
| ] | |
| install_path = "minijail_conf" | |
| } | |
| static_library("libminios") { | |
| sources = [ | |
| "blkid_wrapper.cc", | |
| "cgpt_util.cc", | |
| "daemon.cc", | |
| "dbus_adaptors/dbus_adaptor.cc", | |
| "disk_util.cc", | |
| "draw_utils.cc", | |
| "error.cc", | |
| "key_reader.cc", | |
| "log_store_manager.cc", | |
| "log_store_manifest.cc", | |
| "logger.cc", | |
| "metrics_reporter.cc", | |
| "minios.cc", | |
| "network_manager.cc", | |
| "process_manager.cc", | |
| "recovery_installer.cc", | |
| "screen_controller.cc", | |
| "screens/screen_base.cc", | |
| "screens/screen_debug_options.cc", | |
| "screens/screen_download.cc", | |
| "screens/screen_error.cc", | |
| "screens/screen_language_dropdown.cc", | |
| "screens/screen_log.cc", | |
| "screens/screen_network.cc", | |
| "screens/screen_permission.cc", | |
| "screens/screen_welcome.cc", | |
| "shill_proxy.cc", | |
| "update_engine_proxy.cc", | |
| "utils.cc", | |
| ] | |
| configs += [ ":target_defaults" ] | |
| libs = [ | |
| "hwsec-foundation", | |
| "vpd", | |
| ] | |
| deps = [ ":minios_adaptors" ] | |
| } | |
| executable("minios") { | |
| sources = [ "main.cc" ] | |
| configs += [ ":target_defaults" ] | |
| deps = [ ":libminios" ] | |
| } | |
| executable("minios_util") { | |
| sources = [ "minios_util.cc" ] | |
| configs += [ ":target_defaults" ] | |
| deps = [ ":libminios" ] | |
| install_path = "bin" | |
| } | |
| executable("minios_client") { | |
| sources = [ "client/minios_client.cc" ] | |
| configs += [ ":target_defaults" ] | |
| deps = [ ":minios_proxies" ] | |
| } | |
| install_config("install_minios_logs_config") { | |
| sources = [ "init/minios_util_logs.conf" ] | |
| install_path = "upstart" | |
| } | |
| install_config("install_tmpfiles_config") { | |
| sources = [ "init/tmpfiles.d/minios_util.conf" ] | |
| install_path = "tmpfiled_ondemand" | |
| } | |
| install_config("install_seccomp_policy") { | |
| sources = [ "seccomp/minios-util-" + getenv("ARCH") + ".policy" ] | |
| outputs = [ "minios-util.policy" ] | |
| install_path = "seccomp_policy" | |
| } | |
| if (use.test) { | |
| pkg_config("test_config") { | |
| pkg_deps = [ | |
| "libbrillo-test", | |
| "libchrome-test", | |
| "libcrossystem-test", | |
| "libupdate_engine-client-test", | |
| ] | |
| } | |
| executable("minios_test") { | |
| sources = [ | |
| "blkid_wrapper_test.cc", | |
| "cgpt_util_test.cc", | |
| "dbus_adaptors/dbus_adaptor_test.cc", | |
| "disk_util_test.cc", | |
| "draw_utils_test.cc", | |
| "key_reader_test.cc", | |
| "log_store_manager_test.cc", | |
| "log_store_manifest_test.cc", | |
| "logger_test.cc", | |
| "metrics_reporter_test.cc", | |
| "network_manager_test.cc", | |
| "recovery_installer_test.cc", | |
| "screen_controller_test.cc", | |
| "screens/screen_base_test.cc", | |
| "screens/screen_debug_options_test.cc", | |
| "screens/screen_download_test.cc", | |
| "screens/screen_error_test.cc", | |
| "screens/screen_log_test.cc", | |
| "screens/screen_network_test.cc", | |
| "screens/screen_permission_test.cc", | |
| "screens/screen_welcome_test.cc", | |
| "update_engine_proxy_test.cc", | |
| "utils_test.cc", | |
| ] | |
| configs += [ | |
| "//common-mk:test", | |
| ":test_config", | |
| ":target_defaults", | |
| ] | |
| deps = [ | |
| ":libminios", | |
| "//common-mk/testrunner:testrunner", | |
| ] | |
| } | |
| } |