| # 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/generate-dbus-adaptors.gni") |
| import("//common-mk/pkg_config.gni") |
| import("//common-mk/proto_library.gni") |
| |
| group("all") { |
| deps = [ |
| ":bt_usb_disconnect_helper", |
| ":capture_packets", |
| ":cups_uri_helper", |
| ":debugd", |
| ":debugd-adaptors", |
| ":debugd_dbus_utils", |
| ":dev_features_chrome_remote_debugging", |
| ":dev_features_password", |
| ":dev_features_rootfs_verification", |
| ":dev_features_ssh", |
| ":dev_features_usb_boot", |
| ":external-proto", |
| ":generate_logs", |
| ":icmp", |
| ":libdebugd", |
| ":netif", |
| ":network_status", |
| ":scheduler_configuration_helper", |
| ":usb4_devinfo_helper", |
| ] |
| if (use.test) { |
| deps += [ ":debugd_testrunner" ] |
| } |
| } |
| |
| pkg_config("target_defaults") { |
| defines = [ |
| "USE_CELLULAR=${use.cellular}", |
| "USE_IWLWIFI_DUMP=${use.iwlwifi_dump}", |
| "USE_TPM=${use.tpm}", |
| "USE_ARCVM=${use.arcvm}", |
| ] |
| |
| pkg_deps = [ |
| "dbus-1", |
| "libbrillo", |
| "libchrome", |
| "libcryptohome-client", |
| "liblzma", |
| "libminijail", |
| "vboot_host", |
| ] |
| } |
| |
| proto_library("external-proto") { |
| proto_in_dir = "${sysroot}/usr/include/chromeos/dbus/cryptohome" |
| proto_out_dir = "include" |
| sources = [ |
| "${proto_in_dir}/key.proto", |
| "${proto_in_dir}/rpc.proto", |
| ] |
| } |
| |
| generate_dbus_adaptors("debugd-adaptors") { |
| dbus_service_config = "dbus_bindings/dbus-service-config.json" |
| dbus_adaptors_out_dir = "include/debugd/dbus_adaptors" |
| sources = [ "dbus_bindings/org.chromium.debugd.xml" ] |
| } |
| |
| pkg_config("libdebugd_dependent_config") { |
| # NOSORT |
| pkg_deps = [ |
| "libshill-client", |
| "libuser_data_auth-client", |
| |
| # system_api depends on protobuf. It must appear before protobuf here so the |
| # linker flags are in the right order. |
| "system_api", |
| "protobuf", |
| ] |
| } |
| |
| static_library("libdebugd") { |
| sources = [ |
| "src/battery_tool.cc", |
| "src/bluetooth_utils.cc", |
| "src/constants.cc", |
| "src/container_tool.cc", |
| "src/crash_sender_tool.cc", |
| "src/cros_healthd_tool.cc", |
| "src/cups_tool.cc", |
| "src/debug_logs_tool.cc", |
| "src/debug_mode_tool.cc", |
| "src/debugd_dbus_adaptor.cc", |
| "src/dev_features_tool.cc", |
| "src/dev_mode_no_owner_restriction.cc", |
| "src/dmesg_tool.cc", |
| "src/ec_typec_tool.cc", |
| "src/ectool_util.cc", |
| "src/example_tool.cc", |
| "src/helper_utils.cc", |
| "src/icmp_tool.cc", |
| "src/ipaddrs_tool.cc", |
| "src/kernel_feature_tool.cc", |
| "src/log_tool.cc", |
| "src/memory_tool.cc", |
| "src/netif_tool.cc", |
| "src/network_status_tool.cc", |
| "src/oom_adj_tool.cc", |
| "src/packet_capture_tool.cc", |
| "src/perf_tool.cc", |
| "src/ping_tool.cc", |
| "src/probe_tool.cc", |
| "src/process_with_id.cc", |
| "src/process_with_output.cc", |
| "src/route_tool.cc", |
| "src/sandboxed_process.cc", |
| "src/scheduler_configuration_tool.cc", |
| "src/session_manager_proxy.cc", |
| "src/shill_scripts_tool.cc", |
| "src/simple_service_tool.cc", |
| "src/storage_tool.cc", |
| "src/subprocess_tool.cc", |
| "src/swap_tool.cc", |
| "src/sysrq_tool.cc", |
| "src/systrace_tool.cc", |
| "src/tracepath_tool.cc", |
| "src/u2f_tool.cc", |
| "src/variant_utils.cc", |
| "src/verify_ro_tool.cc", |
| "src/wifi_fw_dump_tool.cc", |
| "src/wifi_power_tool.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| all_dependent_configs = [ ":libdebugd_dependent_config" ] |
| libs = [ "policy" ] |
| deps = [ |
| ":debugd-adaptors", |
| ":external-proto", |
| ] |
| } |
| |
| static_library("debugd_dbus_utils") { |
| sources = [ |
| "src/helpers/shill_proxy.cc", |
| "src/helpers/system_service_proxy.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| } |
| |
| pkg_config("debugd_config") { |
| pkg_deps = [ "protobuf" ] |
| } |
| |
| executable("debugd") { |
| sources = [ "src/main.cc" ] |
| configs += [ |
| ":debugd_config", |
| ":target_defaults", |
| ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| pkg_config("capture_packets_config") { |
| pkg_deps = [ "libcap" ] |
| } |
| |
| executable("capture_packets") { |
| sources = [ "src/helpers/capture_packets.cc" ] |
| configs += [ |
| ":capture_packets_config", |
| ":target_defaults", |
| ] |
| libs = [ "pcap" ] |
| } |
| |
| executable("cups_uri_helper") { |
| sources = [ |
| "src/helpers/cups_uri_helper.cc", |
| "src/helpers/cups_uri_helper_utils.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| } |
| |
| executable("dev_features_chrome_remote_debugging") { |
| sources = [ "src/helpers/dev_features_chrome_remote_debugging.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| executable("dev_features_password") { |
| sources = [ |
| "src/helpers/dev_features_password.cc", |
| "src/helpers/dev_features_password_utils.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| executable("dev_features_rootfs_verification") { |
| sources = [ "src/helpers/dev_features_rootfs_verification.cc" ] |
| configs += [ ":target_defaults" ] |
| libs = [ "rootdev" ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| executable("dev_features_ssh") { |
| sources = [ "src/helpers/dev_features_ssh.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| pkg_config("dev_features_usb_boot_config") { |
| pkg_deps = [ "vboot_host" ] |
| } |
| |
| executable("dev_features_usb_boot") { |
| sources = [ "src/helpers/dev_features_usb_boot.cc" ] |
| configs += [ |
| ":dev_features_usb_boot_config", |
| ":target_defaults", |
| ] |
| deps = [ ":libdebugd" ] |
| } |
| |
| executable("generate_logs") { |
| sources = [ "tools/generate_logs.cc" ] |
| configs += [ ":target_defaults" ] |
| } |
| |
| executable("icmp") { |
| sources = [ "src/helpers/icmp.cc" ] |
| configs += [ ":target_defaults" ] |
| } |
| |
| executable("netif") { |
| sources = [ "src/helpers/netif.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":debugd_dbus_utils" ] |
| } |
| |
| executable("network_status") { |
| sources = [ "src/helpers/network_status.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":debugd_dbus_utils" ] |
| } |
| |
| executable("scheduler_configuration_helper") { |
| sources = [ |
| "src/helpers/scheduler_configuration_helper.cc", |
| "src/helpers/scheduler_configuration_utils.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| } |
| |
| pkg_config("usb4_devinfo_helper_config") { |
| pkg_deps = [ "re2" ] |
| } |
| |
| executable("usb4_devinfo_helper") { |
| sources = [ "src/helpers/usb4_devinfo_helper.cc" ] |
| configs += [ |
| ":target_defaults", |
| ":usb4_devinfo_helper_config", |
| ] |
| } |
| |
| pkg_config("bt_usb_disconnect_helper_config") { |
| pkg_deps = [ "re2" ] |
| } |
| |
| executable("bt_usb_disconnect_helper") { |
| sources = [ "src/helpers/bt_usb_disconnect_helper.cc" ] |
| configs += [ |
| ":target_defaults", |
| ":bt_usb_disconnect_helper_config", |
| ] |
| } |
| |
| if (use.test) { |
| pkg_config("debugd_testrunner_config") { |
| pkg_deps = [ |
| "libchrome-test", |
| "protobuf", |
| ] |
| } |
| |
| executable("debugd_testrunner") { |
| sources = [ |
| "src/crash_sender_tool_test.cc", |
| "src/dev_mode_no_owner_restriction_test.cc", |
| "src/helper_utils_test.cc", |
| "src/helpers/cups_uri_helper_test.cc", |
| "src/helpers/cups_uri_helper_utils.cc", |
| "src/helpers/dev_features_password_utils.cc", |
| "src/helpers/dev_features_password_utils_test.cc", |
| "src/helpers/scheduler_configuration_utils.cc", |
| "src/helpers/scheduler_configuration_utils_test.cc", |
| "src/log_tool_doc_test.cc", |
| "src/log_tool_test.cc", |
| "src/process_with_id_test.cc", |
| "src/storage_tool_test.cc", |
| "src/subprocess_tool_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":debugd_testrunner_config", |
| ":target_defaults", |
| ] |
| libs = [ "m" ] |
| deps = [ |
| ":debugd_dbus_utils", |
| ":libdebugd", |
| "//common-mk/testrunner", |
| ] |
| } |
| } |