| # Copyright 2020 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/generate-dbus-adaptors.gni") |
| import("//common-mk/generate-dbus-proxies.gni") |
| import("//common-mk/pkg_config.gni") |
| |
| group("all") { |
| deps = [ |
| ":minios", |
| ":minios_adaptors", |
| ":minios_client", |
| ":minios_proxies", |
| ] |
| if (use.test) { |
| deps += [ ":minios_test" ] |
| } |
| } |
| |
| 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" |
| } |
| |
| pkg_config("target_defaults") { |
| pkg_deps = [ |
| "libbrillo", |
| "libchrome", |
| "libmetrics", |
| "libshill-client", |
| "libupdate_engine-client", |
| "protobuf-lite", |
| "system_api", |
| "vboot_host", |
| "xkbcommon", |
| ] |
| defines = [ "ARCH_" + getenv("ARCH") ] |
| } |
| |
| static_library("libminios") { |
| sources = [ |
| "daemon.cc", |
| "dbus_adaptors/dbus_adaptor.cc", |
| "disk_util.cc", |
| "draw_utils.cc", |
| "error.cc", |
| "key_reader.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" ] |
| deps = [ ":minios_adaptors" ] |
| } |
| |
| executable("minios") { |
| sources = [ "main.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":libminios" ] |
| } |
| |
| executable("minios_client") { |
| sources = [ "client/minios_client.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":minios_proxies" ] |
| } |
| |
| if (use.test) { |
| pkg_config("test_config") { |
| pkg_deps = [ |
| "libbrillo-test", |
| "libchrome-test", |
| ] |
| } |
| executable("minios_test") { |
| sources = [ |
| "dbus_adaptors/dbus_adaptor_test.cc", |
| "disk_util_test.cc", |
| "draw_utils_test.cc", |
| "key_reader_test.cc", |
| "logger_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", |
| "utils_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":test_config", |
| ":target_defaults", |
| ] |
| deps = [ |
| ":libminios", |
| "//common-mk/testrunner:testrunner", |
| ] |
| } |
| } |