blob: 5db5499965e599932ddb13fc821a323ca0480d2b [file] [log] [blame]
{
'target_defaults': {
'variables': {
'deps': [
'dbus-c++-1',
'glib-2.0',
'gthread-2.0',
'gobject-2.0',
'libbrillo-<(libbase_ver)',
'libchrome-<(libbase_ver)',
# system_api depends on protobuf (or protobuf-lite). It must appear
# before protobuf here or the linker flags won't be in the right
# order.
'system_api',
'protobuf',
],
# wimax_manager uses try/catch to interact with dbus-c++.
'enable_exceptions': 1,
},
},
'targets': [
# Generated proxy headers used by wimax_manager.
{
'target_name': 'wimax_manager-proxies',
'type': 'none',
'variables': {
'xml2cpp_type': 'proxy',
'xml2cpp_in_dir': 'dbus_bindings',
'xml2cpp_out_dir': 'include/wimax_manager/dbus_proxies',
},
'sources': [
# TODO(zqiu): use libpower_manger-client instead of using
# PowerManager xml file directly.
'../power_manager/dbus_bindings/org.chromium.PowerManager.xml',
'<(xml2cpp_in_dir)/org.freedesktop.DBus.xml',
],
'includes': ['../common-mk/xml2cpp.gypi'],
},
# wimax_manager client library generated headers. Used by other daemons to
# interact with wimax_manager.
{
'target_name': 'libwimax_manager-client-headers',
'type': 'none',
'actions': [
{
'action_name': 'libwimax_manager-client-dbus-proxies',
'variables': {
'proxy_output_file': 'include/wimax_manager/dbus-proxies.h',
'mock_output_file': 'include/wimax_manager/dbus-proxy-mocks.h',
'proxy_path_in_mocks': 'wimax_manager/dbus-proxies.h',
},
'sources': [
'dbus_bindings/org.chromium.WiMaxManager.xml',
'dbus_bindings/org.chromium.WiMaxManager.Device.xml',
'dbus_bindings/org.chromium.WiMaxManager.Network.xml',
],
'includes': ['../common-mk/generate-dbus-proxies.gypi'],
},
],
},
],
'conditions': [
['USE_gdmwimax == 1', {
'targets': [
{
'target_name': 'wimax_manager-adaptors',
'type': 'none',
'variables': {
'xml2cpp_type': 'adaptor',
'xml2cpp_in_dir': 'dbus_bindings',
'xml2cpp_out_dir': 'include/wimax_manager/dbus_adaptors',
},
'sources': [
'<(xml2cpp_in_dir)/org.chromium.WiMaxManager.xml',
'<(xml2cpp_in_dir)/org.chromium.WiMaxManager.Device.xml',
'<(xml2cpp_in_dir)/org.chromium.WiMaxManager.Network.xml',
],
'includes': ['../common-mk/xml2cpp.gypi'],
},
{
'target_name': 'wimax_manager-protos',
'type': 'static_library',
'variables': {
'proto_in_dir': 'proto',
'proto_out_dir': 'include/wimax_manager/proto_bindings',
},
'sources': [
'<(proto_in_dir)/config.proto',
'<(proto_in_dir)/eap_parameters.proto',
'<(proto_in_dir)/network_operator.proto',
],
'includes': ['../common-mk/protoc.gypi'],
},
{
'target_name': 'libwimax_manager',
'type': 'static_library',
'dependencies': [
'wimax_manager-adaptors',
'wimax_manager-proxies',
'wimax_manager-protos',
],
'link_settings': {
'libraries': [
# Specified on the same line to ensure they remain in this order.
# Otherwise, the -lz gets removed if another dep already pulled it
# in.
'-lgdmwimax -lz',
],
},
'sources': [
'byte_identifier.cc',
'dbus_adaptor.cc',
'dbus_control.cc',
'dbus_proxy.cc',
'dbus_service.cc',
'dbus_service_dbus_proxy.cc',
'device.cc',
'device_dbus_adaptor.cc',
'driver.cc',
'event_dispatcher.cc',
'gdm_device.cc',
'gdm_driver.cc',
'main.cc',
'manager.cc',
'manager_dbus_adaptor.cc',
'network.cc',
'network_dbus_adaptor.cc',
'power_manager.cc',
'power_manager_dbus_proxy.cc',
],
},
{
'target_name': 'wimax-manager',
'type': 'executable',
'dependencies': ['libwimax_manager'],
'sources': [
'main.cc',
],
},
],
'conditions': [
['USE_test == 1', {
'targets': [
{
'target_name': 'wimax_manager_testrunner',
'type': 'executable',
'dependencies': ['libwimax_manager'],
'includes': ['../common-mk/common_test.gypi'],
'sources': [
'byte_identifier_unittest.cc',
'gdm_device_unittest.cc',
'manager_unittest.cc',
'network_unittest.cc',
'testrunner.cc',
'utility_unittest.cc',
]
},
],
}],
],
}],
],
}