1# Copyright 2013 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      # GN version: //device/bluetooth
12      'target_name': 'device_bluetooth',
13      'type': 'static_library',
14      'dependencies': [
15        '../../base/base.gyp:base',
16        '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
17        '../../net/net.gyp:net',
18        '../../third_party/libxml/libxml.gyp:libxml',
19        '../../ui/base/ui_base.gyp:ui_base',
20        '../../ui/gfx/gfx.gyp:gfx',
21        '../../ui/gfx/gfx.gyp:gfx_geometry',
22        'bluetooth_strings.gyp:device_bluetooth_strings',
23      ],
24      'sources': [
25        # Note: file list duplicated in GN build.
26        'bluetooth_adapter.cc',
27        'bluetooth_adapter.h',
28        'bluetooth_adapter_chromeos.cc',
29        'bluetooth_adapter_chromeos.h',
30        'bluetooth_adapter_factory.cc',
31        'bluetooth_adapter_factory.h',
32        'bluetooth_adapter_mac.h',
33        'bluetooth_adapter_mac.mm',
34        'bluetooth_adapter_win.cc',
35        'bluetooth_adapter_win.h',
36        'bluetooth_channel_mac.mm',
37        'bluetooth_channel_mac.h',
38        'bluetooth_device.cc',
39        'bluetooth_device.h',
40        'bluetooth_device_chromeos.cc',
41        'bluetooth_device_chromeos.h',
42        'bluetooth_device_mac.h',
43        'bluetooth_device_mac.mm',
44        'bluetooth_device_win.cc',
45        'bluetooth_device_win.h',
46        'bluetooth_discovery_manager_mac.mm',
47        'bluetooth_discovery_manager_mac.h',
48        'bluetooth_discovery_session.cc',
49        'bluetooth_discovery_session.h',
50        'bluetooth_gatt_characteristic.cc',
51        'bluetooth_gatt_characteristic.h',
52        'bluetooth_gatt_connection.cc',
53        'bluetooth_gatt_connection.h',
54        'bluetooth_gatt_connection_chromeos.cc',
55        'bluetooth_gatt_connection_chromeos.h',
56        'bluetooth_gatt_descriptor.cc',
57        'bluetooth_gatt_descriptor.h',
58        'bluetooth_gatt_notify_session.cc',
59        'bluetooth_gatt_notify_session.h',
60        'bluetooth_gatt_notify_session_chromeos.cc',
61        'bluetooth_gatt_notify_session_chromeos.h',
62        'bluetooth_gatt_service.cc',
63        'bluetooth_gatt_service.h',
64        'bluetooth_init_win.cc',
65        'bluetooth_init_win.h',
66        'bluetooth_l2cap_channel_mac.mm',
67        'bluetooth_l2cap_channel_mac.h',
68        'bluetooth_low_energy_defs_win.cc',
69        'bluetooth_low_energy_defs_win.h',
70        'bluetooth_low_energy_win.cc',
71        'bluetooth_low_energy_win.h',
72        'bluetooth_pairing_chromeos.cc',
73        'bluetooth_pairing_chromeos.h',
74        'bluetooth_remote_gatt_characteristic_chromeos.cc',
75        'bluetooth_remote_gatt_characteristic_chromeos.h',
76        'bluetooth_remote_gatt_descriptor_chromeos.cc',
77        'bluetooth_remote_gatt_descriptor_chromeos.h',
78        'bluetooth_remote_gatt_service_chromeos.cc',
79        'bluetooth_remote_gatt_service_chromeos.h',
80        'bluetooth_rfcomm_channel_mac.mm',
81        'bluetooth_rfcomm_channel_mac.h',
82        'bluetooth_service_record_win.cc',
83        'bluetooth_service_record_win.h',
84        'bluetooth_socket.cc',
85        'bluetooth_socket.h',
86        'bluetooth_socket_chromeos.cc',
87        'bluetooth_socket_chromeos.h',
88        'bluetooth_socket_mac.h',
89        'bluetooth_socket_mac.mm',
90        'bluetooth_socket_net.cc',
91        'bluetooth_socket_net.h',
92        'bluetooth_socket_thread.cc',
93        'bluetooth_socket_thread.h',
94        'bluetooth_socket_win.cc',
95        'bluetooth_socket_win.h',
96        'bluetooth_task_manager_win.cc',
97        'bluetooth_task_manager_win.h',
98        'bluetooth_uuid.cc',
99        'bluetooth_uuid.h',
100      ],
101      'conditions': [
102        ['chromeos==1', {
103          'dependencies': [
104            '../../build/linux/system.gyp:dbus',
105            '../../chromeos/chromeos.gyp:chromeos',
106            '../../dbus/dbus.gyp:dbus',
107          ],
108          'export_dependent_settings': [
109            '../../build/linux/system.gyp:dbus'
110          ]
111        }],
112        ['OS=="win"', {
113          'all_dependent_settings': {
114            'msvs_settings': {
115              'VCLinkerTool': {
116                'DelayLoadDLLs': [
117                  'BluetoothApis.dll',
118                  # Despite MSDN stating that Bthprops.dll contains the
119                  # symbols declared by bthprops.lib, they actually reside here:
120                  'Bthprops.cpl',
121                  'setupapi.dll',
122                ],
123              },
124            },
125          },
126        }],
127        ['OS=="mac"', {
128          'link_settings': {
129            'libraries': [
130              '$(SDKROOT)/System/Library/Frameworks/IOBluetooth.framework',
131            ],
132          },
133        }],
134      ],
135    },
136    {
137      # GN version: //device/bluetooth:mocks
138      'target_name': 'device_bluetooth_mocks',
139      'type': 'static_library',
140      'dependencies': [
141        '../../testing/gmock.gyp:gmock',
142        'device_bluetooth',
143      ],
144      'include_dirs': [
145        '../../',
146      ],
147      'sources': [
148        # Note: file list duplicated in GN build.
149        'test/mock_bluetooth_adapter.cc',
150        'test/mock_bluetooth_adapter.h',
151        'test/mock_bluetooth_device.cc',
152        'test/mock_bluetooth_device.h',
153        'test/mock_bluetooth_discovery_session.cc',
154        'test/mock_bluetooth_discovery_session.h',
155        'test/mock_bluetooth_gatt_characteristic.cc',
156        'test/mock_bluetooth_gatt_characteristic.h',
157        'test/mock_bluetooth_gatt_connection.cc',
158        'test/mock_bluetooth_gatt_connection.h',
159        'test/mock_bluetooth_gatt_descriptor.cc',
160        'test/mock_bluetooth_gatt_descriptor.h',
161        'test/mock_bluetooth_gatt_notify_session.cc',
162        'test/mock_bluetooth_gatt_notify_session.h',
163        'test/mock_bluetooth_gatt_service.cc',
164        'test/mock_bluetooth_gatt_service.h',
165        'test/mock_bluetooth_socket.cc',
166        'test/mock_bluetooth_socket.h',
167      ],
168    },
169  ],
170}
171