# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'variables': {
    'chromium_code': 1,
  },
  'targets': [
    {
      'target_name': 'dbus',
      'type': '<(component)',
      'dependencies': [
        '../base/base.gyp:base',
        '../build/linux/system.gyp:dbus',
        '../third_party/protobuf/protobuf.gyp:protobuf_lite',
      ],
      'export_dependent_settings': [
        '../base/base.gyp:base',
      ],
      'defines': [
        'DBUS_IMPLEMENTATION',
      ],
      'sources': [
        'bus.cc',
        'bus.h',
        'dbus_export.h',
        'dbus_statistics.cc',
        'dbus_statistics.h',
        'exported_object.cc',
        'exported_object.h',
        'file_descriptor.cc',
        'file_descriptor.h',
        'message.cc',
        'message.h',
        'object_manager.cc',
        'object_manager.h',
        'object_path.cc',
        'object_path.h',
        'object_proxy.cc',
        'object_proxy.h',
        'property.cc',
        'property.h',
        'scoped_dbus_error.cc',
        'scoped_dbus_error.h',
        'string_util.cc',
        'string_util.h',
        'util.cc',
        'util.h',
        'values_util.cc',
        'values_util.h',
      ],
    },
    {
      # Protobuf compiler / generator test protocol buffer
      'target_name': 'dbus_test_proto',
      'type': 'static_library',
      'sources': [ 'test_proto.proto' ],
      'variables': {
        'proto_out_dir': 'dbus',
      },
      'includes': [ '../build/protoc.gypi' ],
    },
    {
      # This target contains mocks that can be used to write unit tests
      # without issuing actual D-Bus calls.
      'target_name': 'dbus_test_support',
      'type': 'static_library',
      'dependencies': [
        '../build/linux/system.gyp:dbus',
        '../testing/gmock.gyp:gmock',
        'dbus',
      ],
      'sources': [
        'mock_bus.cc',
        'mock_bus.h',
        'mock_exported_object.cc',
        'mock_exported_object.h',
        'mock_object_manager.cc',
        'mock_object_manager.h',
        'mock_object_proxy.cc',
        'mock_object_proxy.h',
      ],
      'include_dirs': [
        '..',
      ],
    },
    {
      'target_name': 'dbus_unittests',
      'type': 'executable',
      'dependencies': [
        '../base/base.gyp:test_support_base',
        '../build/linux/system.gyp:dbus',
        '../testing/gmock.gyp:gmock',
        '../testing/gtest.gyp:gtest',
        'dbus',
        'dbus_test_proto',
        'dbus_test_support',
      ],
      'sources': [
        'bus_unittest.cc',
        'dbus_statistics_unittest.cc',
        'end_to_end_async_unittest.cc',
        'end_to_end_sync_unittest.cc',
        'message_unittest.cc',
        'mock_unittest.cc',
        'object_manager_unittest.cc',
        'object_proxy_unittest.cc',
        'property_unittest.cc',
        'run_all_unittests.cc',
        'signal_sender_verification_unittest.cc',
        'string_util_unittest.cc',
        'test_service.cc',
        'test_service.h',
        'util_unittest.cc',
        'values_util_unittest.cc',
      ],
      'include_dirs': [
        '..',
      ],
    },
    {
      'target_name': 'dbus_test_server',
      'type': 'executable',
      'dependencies': [
        '../base/base.gyp:test_support_base',
        '../base/base.gyp:base',
        '../build/linux/system.gyp:dbus',
        'dbus',
      ],
      'sources': [
        'test_server.cc',
        'test_service.cc',
        'test_service.h',
      ],
      'include_dirs': [
        '..',
      ],
    },
  ],
}
