| { |
| 'target_defaults': { |
| 'variables': { |
| 'deps': [ |
| 'dbus-1', |
| 'libbrillo-<(libbase_ver)', |
| 'libchrome-<(libbase_ver)', |
| ], |
| }, |
| }, |
| 'targets': [ |
| { |
| 'target_name': 'peerd_common', |
| 'type': 'static_library', |
| 'variables': { |
| 'dbus_adaptors_out_dir': 'include/peerd', |
| 'dbus_service_config': 'dbus_bindings/dbus-service-config.json', |
| }, |
| 'sources': [ |
| 'avahi_client.cc', |
| 'avahi_service_discoverer.cc', |
| 'avahi_service_publisher.cc', |
| 'constants.cc', |
| 'dbus_bindings/org.chromium.peerd.Manager.xml', |
| 'dbus_bindings/org.chromium.peerd.Peer.xml', |
| 'dbus_bindings/org.chromium.peerd.Service.xml', |
| 'dbus_constants.cc', |
| 'discovered_peer.cc', |
| 'manager.cc', |
| 'peer.cc', |
| 'peer_manager_impl.cc', |
| 'published_peer.cc', |
| 'service.cc', |
| 'technologies.cc', |
| 'typedefs.cc', |
| ], |
| 'includes': ['../common-mk/generate-dbus-adaptors.gypi'], |
| 'actions': [ |
| { |
| # Import D-Bus bindings from Avahi. |
| 'action_name': 'generate-avahi-proxies', |
| 'variables': { |
| 'dbus_service_config': 'dbus_bindings/avahi-service-config.json', |
| 'proxy_output_file': 'include/avahi/dbus-proxies.h', |
| 'shared_interface_dir': '<(sysroot)/usr/share/dbus-1/interfaces', |
| }, |
| 'sources': [ |
| '<(shared_interface_dir)/org.freedesktop.Avahi.EntryGroup.xml', |
| '<(shared_interface_dir)/org.freedesktop.Avahi.Server.xml', |
| '<(shared_interface_dir)/org.freedesktop.Avahi.ServiceBrowser.xml', |
| '<(shared_interface_dir)/org.freedesktop.Avahi.ServiceResolver.xml', |
| ], |
| 'includes': ['../common-mk/generate-dbus-proxies.gypi'], |
| }, |
| { |
| # Generate D-Bus proxies for peerd. |
| 'action_name': 'generate-peerd-proxies', |
| 'variables': { |
| 'dbus_service_config': 'dbus_bindings/dbus-service-config.json', |
| 'proxy_output_file': 'include/peerd/dbus-proxies.h', |
| 'mock_output_file': 'include/peerd/dbus-proxy-mocks.h', |
| 'proxy_path_in_mocks': 'peerd/dbus-proxies.h', |
| }, |
| 'sources': [ |
| 'dbus_bindings/org.chromium.peerd.Manager.xml', |
| 'dbus_bindings/org.chromium.peerd.Peer.xml', |
| 'dbus_bindings/org.chromium.peerd.Service.xml', |
| ], |
| 'includes': ['../common-mk/generate-dbus-proxies.gypi'], |
| }, |
| ], |
| }, |
| { |
| 'target_name': 'peerd', |
| 'type': 'executable', |
| 'sources': [ |
| 'main.cc', |
| ], |
| 'dependencies': [ |
| 'peerd_common', |
| ], |
| }, |
| ], |
| 'conditions': [ |
| ['USE_test == 1', { |
| 'targets': [ |
| { |
| 'target_name': 'peerd_testrunner', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'peerd_common', |
| '../common-mk/testrunner.gyp:testrunner', |
| ], |
| 'variables': { |
| 'deps': [ |
| 'libchrome-test-<(libbase_ver)', |
| ], |
| }, |
| 'includes': ['../common-mk/common_test.gypi'], |
| 'sources': [ |
| 'avahi_client_unittest.cc', |
| 'avahi_service_publisher_unittest.cc', |
| 'discovered_peer_unittest.cc', |
| 'manager_unittest.cc', |
| 'peer_manager_impl_unittest.cc', |
| 'peer_unittest.cc', |
| 'published_peer_unittest.cc', |
| 'service_unittest.cc', |
| 'test_util.cc', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |