1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'targets': [
10    {
11      'target_name': 'dbus',
12      'type': '<(component)',
13      'dependencies': [
14        '../base/base.gyp:base',
15        '../build/linux/system.gyp:dbus',
16        '../third_party/protobuf/protobuf.gyp:protobuf_lite',
17      ],
18      'export_dependent_settings': [
19        '../base/base.gyp:base',
20      ],
21      'defines': [
22        'DBUS_IMPLEMENTATION',
23      ],
24      'sources': [
25        'bus.cc',
26        'bus.h',
27        'dbus_export.h',
28        'dbus_statistics.cc',
29        'dbus_statistics.h',
30        'exported_object.cc',
31        'exported_object.h',
32        'file_descriptor.cc',
33        'file_descriptor.h',
34        'message.cc',
35        'message.h',
36        'object_manager.cc',
37        'object_manager.h',
38        'object_path.cc',
39        'object_path.h',
40        'object_proxy.cc',
41        'object_proxy.h',
42        'property.cc',
43        'property.h',
44        'scoped_dbus_error.cc',
45        'scoped_dbus_error.h',
46        'string_util.cc',
47        'string_util.h',
48        'util.cc',
49        'util.h',
50        'values_util.cc',
51        'values_util.h',
52      ],
53    },
54    {
55      # Protobuf compiler / generator test protocol buffer
56      'target_name': 'dbus_test_proto',
57      'type': 'static_library',
58      'sources': [ 'test_proto.proto' ],
59      'variables': {
60        'proto_out_dir': 'dbus',
61      },
62      'includes': [ '../build/protoc.gypi' ],
63    },
64    {
65      # This target contains mocks that can be used to write unit tests
66      # without issuing actual D-Bus calls.
67      'target_name': 'dbus_test_support',
68      'type': 'static_library',
69      'dependencies': [
70        '../build/linux/system.gyp:dbus',
71        '../testing/gmock.gyp:gmock',
72        'dbus',
73      ],
74      'sources': [
75        'mock_bus.cc',
76        'mock_bus.h',
77        'mock_exported_object.cc',
78        'mock_exported_object.h',
79        'mock_object_manager.cc',
80        'mock_object_manager.h',
81        'mock_object_proxy.cc',
82        'mock_object_proxy.h',
83      ],
84      'include_dirs': [
85        '..',
86      ],
87    },
88    {
89      'target_name': 'dbus_unittests',
90      'type': 'executable',
91      'dependencies': [
92        '../base/base.gyp:test_support_base',
93        '../build/linux/system.gyp:dbus',
94        '../testing/gmock.gyp:gmock',
95        '../testing/gtest.gyp:gtest',
96        'dbus',
97        'dbus_test_proto',
98        'dbus_test_support',
99      ],
100      'sources': [
101        'bus_unittest.cc',
102        'dbus_statistics_unittest.cc',
103        'end_to_end_async_unittest.cc',
104        'end_to_end_sync_unittest.cc',
105        'message_unittest.cc',
106        'mock_unittest.cc',
107        'object_manager_unittest.cc',
108        'object_proxy_unittest.cc',
109        'property_unittest.cc',
110        'run_all_unittests.cc',
111        'signal_sender_verification_unittest.cc',
112        'string_util_unittest.cc',
113        'test_service.cc',
114        'test_service.h',
115        'util_unittest.cc',
116        'values_util_unittest.cc',
117      ],
118      'include_dirs': [
119        '..',
120      ],
121    },
122    {
123      'target_name': 'dbus_test_server',
124      'type': 'executable',
125      'dependencies': [
126        '../base/base.gyp:test_support_base',
127        '../base/base.gyp:base',
128        '../build/linux/system.gyp:dbus',
129        'dbus',
130      ],
131      'sources': [
132        'test_server.cc',
133        'test_service.cc',
134        'test_service.h',
135      ],
136      'include_dirs': [
137        '..',
138      ],
139    },
140  ],
141}
142