| # 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/generate-dbus-proxies.gni") |
| import("//common-mk/pkg_config.gni") |
| |
| group("all") { |
| deps = [ |
| ":install_dbus_config", |
| ":install_init", |
| ":install_minijail_config", |
| ":install_system_service", |
| ":lorgnette", |
| ":lorgnette_cli", |
| "//lorgnette/tmpfiles.d", |
| ] |
| if (use.test) { |
| deps += [ |
| ":lorgnette_cli_unittest", |
| ":lorgnette_unittest", |
| ] |
| } |
| } |
| |
| pkg_config("target_defaults_deps") { |
| pkg_deps = [ |
| "absl", |
| "libbrillo", |
| "libchrome", |
| "libdlcservice-client", |
| "libjpeg", |
| "libmetrics", |
| "libpng", |
| "libusb-1.0", |
| "protobuf", |
| "protobuf-lite", |
| "re2", |
| "sane-backends", |
| "system_api", |
| "uuid", |
| ] |
| } |
| |
| config("target_defaults") { |
| cflags_c = [ "-Wextra" ] |
| cflags_cc = [ |
| "-Woverloaded-virtual", |
| "-Wconditional-uninitialized", |
| ] |
| configs = [ ":target_defaults_deps" ] |
| } |
| |
| generate_dbus_adaptors("lorgnette-adaptors") { |
| sources = [ "dbus_bindings/org.chromium.lorgnette.Manager.xml" ] |
| dbus_adaptors_out_dir = "include/lorgnette/dbus_adaptors" |
| } |
| |
| generate_dbus_proxies("lorgnette-proxies") { |
| sources = [ "dbus_bindings/org.chromium.lorgnette.Manager.xml" ] |
| proxy_output_file = "include/lorgnette/dbus-proxies.h" |
| } |
| |
| pkg_config("liblorgnette_config") { |
| pkg_deps = [ "libpermission_broker-client" ] |
| } |
| |
| static_library("liblorgnette") { |
| sources = [ |
| "constants.cc", |
| "daemon.cc", |
| "dbus_service_adaptor.cc", |
| "debug_log.cc", |
| "device_tracker.cc", |
| "dlc_client.cc", |
| "dlc_client_fake.cc", |
| "enums.cc", |
| "epson_probe.cc", |
| "firewall_manager.cc", |
| "guess_source.cc", |
| "image_readers/image_reader.cc", |
| "image_readers/jpeg_reader.cc", |
| "image_readers/png_reader.cc", |
| "ippusb_device.cc", |
| "libsane_wrapper_impl.cc", |
| "manager.cc", |
| "sane_client.cc", |
| "sane_client_fake.cc", |
| "sane_client_impl.cc", |
| "sane_constraint.cc", |
| "sane_device.cc", |
| "sane_device_fake.cc", |
| "sane_device_impl.cc", |
| "sane_option.cc", |
| "scanner_match.cc", |
| "usb/libusb_wrapper_impl.cc", |
| "usb/usb_device.cc", |
| "usb/usb_device_impl.cc", |
| "uuid_util.cc", |
| ] |
| all_dependent_configs = [ ":liblorgnette_config" ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":lorgnette-adaptors" ] |
| } |
| |
| executable("lorgnette") { |
| sources = [ "main.cc" ] |
| configs += [ ":target_defaults" ] |
| install_path = "bin" |
| deps = [ ":liblorgnette" ] |
| } |
| |
| static_library("liblorgnette_cli") { |
| sources = [ |
| "cli/advanced_scan.cc", |
| "cli/async_handler.cc", |
| "cli/discovery_handler.cc", |
| "cli/file_pattern.cc", |
| "cli/print_config.cc", |
| "cli/scan_handler.cc", |
| "cli/scan_options.cc", |
| "constants.cc", |
| "guess_source.cc", |
| ] |
| configs += [ ":target_defaults" ] |
| deps = [ ":lorgnette-adaptors" ] |
| } |
| |
| executable("lorgnette_cli") { |
| sources = [ "lorgnette_cli.cc" ] |
| configs += [ ":target_defaults" ] |
| deps = [ |
| ":liblorgnette_cli", |
| ":lorgnette-proxies", |
| ] |
| } |
| |
| install_config("install_dbus_config") { |
| sources = [ "dbus_permissions/org.chromium.lorgnette.conf" ] |
| install_path = "dbus_system_d" |
| } |
| |
| install_config("install_system_service") { |
| sources = [ "dbus_service/org.chromium.lorgnette.service" ] |
| install_path = "dbus_system_services" |
| } |
| |
| install_config("install_init") { |
| sources = [ "init/lorgnette.conf" ] |
| install_path = "upstart" |
| } |
| |
| install_config("install_minijail_config") { |
| sources = [ "minijail/lorgnette.conf" ] |
| install_path = "minijail_conf" |
| } |
| |
| if (use.test) { |
| pkg_config("liblorgnette_config_test") { |
| pkg_deps = [ |
| "libchrome-test", |
| "libdlcservice-client-test", |
| "libpermission_broker-client-test", |
| ] |
| } |
| |
| executable("lorgnette_unittest") { |
| sources = [ |
| "dbus_service_adaptor_test.cc", |
| "debug_log_test.cc", |
| "device_tracker_test.cc", |
| "dlc_client_test.cc", |
| "firewall_manager_test.cc", |
| "image_readers/jpeg_reader_test.cc", |
| "image_readers/png_reader_test.cc", |
| "ippusb_device_test.cc", |
| "libsane_wrapper_fake.cc", |
| "manager_test.cc", |
| "sane_client_impl_test.cc", |
| "sane_constraint_test.cc", |
| "sane_device_impl_test.cc", |
| "sane_option_test.cc", |
| "scanner_match_test.cc", |
| "test_util.cc", |
| "test_util_test.cc", |
| "usb/libusb_wrapper_fake.cc", |
| "usb/usb_device_fake.cc", |
| "usb/usb_device_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":liblorgnette_config_test", |
| ":target_defaults", |
| ] |
| deps = [ |
| ":liblorgnette", |
| "//common-mk/testrunner:testrunner", |
| ] |
| run_test = true |
| } |
| |
| executable("lorgnette_cli_unittest") { |
| sources = [ |
| "cli/file_pattern_test.cc", |
| "cli/print_config_test.cc", |
| "cli/scan_options_test.cc", |
| ] |
| configs += [ |
| "//common-mk:test", |
| ":liblorgnette_config_test", |
| ":target_defaults", |
| ] |
| deps = [ |
| ":liblorgnette_cli", |
| "//common-mk/testrunner:testrunner", |
| ] |
| run_test = true |
| } |
| } |