Reactivate FieldTrialList on Android.
[chromium-blink-merge.git] / chromeos / chromeos.gyp
blobb986457864248e36ae31cc8450452bd3ff05ece3
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.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'includes': [
10     'chromeos_tools.gypi'
11   ],
12   'targets': [
13     {
14       'target_name': 'chromeos',
15       'type': '<(component)',
16       'dependencies': [
17         '../base/base.gyp:base',
18         '../base/base.gyp:base_prefs',
19         '../build/linux/system.gyp:dbus',
20         '../build/linux/system.gyp:ssl',
21         '../dbus/dbus.gyp:dbus',
22         '../net/net.gyp:net',
23         '../third_party/libxml/libxml.gyp:libxml',
24         'power_manager_proto',
25         'power_state_control_proto',
26         'power_supply_properties_proto',
27         'video_activity_update_proto',
28       ],
29       'defines': [
30         'CHROMEOS_IMPLEMENTATION',
31       ],
32       'sources': [
33         'attestation/attestation_flow.cc',
34         'attestation/attestation_flow.h',
35         'chromeos_export.h',
36         'chromeos_switches.cc',
37         'chromeos_switches.h',
38         'cryptohome/async_method_caller.cc',
39         'cryptohome/async_method_caller.h',
40         'dbus/blocking_method_caller.cc',
41         'dbus/blocking_method_caller.h',
42         'dbus/bluetooth_adapter_client.cc',
43         'dbus/bluetooth_adapter_client.h',
44         'dbus/bluetooth_agent_service_provider.cc',
45         'dbus/bluetooth_agent_service_provider.h',
46         'dbus/bluetooth_device_client.cc',
47         'dbus/bluetooth_device_client.h',
48         'dbus/bluetooth_input_client.cc',
49         'dbus/bluetooth_input_client.h',
50         'dbus/bluetooth_manager_client.cc',
51         'dbus/bluetooth_manager_client.h',
52         'dbus/bluetooth_node_client.cc',
53         'dbus/bluetooth_node_client.h',
54         'dbus/bluetooth_out_of_band_client.cc',
55         'dbus/bluetooth_out_of_band_client.h',
56         'dbus/bluetooth_property.cc',
57         'dbus/bluetooth_property.h',
58         'dbus/cros_disks_client.cc',
59         'dbus/cros_disks_client.h',
60         'dbus/cryptohome_client.cc',
61         'dbus/cryptohome_client.h',
62         'dbus/dbus_client_implementation_type.h',
63         'dbus/dbus_method_call_status.h',
64         'dbus/dbus_thread_manager.cc',
65         'dbus/dbus_thread_manager.h',
66         'dbus/debug_daemon_client.cc',
67         'dbus/debug_daemon_client.h',
68         'dbus/gsm_sms_client.cc',
69         'dbus/gsm_sms_client.h',
70         'dbus/shill_client_helper.cc',
71         'dbus/shill_client_helper.h',
72         'dbus/shill_device_client.cc',
73         'dbus/shill_device_client.h',
74         'dbus/shill_device_client_stub.cc',
75         'dbus/shill_device_client_stub.h',
76         'dbus/shill_ipconfig_client.cc',
77         'dbus/shill_ipconfig_client.h',
78         'dbus/shill_ipconfig_client_stub.cc',
79         'dbus/shill_ipconfig_client_stub.h',
80         'dbus/shill_manager_client.cc',
81         'dbus/shill_manager_client.h',
82         'dbus/shill_manager_client_stub.cc',
83         'dbus/shill_manager_client_stub.h',
84         'dbus/shill_profile_client.cc',
85         'dbus/shill_profile_client.h',
86         'dbus/shill_profile_client_stub.cc',
87         'dbus/shill_profile_client_stub.h',
88         'dbus/shill_service_client.cc',
89         'dbus/shill_service_client.h',
90         'dbus/shill_service_client_stub.cc',
91         'dbus/shill_service_client_stub.h',
92         'dbus/ibus/ibus_client.cc',
93         'dbus/ibus/ibus_client.h',
94         'dbus/ibus/ibus_component.cc',
95         'dbus/ibus/ibus_component.h',
96         'dbus/ibus/ibus_config_client.cc',
97         'dbus/ibus/ibus_config_client.h',
98         'dbus/ibus/ibus_constants.h',
99         'dbus/ibus/ibus_engine_service.cc',
100         'dbus/ibus/ibus_engine_service.h',
101         'dbus/ibus/ibus_engine_factory_service.cc',
102         'dbus/ibus/ibus_engine_factory_service.h',
103         'dbus/ibus/ibus_lookup_table.cc',
104         'dbus/ibus/ibus_lookup_table.h',
105         'dbus/ibus/ibus_object.cc',
106         'dbus/ibus/ibus_object.h',
107         'dbus/ibus/ibus_property.cc',
108         'dbus/ibus/ibus_property.h',
109         'dbus/ibus/ibus_text.cc',
110         'dbus/ibus/ibus_text.h',
111         'dbus/ibus/ibus_input_context_client.cc',
112         'dbus/ibus/ibus_input_context_client.h',
113         'dbus/ibus/ibus_panel_service.cc',
114         'dbus/ibus/ibus_panel_service.h',
115         'dbus/image_burner_client.cc',
116         'dbus/image_burner_client.h',
117         'dbus/introspectable_client.cc',
118         'dbus/introspectable_client.h',
119         'dbus/modem_messaging_client.cc',
120         'dbus/modem_messaging_client.h',
121         'dbus/permission_broker_client.cc',
122         'dbus/permission_broker_client.h',
123         'dbus/power_manager_client.cc',
124         'dbus/power_manager_client.h',
125         'dbus/power_policy_controller.cc',
126         'dbus/power_policy_controller.h',
127         'dbus/power_supply_status.cc',
128         'dbus/power_supply_status.h',
129         'dbus/session_manager_client.cc',
130         'dbus/session_manager_client.h',
131         'dbus/sms_client.cc',
132         'dbus/sms_client.h',
133         'dbus/update_engine_client.cc',
134         'dbus/update_engine_client.h',
135         'disks/disk_mount_manager.cc',
136         'disks/disk_mount_manager.h',
137         'display/output_configurator.cc',
138         'display/output_configurator.h',
139         'ime/ibus_bridge.cc',
140         'ime/ibus_bridge.h',
141         'ime/ibus_daemon_controller.cc',
142         'ime/ibus_daemon_controller.h',
143         'network/cros_network_functions.cc',
144         'network/cros_network_functions.h',
145         'network/device_state.cc',
146         'network/device_state.h',
147         'network/geolocation_handler.cc',
148         'network/geolocation_handler.h',
149         'network/managed_state.cc',
150         'network/managed_state.h',
151         'network/network_change_notifier_chromeos.cc',
152         'network/network_change_notifier_chromeos.h',
153         'network/network_change_notifier_factory_chromeos.cc',
154         'network/network_change_notifier_factory_chromeos.h',
155         'network/network_configuration_handler.cc',
156         'network/network_configuration_handler.h',
157         'network/network_event_log.cc',
158         'network/network_event_log.h',
159         'network/network_handler_callbacks.cc',
160         'network/network_handler_callbacks.h',
161         'network/network_ip_config.cc',
162         'network/network_ip_config.h',
163         'network/network_sms_handler.cc',
164         'network/network_sms_handler.h',
165         'network/network_state.cc',
166         'network/network_state.h',
167         'network/network_state_handler.cc',
168         'network/network_state_handler.h',
169         'network/network_state_handler_observer.cc',
170         'network/network_state_handler_observer.h',
171         'network/network_util.cc',
172         'network/network_util.h',
173         'network/onc/onc_certificate_importer.cc',
174         'network/onc/onc_certificate_importer.h',
175         'network/onc/onc_constants.cc',
176         'network/onc/onc_constants.h',
177         'network/onc/onc_mapper.cc',
178         'network/onc/onc_mapper.h',
179         'network/onc/onc_merger.cc',
180         'network/onc/onc_merger.h',
181         'network/onc/onc_normalizer.cc',
182         'network/onc/onc_normalizer.h',
183         'network/onc/onc_signature.cc',
184         'network/onc/onc_signature.h',
185         'network/onc/onc_translation_tables.cc',
186         'network/onc/onc_translation_tables.h',
187         'network/onc/onc_translator.h',
188         'network/onc/onc_translator_onc_to_shill.cc',
189         'network/onc/onc_translator_shill_to_onc.cc',
190         'network/onc/onc_utils.cc',
191         'network/onc/onc_utils.h',
192         'network/onc/onc_validator.cc',
193         'network/onc/onc_validator.h',
194         'network/shill_property_handler.cc',
195         'network/shill_property_handler.h',
196         'network/sms_watcher.cc',
197         'network/sms_watcher.h',
198         'power/power_state_override.cc',
199         'power/power_state_override.h',
200       ],
201       'link_settings': {
202         'libraries': [
203           '-lXext',
204           '-lXrandr',
205         ],
206       },
207     },
208     {
209       # This target contains mocks that can be used to write unit tests.
210       'target_name': 'chromeos_test_support',
211       'type': 'static_library',
212       'dependencies': [
213         '../build/linux/system.gyp:dbus',
214         '../testing/gmock.gyp:gmock',
215         'chromeos',
216         'power_manager_proto',
217       ],
218       'sources': [
219         'attestation/mock_attestation_flow.cc',
220         'attestation/mock_attestation_flow.h',
221         'chromeos_test_utils.cc',
222         'chromeos_test_utils.h',
223         'cryptohome/mock_async_method_caller.cc',
224         'cryptohome/mock_async_method_caller.h',
225         'dbus/mock_bluetooth_adapter_client.cc',
226         'dbus/mock_bluetooth_adapter_client.h',
227         'dbus/mock_bluetooth_device_client.cc',
228         'dbus/mock_bluetooth_device_client.h',
229         'dbus/mock_bluetooth_input_client.cc',
230         'dbus/mock_bluetooth_input_client.h',
231         'dbus/mock_bluetooth_manager_client.cc',
232         'dbus/mock_bluetooth_manager_client.h',
233         'dbus/mock_bluetooth_node_client.cc',
234         'dbus/mock_bluetooth_node_client.h',
235         'dbus/mock_bluetooth_out_of_band_client.cc',
236         'dbus/mock_bluetooth_out_of_band_client.h',
237         'dbus/mock_cros_disks_client.cc',
238         'dbus/mock_cros_disks_client.h',
239         'dbus/mock_cryptohome_client.cc',
240         'dbus/mock_cryptohome_client.h',
241         'dbus/mock_dbus_thread_manager.cc',
242         'dbus/mock_dbus_thread_manager.h',
243         'dbus/mock_debug_daemon_client.cc',
244         'dbus/mock_debug_daemon_client.h',
245         'dbus/mock_shill_device_client.cc',
246         'dbus/mock_shill_device_client.h',
247         'dbus/mock_shill_ipconfig_client.cc',
248         'dbus/mock_shill_ipconfig_client.h',
249         'dbus/mock_shill_manager_client.cc',
250         'dbus/mock_shill_manager_client.h',
251         'dbus/mock_shill_profile_client.cc',
252         'dbus/mock_shill_profile_client.h',
253         'dbus/mock_shill_service_client.cc',
254         'dbus/mock_shill_service_client.h',
255         'dbus/mock_gsm_sms_client.cc',
256         'dbus/mock_gsm_sms_client.h',
257         'dbus/mock_image_burner_client.cc',
258         'dbus/mock_image_burner_client.h',
259         'dbus/mock_introspectable_client.cc',
260         'dbus/mock_introspectable_client.h',
261         'dbus/mock_modem_messaging_client.cc',
262         'dbus/mock_modem_messaging_client.h',
263         'dbus/mock_permission_broker_client.h',
264         'dbus/mock_permission_broker_client.cc',
265         'dbus/mock_power_manager_client.cc',
266         'dbus/mock_power_manager_client.h',
267         'dbus/mock_session_manager_client.cc',
268         'dbus/mock_session_manager_client.h',
269         'dbus/mock_sms_client.cc',
270         'dbus/mock_sms_client.h',
271         'dbus/mock_update_engine_client.cc',
272         'dbus/mock_update_engine_client.h',
273         'disks/mock_disk_mount_manager.cc',
274         'disks/mock_disk_mount_manager.h',
275         'network/onc/onc_test_utils.cc',
276         'network/onc/onc_test_utils.h',
277       ],
278       'include_dirs': [
279         '..',
280       ],
281     },
282     {
283       'target_name': 'chromeos_test_support_without_gmock',
284       'type': 'static_library',
285       'dependencies': [
286         '../build/linux/system.gyp:dbus',
287         'chromeos',
288       ],
289       'sources': [
290         'dbus/mock_dbus_thread_manager_without_gmock.cc',
291         'dbus/mock_dbus_thread_manager_without_gmock.h',
292         'dbus/ibus/mock_ibus_client.cc',
293         'dbus/ibus/mock_ibus_client.h',
294         'dbus/ibus/mock_ibus_config_client.cc',
295         'dbus/ibus/mock_ibus_config_client.h',
296         'dbus/ibus/mock_ibus_input_context_client.cc',
297         'dbus/ibus/mock_ibus_input_context_client.h',
298         'dbus/ibus/mock_ibus_engine_factory_service.cc',
299         'dbus/ibus/mock_ibus_engine_factory_service.h',
300         'dbus/ibus/mock_ibus_engine_service.cc',
301         'dbus/ibus/mock_ibus_engine_service.h',
302         'dbus/ibus/mock_ibus_panel_service.cc',
303         'dbus/ibus/mock_ibus_panel_service.h',
304       ],
305       'include_dirs': [
306         '..',
307       ],
308     },
309     {
310       'target_name': 'chromeos_unittests',
311       'type': 'executable',
312       'dependencies': [
313         '../base/base.gyp:run_all_unittests',
314         '../base/base.gyp:test_support_base',
315         '../build/linux/system.gyp:dbus',
316         '../build/linux/system.gyp:ssl',
317         '../crypto/crypto.gyp:crypto',
318         '../dbus/dbus.gyp:dbus_test_support',
319         '../net/net.gyp:net',
320         '../testing/gmock.gyp:gmock',
321         '../testing/gtest.gyp:gtest',
322         'chromeos_test_support',
323       ],
324       'sources': [
325         'attestation/attestation_flow_unittest.cc',
326         'display/output_configurator_unittest.cc',
327         'dbus/blocking_method_caller_unittest.cc',
328         'dbus/shill_client_unittest_base.cc',
329         'dbus/shill_client_unittest_base.h',
330         'dbus/shill_device_client_unittest.cc',
331         'dbus/shill_ipconfig_client_unittest.cc',
332         'dbus/shill_manager_client_unittest.cc',
333         'dbus/shill_profile_client_unittest.cc',
334         'dbus/shill_service_client_unittest.cc',
335         'dbus/gsm_sms_client_unittest.cc',
336         'dbus/ibus/ibus_client_unittest.cc',
337         'dbus/ibus/ibus_config_client_unittest.cc',
338         'dbus/ibus/ibus_component_unittest.cc',
339         'dbus/ibus/ibus_engine_factory_service_unittest.cc',
340         'dbus/ibus/ibus_engine_service_unittest.cc',
341         'dbus/ibus/ibus_input_context_client_unittest.cc',
342         'dbus/ibus/ibus_lookup_table_unittest.cc',
343         'dbus/ibus/ibus_object_unittest.cc',
344         'dbus/ibus/ibus_panel_service_unittest.cc',
345         'dbus/ibus/ibus_property_unittest.cc',
346         'dbus/ibus/ibus_text_unittest.cc',
347         'dbus/introspectable_client_unittest.cc',
348         'dbus/modem_messaging_client_unittest.cc',
349         'disks/disk_mount_manager_unittest.cc',
350         'network/cros_network_functions_unittest.cc',
351         'network/geolocation_handler_unittest.cc',
352         'network/network_change_notifier_chromeos_unittest.cc',
353         'network/network_configuration_handler_unittest.cc',
354         'network/network_event_log_unittest.cc',
355         'network/network_sms_handler_unittest.cc',
356         'network/network_state_handler_unittest.cc',
357         'network/network_util_unittest.cc',
358         'network/onc/onc_certificate_importer_unittest.cc',
359         'network/onc/onc_merger_unittest.cc',
360         'network/onc/onc_normalizer_unittest.cc',
361         'network/onc/onc_translator_unittest.cc',
362         'network/onc/onc_utils_unittest.cc',
363         'network/onc/onc_validator_unittest.cc',
364         'network/shill_property_handler_unittest.cc',
365         'power/power_state_override_unittest.cc',
366       ],
367       'include_dirs': [
368         '..',
369       ],
370       'conditions': [
371         [ 'linux_use_tcmalloc==1', {
372            'dependencies': [
373               '../base/allocator/allocator.gyp:allocator',
374             ],
375           },
376         ],
377       ],
378     },
379     {
380       # Protobuf compiler/generator for power-manager related protocol buffers.
381       # TODO(derat): Remove other protocol buffers in favor of these.
382       'target_name': 'power_manager_proto',
383       'type': 'static_library',
384       'sources': [
385         '../third_party/cros_system_api/dbus/power_manager/input_event.proto',
386         '../third_party/cros_system_api/dbus/power_manager/policy.proto',
387         '../third_party/cros_system_api/dbus/power_manager/suspend.proto',
388       ],
389       'variables': {
390         'proto_in_dir': '../third_party/cros_system_api/dbus/power_manager',
391         'proto_out_dir': 'chromeos/dbus/power_manager',
392       },
393       'includes': ['../build/protoc.gypi'],
394     },
395     {
396       # Protobuf compiler / generator for the PowerSupplyProperties protocol
397       # buffer.
398       'target_name': 'power_state_control_proto',
399       'type': 'static_library',
400       'sources': [
401         '../third_party/cros_system_api/dbus/power_state_control.proto',
402       ],
403       'variables': {
404         'proto_in_dir': '../third_party/cros_system_api/dbus',
405         'proto_out_dir': 'chromeos/dbus',
406       },
407       'includes': ['../build/protoc.gypi'],
408     },
409     {
410       # Protobuf compiler / generator for the PowerSupplyProperties protocol
411       # buffer.
412       'target_name': 'power_supply_properties_proto',
413       'type': 'static_library',
414       'sources': [
415         '../third_party/cros_system_api/dbus/power_supply_properties.proto',
416       ],
417       'variables': {
418         'proto_in_dir': '../third_party/cros_system_api/dbus',
419         'proto_out_dir': 'chromeos/dbus',
420       },
421       'includes': ['../build/protoc.gypi'],
422     },
423     {
424       # Protobuf compiler / generator for the VideoActivityUpdate protocol
425       # buffer.
426       'target_name': 'video_activity_update_proto',
427       'type': 'static_library',
428       'sources': [
429         '../third_party/cros_system_api/dbus/video_activity_update.proto',
430       ],
431       'variables': {
432         'proto_in_dir': '../third_party/cros_system_api/dbus/',
433         'proto_out_dir': 'chromeos/dbus',
434       },
435       'includes': ['../build/protoc.gypi'],
436     },
437   ],