chromeos.gyp revision a36e5920737c6adbddd3e43b760e5de8431db6e0
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  'includes': [
10    'chromeos_memory.gypi',
11    'chromeos_tools.gypi',
12  ],
13  'targets': [
14    {
15      'target_name': 'chromeos',
16      'type': '<(component)',
17      'dependencies': [
18        '../base/base.gyp:base',
19        '../base/base.gyp:base_prefs',
20        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
21        '../build/linux/system.gyp:dbus',
22        '../build/linux/system.gyp:ssl',
23        '../dbus/dbus.gyp:dbus',
24        '../net/net.gyp:net',
25        '../third_party/libxml/libxml.gyp:libxml',
26        '../url/url.gyp:url_lib',
27        'ime/input_method.gyp:gencode',
28        'power_manager_proto',
29      ],
30      'defines': [
31        'CHROMEOS_IMPLEMENTATION',
32      ],
33      'sources': [
34        'app_mode/kiosk_oem_manifest_parser.cc',
35        'app_mode/kiosk_oem_manifest_parser.h',
36        'audio/audio_device.cc',
37        'audio/audio_device.h',
38        'audio/audio_devices_pref_handler.h',
39        'audio/audio_pref_observer.h',
40        'audio/cras_audio_handler.cc',
41        'audio/cras_audio_handler.h',
42        'audio/audio_devices_pref_handler_stub.cc',
43        'audio/audio_devices_pref_handler_stub.h',
44        'attestation/attestation_constants.cc',
45        'attestation/attestation_constants.h',
46        'attestation/attestation_flow.cc',
47        'attestation/attestation_flow.h',
48        'cert_loader.cc',
49        'cert_loader.h',
50        'chromeos_constants.cc',
51        'chromeos_constants.h',
52        'chromeos_export.h',
53        'chromeos_paths.cc',
54        'chromeos_paths.h',
55        'chromeos_switches.cc',
56        'chromeos_switches.h',
57        'cryptohome/async_method_caller.cc',
58        'cryptohome/async_method_caller.h',
59        'cryptohome/cryptohome_library.cc',
60        'cryptohome/cryptohome_library.h',
61        'dbus/audio_node.cc',
62        'dbus/audio_node.h',
63        'dbus/blocking_method_caller.cc',
64        'dbus/blocking_method_caller.h',
65        'dbus/bluetooth_adapter_client.cc',
66        'dbus/bluetooth_adapter_client.h',
67        'dbus/bluetooth_agent_manager_client.cc',
68        'dbus/bluetooth_agent_manager_client.h',
69        'dbus/bluetooth_agent_service_provider.cc',
70        'dbus/bluetooth_agent_service_provider.h',
71        'dbus/bluetooth_device_client.cc',
72        'dbus/bluetooth_device_client.h',
73        'dbus/bluetooth_input_client.cc',
74        'dbus/bluetooth_input_client.h',
75        'dbus/bluetooth_profile_manager_client.cc',
76        'dbus/bluetooth_profile_manager_client.h',
77        'dbus/bluetooth_profile_service_provider.cc',
78        'dbus/bluetooth_profile_service_provider.h',
79        'dbus/cras_audio_client.cc',
80        'dbus/cras_audio_client.h',
81        'dbus/cras_audio_client_stub_impl.cc',
82        'dbus/cras_audio_client_stub_impl.h',
83        'dbus/cros_disks_client.cc',
84        'dbus/cros_disks_client.h',
85        'dbus/cryptohome_client.cc',
86        'dbus/cryptohome_client.h',
87        'dbus/dbus_client_implementation_type.h',
88        'dbus/dbus_method_call_status.h',
89        'dbus/dbus_thread_manager.cc',
90        'dbus/dbus_thread_manager.h',
91        'dbus/debug_daemon_client.cc',
92        'dbus/debug_daemon_client.h',
93        'dbus/fake_bluetooth_adapter_client.cc',
94        'dbus/fake_bluetooth_adapter_client.h',
95        'dbus/fake_bluetooth_agent_manager_client.cc',
96        'dbus/fake_bluetooth_agent_manager_client.h',
97        'dbus/fake_bluetooth_agent_service_provider.cc',
98        'dbus/fake_bluetooth_agent_service_provider.h',
99        'dbus/fake_bluetooth_device_client.cc',
100        'dbus/fake_bluetooth_device_client.h',
101        'dbus/fake_bluetooth_input_client.cc',
102        'dbus/fake_bluetooth_input_client.h',
103        'dbus/fake_bluetooth_profile_manager_client.cc',
104        'dbus/fake_bluetooth_profile_manager_client.h',
105        'dbus/fake_bluetooth_profile_service_provider.cc',
106        'dbus/fake_bluetooth_profile_service_provider.h',
107        'dbus/fake_gsm_sms_client.cc',
108        'dbus/fake_gsm_sms_client.h',
109        'dbus/fake_image_burner_client.cc',
110        'dbus/fake_image_burner_client.h',
111        'dbus/fake_system_clock_client.cc',
112        'dbus/fake_system_clock_client.h',
113        'dbus/gsm_sms_client.cc',
114        'dbus/gsm_sms_client.h',
115        'dbus/shill_client_helper.cc',
116        'dbus/shill_client_helper.h',
117        'dbus/shill_device_client.cc',
118        'dbus/shill_device_client.h',
119        'dbus/shill_device_client_stub.cc',
120        'dbus/shill_device_client_stub.h',
121        'dbus/shill_ipconfig_client.cc',
122        'dbus/shill_ipconfig_client.h',
123        'dbus/shill_ipconfig_client_stub.cc',
124        'dbus/shill_ipconfig_client_stub.h',
125        'dbus/shill_manager_client.cc',
126        'dbus/shill_manager_client.h',
127        'dbus/shill_manager_client_stub.cc',
128        'dbus/shill_manager_client_stub.h',
129        'dbus/shill_profile_client.cc',
130        'dbus/shill_profile_client.h',
131        'dbus/shill_profile_client_stub.cc',
132        'dbus/shill_profile_client_stub.h',
133        'dbus/shill_service_client.cc',
134        'dbus/shill_service_client.h',
135        'dbus/shill_service_client_stub.cc',
136        'dbus/shill_service_client_stub.h',
137        'dbus/ibus/ibus_client.cc',
138        'dbus/ibus/ibus_client.h',
139        'dbus/ibus/ibus_component.cc',
140        'dbus/ibus/ibus_component.h',
141        'dbus/ibus/ibus_config_client.cc',
142        'dbus/ibus/ibus_config_client.h',
143        'dbus/ibus/ibus_constants.h',
144        'dbus/ibus/ibus_engine_service.cc',
145        'dbus/ibus/ibus_engine_service.h',
146        'dbus/ibus/ibus_engine_factory_service.cc',
147        'dbus/ibus/ibus_engine_factory_service.h',
148        'dbus/ibus/ibus_lookup_table.cc',
149        'dbus/ibus/ibus_lookup_table.h',
150        'dbus/ibus/ibus_object.cc',
151        'dbus/ibus/ibus_object.h',
152        'dbus/ibus/ibus_property.cc',
153        'dbus/ibus/ibus_property.h',
154        'dbus/ibus/ibus_text.cc',
155        'dbus/ibus/ibus_text.h',
156        'dbus/ibus/ibus_input_context_client.cc',
157        'dbus/ibus/ibus_input_context_client.h',
158        'dbus/ibus/ibus_panel_service.cc',
159        'dbus/ibus/ibus_panel_service.h',
160        'dbus/image_burner_client.cc',
161        'dbus/image_burner_client.h',
162        'dbus/introspectable_client.cc',
163        'dbus/introspectable_client.h',
164        'dbus/modem_messaging_client.cc',
165        'dbus/modem_messaging_client.h',
166        'dbus/permission_broker_client.cc',
167        'dbus/permission_broker_client.h',
168        'dbus/power_manager_client.cc',
169        'dbus/power_manager_client.h',
170        'dbus/power_policy_controller.cc',
171        'dbus/power_policy_controller.h',
172        'dbus/session_manager_client.cc',
173        'dbus/session_manager_client.h',
174        'dbus/sms_client.cc',
175        'dbus/sms_client.h',
176        'dbus/system_clock_client.cc',
177        'dbus/system_clock_client.h',
178        'dbus/update_engine_client.cc',
179        'dbus/update_engine_client.h',
180        'dbus/volume_state.cc',
181        'dbus/volume_state.h',
182        'disks/disk_mount_manager.cc',
183        'disks/disk_mount_manager.h',
184        'display/output_configurator.cc',
185        'display/output_configurator.h',
186        'display/output_util.cc',
187        'display/output_util.h',
188        'display/real_output_configurator_delegate.cc',
189        'display/real_output_configurator_delegate.h',
190        'ime/component_extension_ime_manager.cc',
191        'ime/component_extension_ime_manager.h',
192        'ime/extension_ime_util.cc',
193        'ime/extension_ime_util.h',
194        'ime/ibus_bridge.cc',
195        'ime/ibus_bridge.h',
196        'ime/ibus_daemon_controller.cc',
197        'ime/ibus_daemon_controller.h',
198        'ime/ibus_keymap.cc',
199        'ime/ibus_keymap.h',
200        'ime/input_method_config.cc',
201        'ime/input_method_config.h',
202        'ime/input_method_delegate.h',
203        'ime/input_method_descriptor.cc',
204        'ime/input_method_descriptor.h',
205        'ime/input_method_manager.cc',
206        'ime/input_method_manager.h',
207        'ime/input_method_property.cc',
208        'ime/input_method_property.h',
209        'ime/input_method_whitelist.cc',
210        'ime/input_method_whitelist.h',
211        'ime/xkeyboard.cc',
212        'ime/xkeyboard.h',
213        'login/login_state.cc',
214        'login/login_state.h',
215        'network/certificate_pattern.cc',
216        'network/certificate_pattern.h',
217        'network/certificate_pattern_matcher.cc',
218        'network/certificate_pattern_matcher.h',
219        'network/cros_network_functions.cc',
220        'network/cros_network_functions.h',
221        'network/device_state.cc',
222        'network/device_state.h',
223        'network/favorite_state.cc',
224        'network/favorite_state.h',
225        'network/geolocation_handler.cc',
226        'network/geolocation_handler.h',
227        'network/managed_network_configuration_handler.cc',
228        'network/managed_network_configuration_handler.h',
229        'network/managed_state.cc',
230        'network/managed_state.h',
231        'network/network_change_notifier_chromeos.cc',
232        'network/network_change_notifier_chromeos.h',
233        'network/network_change_notifier_factory_chromeos.cc',
234        'network/network_change_notifier_factory_chromeos.h',
235        'network/network_configuration_handler.cc',
236        'network/network_configuration_handler.h',
237        'network/network_connection_handler.cc',
238        'network/network_connection_handler.h',
239        'network/network_device_handler.cc',
240        'network/network_device_handler.h',
241        'network/network_event_log.cc',
242        'network/network_event_log.h',
243        'network/network_handler.cc',
244        'network/network_handler.h',
245        'network/network_handler_callbacks.cc',
246        'network/network_handler_callbacks.h',
247        'network/network_ip_config.cc',
248        'network/network_ip_config.h',
249        'network/network_profile.cc',
250        'network/network_profile.h',
251        'network/network_profile_handler.cc',
252        'network/network_profile_handler.h',
253        'network/network_profile_observer.h',
254        'network/network_sms_handler.cc',
255        'network/network_sms_handler.h',
256        'network/network_state.cc',
257        'network/network_state.h',
258        'network/network_state_handler.cc',
259        'network/network_state_handler.h',
260        'network/network_state_handler_observer.cc',
261        'network/network_state_handler_observer.h',
262        'network/network_ui_data.cc',
263        'network/network_ui_data.h',
264        'network/network_util.cc',
265        'network/network_util.h',
266        'network/onc/onc_certificate_importer.h',
267        'network/onc/onc_certificate_importer_impl.cc',
268        'network/onc/onc_certificate_importer_impl.h',
269        'network/onc/onc_constants.cc',
270        'network/onc/onc_constants.h',
271        'network/onc/onc_mapper.cc',
272        'network/onc/onc_mapper.h',
273        'network/onc/onc_merger.cc',
274        'network/onc/onc_merger.h',
275        'network/onc/onc_normalizer.cc',
276        'network/onc/onc_normalizer.h',
277        'network/onc/onc_signature.cc',
278        'network/onc/onc_signature.h',
279        'network/onc/onc_translation_tables.cc',
280        'network/onc/onc_translation_tables.h',
281        'network/onc/onc_translator.h',
282        'network/onc/onc_translator_onc_to_shill.cc',
283        'network/onc/onc_translator_shill_to_onc.cc',
284        'network/onc/onc_utils.cc',
285        'network/onc/onc_utils.h',
286        'network/onc/onc_validator.cc',
287        'network/onc/onc_validator.h',
288        'network/shill_property_handler.cc',
289        'network/shill_property_handler.h',
290        'network/sms_watcher.cc',
291        'network/sms_watcher.h',
292        'process_proxy/process_output_watcher.cc',
293        'process_proxy/process_output_watcher.h',
294        'process_proxy/process_proxy.cc',
295        'process_proxy/process_proxy.h',
296        'process_proxy/process_proxy_registry.cc',
297        'process_proxy/process_proxy_registry.h',
298        'system/name_value_pairs_parser.cc',
299        'system/name_value_pairs_parser.h',
300      ],
301      'conditions': [
302        ['use_x11 == 1', {
303          'dependencies': [
304            '../build/linux/system.gyp:glib',
305          ],
306          'link_settings': {
307            'libraries': [
308              '-lX11',
309              '-lXext',
310              '-lXi',
311              '-lXrandr',
312            ],
313          },
314        }, {
315          # use_x11 == 0
316          'sources!': [
317            'ime/xkeyboard.cc',
318            'ime/xkeyboard.h',
319            'display/output_configurator.cc',
320            'display/output_configurator.h',
321            'display/output_util.cc',
322            'display/output_util.h',
323            'display/real_output_configurator_delegate.cc',
324            'display/real_output_configurator_delegate.h',
325            'ime/xkeyboard.cc',
326            'ime/xkeyboard.h',
327          ],
328        }],
329      ],
330    },
331    {
332      # This target contains mocks that can be used to write unit tests.
333      'target_name': 'chromeos_test_support',
334      'type': 'static_library',
335      'dependencies': [
336        '../build/linux/system.gyp:dbus',
337        '../testing/gmock.gyp:gmock',
338        'chromeos',
339        'chromeos_test_support_without_gmock',
340        'power_manager_proto',
341      ],
342      'sources': [
343        'attestation/mock_attestation_flow.cc',
344        'attestation/mock_attestation_flow.h',
345        'chromeos_test_utils.cc',
346        'chromeos_test_utils.h',
347        'cryptohome/mock_async_method_caller.cc',
348        'cryptohome/mock_async_method_caller.h',
349        'cryptohome/mock_cryptohome_library.cc',
350        'cryptohome/mock_cryptohome_library.h',
351        'dbus/mock_cryptohome_client.cc',
352        'dbus/mock_cryptohome_client.h',
353        'dbus/mock_dbus_thread_manager.cc',
354        'dbus/mock_dbus_thread_manager.h',
355        'dbus/mock_gsm_sms_client.cc',
356        'dbus/mock_gsm_sms_client.h',
357        'dbus/mock_session_manager_client.cc',
358        'dbus/mock_session_manager_client.h',
359        'dbus/mock_shill_device_client.cc',
360        'dbus/mock_shill_device_client.h',
361        'dbus/mock_shill_ipconfig_client.cc',
362        'dbus/mock_shill_ipconfig_client.h',
363        'dbus/mock_shill_manager_client.cc',
364        'dbus/mock_shill_manager_client.h',
365        'dbus/mock_shill_profile_client.cc',
366        'dbus/mock_shill_profile_client.h',
367        'dbus/mock_shill_service_client.cc',
368        'dbus/mock_shill_service_client.h',
369        'dbus/shill_profile_client_stub.cc',
370        'dbus/shill_profile_client_stub.h',
371        'disks/mock_disk_mount_manager.cc',
372        'disks/mock_disk_mount_manager.h',
373        'ime/mock_component_extension_ime_manager_delegate.cc',
374        'ime/mock_component_extension_ime_manager_delegate.h',
375        'network/onc/mock_certificate_importer.cc',
376        'network/onc/mock_certificate_importer.h',
377        'network/onc/onc_test_utils.cc',
378        'network/onc/onc_test_utils.h',
379      ],
380      'include_dirs': [
381        '..',
382      ],
383    },
384    {
385      'target_name': 'chromeos_test_support_without_gmock',
386      'type': 'static_library',
387      'dependencies': [
388        '../build/linux/system.gyp:dbus',
389        '../dbus/dbus.gyp:dbus',
390        'chromeos',
391        'power_manager_proto',
392      ],
393      'sources': [
394        'dbus/fake_cros_disks_client.cc',
395        'dbus/fake_cros_disks_client.h',
396        'dbus/fake_cryptohome_client.cc',
397        'dbus/fake_cryptohome_client.h',
398        'dbus/fake_gsm_sms_client.cc',
399        'dbus/fake_gsm_sms_client.h',
400        'dbus/fake_image_burner_client.cc',
401        'dbus/fake_image_burner_client.h',
402        'dbus/fake_power_manager_client.cc',
403        'dbus/fake_power_manager_client.h',
404        'dbus/fake_session_manager_client.cc',
405        'dbus/fake_session_manager_client.h',
406        'dbus/fake_shill_device_client.cc',
407        'dbus/fake_shill_device_client.h',
408        'dbus/fake_shill_manager_client.cc',
409        'dbus/fake_shill_manager_client.h',
410        'dbus/fake_system_clock_client.cc',
411        'dbus/fake_system_clock_client.h',
412        'dbus/fake_update_engine_client.cc',
413        'dbus/fake_update_engine_client.h',
414        'dbus/mock_dbus_thread_manager_without_gmock.cc',
415        'dbus/mock_dbus_thread_manager_without_gmock.h',
416        'dbus/ibus/mock_ibus_client.cc',
417        'dbus/ibus/mock_ibus_client.h',
418        'dbus/ibus/mock_ibus_config_client.cc',
419        'dbus/ibus/mock_ibus_config_client.h',
420        'dbus/ibus/mock_ibus_input_context_client.cc',
421        'dbus/ibus/mock_ibus_input_context_client.h',
422        'dbus/ibus/mock_ibus_engine_factory_service.cc',
423        'dbus/ibus/mock_ibus_engine_factory_service.h',
424        'dbus/ibus/mock_ibus_engine_service.cc',
425        'dbus/ibus/mock_ibus_engine_service.h',
426        'dbus/ibus/mock_ibus_panel_service.cc',
427        'dbus/ibus/mock_ibus_panel_service.h',
428        'ime/fake_input_method_delegate.cc',
429        'ime/fake_input_method_delegate.h',
430        'ime/mock_ibus_daemon_controller.cc',
431        'ime/mock_ibus_daemon_controller.h',
432        'ime/mock_xkeyboard.cc',
433        'ime/mock_xkeyboard.h',
434      ],
435      'include_dirs': [
436        '..',
437      ],
438    },
439    {
440      'target_name': 'chromeos_unittests',
441      'type': 'executable',
442      'dependencies': [
443        '../base/base.gyp:run_all_unittests',
444        '../base/base.gyp:test_support_base',
445        '../build/linux/system.gyp:dbus',
446        '../build/linux/system.gyp:ssl',
447        '../crypto/crypto.gyp:crypto',
448        '../dbus/dbus.gyp:dbus_test_support',
449        '../net/net.gyp:net',
450        '../testing/gmock.gyp:gmock',
451        '../testing/gtest.gyp:gtest',
452        '../url/url.gyp:url_lib',
453        'chromeos_test_support',
454        'power_manager_proto',
455      ],
456      'sources': [
457        'app_mode/kiosk_oem_manifest_parser_unittest.cc',
458        'attestation/attestation_flow_unittest.cc',
459        'audio/cras_audio_handler_unittest.cc',
460        'dbus/blocking_method_caller_unittest.cc',
461        'dbus/cros_disks_client_unittest.cc',
462        'dbus/gsm_sms_client_unittest.cc',
463        'dbus/ibus/ibus_client_unittest.cc',
464        'dbus/ibus/ibus_component_unittest.cc',
465        'dbus/ibus/ibus_config_client_unittest.cc',
466        'dbus/ibus/ibus_engine_factory_service_unittest.cc',
467        'dbus/ibus/ibus_engine_service_unittest.cc',
468        'dbus/ibus/ibus_input_context_client_unittest.cc',
469        'dbus/ibus/ibus_lookup_table_unittest.cc',
470        'dbus/ibus/ibus_object_unittest.cc',
471        'dbus/ibus/ibus_panel_service_unittest.cc',
472        'dbus/ibus/ibus_property_unittest.cc',
473        'dbus/ibus/ibus_text_unittest.cc',
474        'dbus/introspectable_client_unittest.cc',
475        'dbus/modem_messaging_client_unittest.cc',
476        'dbus/power_policy_controller_unittest.cc',
477        'dbus/shill_client_unittest_base.cc',
478        'dbus/shill_client_unittest_base.h',
479        'dbus/shill_device_client_unittest.cc',
480        'dbus/shill_ipconfig_client_unittest.cc',
481        'dbus/shill_manager_client_unittest.cc',
482        'dbus/shill_profile_client_unittest.cc',
483        'dbus/shill_service_client_unittest.cc',
484        'disks/disk_mount_manager_unittest.cc',
485        'display/output_configurator_unittest.cc',
486        'display/output_util_unittest.cc',
487        'ime/component_extension_ime_manager_unittest.cc',
488        'ime/extension_ime_util_unittest.cc',
489        'ime/input_method_manager.h',
490        'ime/input_method_property_unittest.cc',
491        'ime/input_method_whitelist_unittest.cc',
492        'ime/xkeyboard_unittest.cc',
493        'login/login_state_unittest.cc',
494        'network/cros_network_functions_unittest.cc',
495        'network/geolocation_handler_unittest.cc',
496        'network/managed_network_configuration_handler_unittest.cc',
497        'network/network_change_notifier_chromeos_unittest.cc',
498        'network/network_configuration_handler_unittest.cc',
499        'network/network_connection_handler_unittest.cc',
500        'network/network_device_handler_unittest.cc',
501        'network/network_event_log_unittest.cc',
502        'network/network_profile_handler_stub.h',
503        'network/network_sms_handler_unittest.cc',
504        'network/network_state_handler_unittest.cc',
505        'network/network_state_unittest.cc',
506        'network/network_ui_data_unittest.cc',
507        'network/network_util_unittest.cc',
508        'network/onc/onc_certificate_importer_impl_unittest.cc',
509        'network/onc/onc_merger_unittest.cc',
510        'network/onc/onc_normalizer_unittest.cc',
511        'network/onc/onc_translator_unittest.cc',
512        'network/onc/onc_utils_unittest.cc',
513        'network/onc/onc_validator_unittest.cc',
514        'network/shill_property_handler_unittest.cc',
515        'process_proxy/process_output_watcher_unittest.cc',
516        'process_proxy/process_proxy_unittest.cc',
517        'system/name_value_pairs_parser_unittest.cc',
518      ],
519      'include_dirs': [
520        '..',
521      ],
522      'conditions': [
523        [ 'linux_use_tcmalloc==1', {
524           'dependencies': [
525              '../base/allocator/allocator.gyp:allocator',
526            ],
527          },
528        ],
529      ],
530    },
531    {
532      # Protobuf compiler/generator for power-manager related protocol buffers.
533      'target_name': 'power_manager_proto',
534      'type': 'static_library',
535      'sources': [
536        '../third_party/cros_system_api/dbus/power_manager/input_event.proto',
537        '../third_party/cros_system_api/dbus/power_manager/peripheral_battery_status.proto',
538        '../third_party/cros_system_api/dbus/power_manager/policy.proto',
539        '../third_party/cros_system_api/dbus/power_manager/power_supply_properties.proto',
540        '../third_party/cros_system_api/dbus/power_manager/suspend.proto',
541      ],
542      'variables': {
543        'proto_in_dir': '../third_party/cros_system_api/dbus/power_manager',
544        'proto_out_dir': 'chromeos/dbus/power_manager',
545      },
546      'includes': ['../build/protoc.gypi'],
547    },
548  ],
549}
550