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