1 # Copyright 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.
7 # This turns on e.g. the filename-based detection of which
8 # platforms to include source files on (e.g. files ending in
9 # _mac.h or _mac.cc are only compiled on MacOSX).
11 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/components',
14 ['android_webview_build == 0', {
17 'target_name': 'components_unittests',
18 'type': '<(gtest_target_type)',
20 'auto_login_parser/auto_login_parser_unittest.cc',
21 'autofill/content/browser/content_autofill_driver_unittest.cc',
22 'autofill/content/browser/request_autocomplete_manager_unittest.cc',
23 'autofill/content/browser/wallet/full_wallet_unittest.cc',
24 'autofill/content/browser/wallet/instrument_unittest.cc',
25 'autofill/content/browser/wallet/wallet_address_unittest.cc',
26 'autofill/content/browser/wallet/wallet_client_unittest.cc',
27 'autofill/content/browser/wallet/wallet_items_unittest.cc',
28 'autofill/content/browser/wallet/wallet_service_url_unittest.cc',
29 'autofill/content/browser/wallet/wallet_signin_helper_unittest.cc',
30 'autofill/core/browser/address_field_unittest.cc',
31 'autofill/core/browser/address_unittest.cc',
32 'autofill/core/browser/android/auxiliary_profile_unittest_android.cc',
33 'autofill/core/browser/autocomplete_history_manager_unittest.cc',
34 'autofill/core/browser/autofill_country_unittest.cc',
35 'autofill/core/browser/autofill_data_model_unittest.cc',
36 'autofill/core/browser/autofill_download_unittest.cc',
37 'autofill/core/browser/autofill_external_delegate_unittest.cc',
38 'autofill/core/browser/autofill_field_unittest.cc',
39 'autofill/core/browser/autofill_ie_toolbar_import_win_unittest.cc',
40 'autofill/core/browser/autofill_manager_unittest.cc',
41 'autofill/core/browser/autofill_merge_unittest.cc',
42 'autofill/core/browser/autofill_metrics_unittest.cc',
43 'autofill/core/browser/autofill_profile_unittest.cc',
44 'autofill/core/browser/autofill_regexes_unittest.cc',
45 'autofill/core/browser/autofill_type_unittest.cc',
46 'autofill/core/browser/autofill_xml_parser_unittest.cc',
47 'autofill/core/browser/contact_info_unittest.cc',
48 'autofill/core/browser/credit_card_field_unittest.cc',
49 'autofill/core/browser/credit_card_unittest.cc',
50 'autofill/core/browser/form_field_unittest.cc',
51 'autofill/core/browser/form_structure_unittest.cc',
52 'autofill/core/browser/name_field_unittest.cc',
53 'autofill/core/browser/password_autofill_manager_unittest.cc',
54 'autofill/core/browser/password_generator_unittest.cc',
55 'autofill/core/browser/personal_data_manager_unittest.cc',
56 'autofill/core/browser/phone_field_unittest.cc',
57 'autofill/core/browser/phone_number_i18n_unittest.cc',
58 'autofill/core/browser/phone_number_unittest.cc',
59 'autofill/core/browser/validation_unittest.cc',
60 'autofill/core/browser/webdata/autofill_profile_syncable_service_unittest.cc',
61 'autofill/core/browser/webdata/autofill_table_unittest.cc',
62 'autofill/core/browser/webdata/web_data_service_unittest.cc',
63 'autofill/core/common/form_data_unittest.cc',
64 'autofill/core/common/form_field_data_unittest.cc',
65 'autofill/core/common/password_form_fill_data_unittest.cc',
66 'cloud_devices/printer_description_unittest.cc',
67 'dom_distiller/core/article_entry_unittest.cc',
68 'dom_distiller/core/distiller_unittest.cc',
69 'dom_distiller/core/distiller_url_fetcher_unittest.cc',
70 'dom_distiller/core/dom_distiller_database_unittest.cc',
71 'dom_distiller/core/dom_distiller_model_unittest.cc',
72 'dom_distiller/core/dom_distiller_service_unittest.cc',
73 'dom_distiller/core/dom_distiller_store_unittest.cc',
74 'dom_distiller/core/task_tracker_unittest.cc',
75 'dom_distiller/core/url_utils_unittest.cc',
76 'domain_reliability/context_unittest.cc',
77 'domain_reliability/dispatcher_unittest.cc',
78 'domain_reliability/monitor_unittest.cc',
79 'domain_reliability/scheduler_unittest.cc',
80 'domain_reliability/test_util.cc',
81 'domain_reliability/test_util.h',
82 'domain_reliability/uploader_unittest.cc',
83 'domain_reliability/util_unittest.cc',
84 'json_schema/json_schema_validator_unittest.cc',
85 'json_schema/json_schema_validator_unittest_base.cc',
86 'json_schema/json_schema_validator_unittest_base.h',
87 'keyed_service/content/browser_context_dependency_manager_unittest.cc',
88 'keyed_service/core/dependency_graph_unittest.cc',
89 'language_usage_metrics/language_usage_metrics_unittest.cc',
90 'metrics/metrics_hashes_unittest.cc',
91 'navigation_interception/intercept_navigation_resource_throttle_unittest.cc',
92 'os_crypt/ie7_password_win_unittest.cc',
93 'os_crypt/keychain_password_mac_unittest.mm',
94 'os_crypt/os_crypt_unittest.cc',
95 'password_manager/core/browser/login_database_unittest.cc',
96 'password_manager/core/browser/password_form_manager_unittest.cc',
97 'password_manager/core/browser/password_generation_manager_unittest.cc',
98 'password_manager/core/browser/password_manager_unittest.cc',
99 'password_manager/core/browser/password_store_default_unittest.cc',
100 'password_manager/core/browser/password_store_unittest.cc',
101 'password_manager/core/browser/password_syncable_service_unittest.cc',
102 'password_manager/core/browser/psl_matching_helper_unittest.cc',
103 'precache/content/precache_manager_unittest.cc',
104 'precache/core/precache_database_unittest.cc',
105 'precache/core/precache_fetcher_unittest.cc',
106 'precache/core/precache_url_table_unittest.cc',
107 'rappor/bloom_filter_unittest.cc',
108 'rappor/byte_vector_utils_unittest.cc',
109 'rappor/log_uploader_unittest.cc',
110 'rappor/rappor_metric_unittest.cc',
111 'rappor/rappor_service_unittest.cc',
112 'sessions/serialized_navigation_entry_unittest.cc',
113 'signin/core/browser/mutable_profile_oauth2_token_service_unittest.cc',
114 'signin/core/browser/signin_error_controller_unittest.cc',
115 'signin/core/browser/webdata/token_service_table_unittest.cc',
116 'storage_monitor/image_capture_device_manager_unittest.mm',
117 'storage_monitor/media_storage_util_unittest.cc',
118 'storage_monitor/media_transfer_protocol_device_observer_linux_unittest.cc',
119 'storage_monitor/storage_info_unittest.cc',
120 'storage_monitor/storage_monitor_chromeos_unittest.cc',
121 'storage_monitor/storage_monitor_linux_unittest.cc',
122 'storage_monitor/storage_monitor_mac_unittest.mm',
123 'storage_monitor/storage_monitor_unittest.cc',
124 'storage_monitor/storage_monitor_win_unittest.cc',
125 'sync_driver/model_association_manager_unittest.cc',
126 'sync_driver/sync_prefs_unittest.cc',
127 'sync_driver/system_encryptor_unittest.cc',
128 'test/run_all_unittests.cc',
129 'translate/core/browser/language_state_unittest.cc',
130 'translate/core/browser/translate_browser_metrics_unittest.cc',
131 'translate/core/browser/translate_prefs_unittest.cc',
132 'translate/core/browser/translate_script_unittest.cc',
133 'translate/core/common/translate_metrics_unittest.cc',
134 'translate/core/common/translate_util_unittest.cc',
135 'translate/language_detection/language_detection_util_unittest.cc',
136 'url_matcher/regex_set_matcher_unittest.cc',
137 'url_matcher/string_pattern_unittest.cc',
138 'url_matcher/substring_set_matcher_unittest.cc',
139 'url_matcher/url_matcher_factory_unittest.cc',
140 'url_matcher/url_matcher_unittest.cc',
141 'variations/entropy_provider_unittest.cc',
142 'variations/metrics_util_unittest.cc',
143 'variations/variations_associated_data_unittest.cc',
144 'variations/variations_seed_processor_unittest.cc',
145 'variations/variations_seed_simulator_unittest.cc',
146 'visitedlink/test/visitedlink_unittest.cc',
147 'web_modal/web_contents_modal_dialog_manager_unittest.cc',
153 '../base/base.gyp:base_prefs_test_support',
154 '../base/base.gyp:test_support_base',
155 # TODO(blundell): Eliminate this dependency by having
156 # components_unittests have its own pakfile. crbug.com/348563
157 '../chrome/chrome_resources.gyp:packed_extra_resources',
158 # TODO(blundell): Eliminate the need for this dependency in code
159 # that iOS shares. crbug.com/325243
160 '../content/content_shell_and_tests.gyp:test_support_content',
161 '../sync/sync.gyp:sync',
162 '../sync/sync.gyp:test_support_sync_api',
163 '../testing/gmock.gyp:gmock',
164 '../testing/gtest.gyp:gtest',
165 '../ui/base/ui_base.gyp:ui_base',
166 '../ui/gfx/gfx.gyp:gfx',
168 'components_resources.gyp:components_resources',
170 # Dependencies of auto_login_parser
171 'components.gyp:auto_login_parser',
173 # Dependencies of autofill
174 'components.gyp:autofill_core_browser',
175 'components.gyp:autofill_core_common',
176 'components.gyp:autofill_core_test_support',
177 'components_strings.gyp:components_strings',
178 '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber',
180 # Dependencies of cloud_devices
181 'components.gyp:cloud_devices',
183 # Dependencies of dom_distiller
184 'components.gyp:distilled_page_proto',
185 'components.gyp:dom_distiller_core',
186 'components.gyp:dom_distiller_test_support',
188 # Dependencies of domain_reliability
189 'components.gyp:domain_reliability',
191 # Dependencies of json_schema
192 'components.gyp:json_schema',
194 # Dependencies of keyed_service
195 'components.gyp:keyed_service_core',
197 # Dependencies of language_usage_metrics
198 'components.gyp:language_usage_metrics',
200 # Dependencies of os_crypt
201 'components.gyp:os_crypt',
203 # Dependencies of password_manager
204 'components.gyp:password_manager_core_browser',
205 'components.gyp:password_manager_core_browser_test_support',
207 # Dependencies of precache/core
208 'components.gyp:password_manager_core_browser',
209 'components.gyp:precache_core',
211 # Dependencies of rappor
212 'components.gyp:rappor',
214 # Dependencies of signin
215 'components.gyp:signin_core_browser',
216 'components.gyp:signin_core_browser_test_support',
217 '../google_apis/google_apis.gyp:google_apis_test_support',
219 # Dependencies of sync_driver
220 'components.gyp:sync_driver_test_support',
222 # Dependencies of translate.
223 'components.gyp:translate_core_browser',
224 'components.gyp:translate_core_common',
225 'components.gyp:translate_language_detection',
227 # Dependencies of variations
228 'components.gyp:variations',
233 'dom_distiller/content/dom_distiller_viewer_source_unittest.cc',
236 # Dependencies of autofill
237 'components.gyp:autofill_content_browser',
238 'components.gyp:autofill_content_test_support',
240 # Dependencies of dom_distiller
241 'components.gyp:dom_distiller_content',
244 # intercept_navigation_resource_throttle_unittest.cc
245 '../skia/skia.gyp:skia',
246 'components.gyp:navigation_interception',
248 # Dependencies of keyed_service
249 'components.gyp:keyed_service_content',
251 # Dependencies of precache/content
252 'components.gyp:precache_content',
254 # Dependencies of sessions
255 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
256 'components.gyp:sessions',
257 'components.gyp:sessions_test_support',
259 # Dependencies of storage monitor
260 'components.gyp:storage_monitor',
261 'components.gyp:storage_monitor_test_support',
263 # Dependencies of url_matcher.
264 'components.gyp:url_matcher',
266 # Dependencies of visitedlink
267 'components.gyp:visitedlink_browser',
268 'components.gyp:visitedlink_renderer',
269 '../content/content_resources.gyp:content_resources',
271 # Dependencies of web_modal
272 'components.gyp:web_modal',
273 'components.gyp:web_modal_test_support',
276 'includes': ['../chrome/chrome_ios_bundle_resources.gypi'],
278 ['exclude', '\\.cc$'],
279 ['exclude', '\\.mm$'],
280 ['include', '^test/run_all_unittests\\.cc$'],
281 ['include', '^auto_login_parser/'],
282 ['include', '^autofill/core/'],
283 ['include', '^dom_distiller/'],
284 ['include', '^json_schema/'],
285 ['include', '^keyed_service/core/'],
286 ['include', '^language_usage_metrics/'],
287 ['include', '^password_manager/'],
288 ['include', '^precache/core/'],
289 ['include', '^signin/'],
290 ['include', '^sync_driver/'],
291 ['include', '^translate/'],
292 ['include', '^variations/'],
296 'action_name': 'copy_test_data',
301 'test_data_prefix': 'components',
303 'includes': [ '../build/copy_test_data_ios.gypi' ],
307 ['configuration_policy==1', {
309 ['include', '^policy/'],
314 ['disable_nacl==0', {
316 'nacl/browser/nacl_file_host_unittest.cc',
317 'nacl/browser/nacl_process_host_unittest.cc',
318 'nacl/browser/nacl_validation_cache_unittest.cc',
319 'nacl/browser/pnacl_host_unittest.cc',
320 'nacl/browser/pnacl_translation_cache_unittest.cc',
321 'nacl/browser/test_nacl_browser_delegate.cc',
324 'nacl.gyp:nacl_browser',
325 'nacl.gyp:nacl_common',
331 '$(SDKROOT)/System/Library/Frameworks/AddressBook.framework',
332 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
333 '$(SDKROOT)/System/Library/Frameworks/ImageCaptureCore.framework',
337 'password_manager/core/browser/password_store_default_unittest.cc',
340 ['OS == "android"', {
342 'signin/core/browser/mutable_profile_oauth2_token_service_unittest.cc',
343 'storage_monitor/media_storage_util_unittest.cc',
344 'storage_monitor/storage_info_unittest.cc',
345 'storage_monitor/storage_monitor_unittest.cc',
346 'web_modal/web_contents_modal_dialog_manager_unittest.cc',
349 'components.gyp:storage_monitor',
350 'components.gyp:storage_monitor_test_support',
351 'components.gyp:web_modal',
352 'components.gyp:web_modal_test_support',
355 ['OS == "android" and gtest_target_type == "shared_library"', {
357 '../testing/android/native_test.gyp:native_test_native_code',
362 'storage_monitor/storage_monitor_linux_unittest.cc',
365 '../chromeos/chromeos.gyp:chromeos_test_support',
370 '../dbus/dbus.gyp:dbus',
371 '../device/media_transfer_protocol/media_transfer_protocol.gyp:device_media_transfer_protocol',
374 ['OS=="win" and win_use_allocator_shim==1', {
376 '../base/allocator/allocator.gyp:allocator',
379 # TODO(dmikurube): Kill linux_use_tcmalloc. http://crbug.com/345554
380 ['OS=="linux" and component=="shared_library" and ((use_allocator!="none" and use_allocator!="see_use_tcmalloc") or (use_allocator=="see_use_tcmalloc" and linux_use_tcmalloc==1))', {
382 '<(DEPTH)/base/allocator/allocator.gyp:allocator',
385 'ldflags': ['-rdynamic'],
388 ['configuration_policy==1', {
390 'components.gyp:policy_component',
391 'components.gyp:policy_component_test_support',
392 'components.gyp:policy_test_support',
395 'policy/core/browser/autofill_policy_handler_unittest.cc',
396 'policy/core/browser/browser_policy_connector_unittest.cc',
397 'policy/core/browser/configuration_policy_handler_unittest.cc',
398 'policy/core/browser/configuration_policy_pref_store_unittest.cc',
399 'policy/core/browser/url_blacklist_policy_handler_unittest.cc',
400 'policy/core/common/async_policy_provider_unittest.cc',
401 'policy/core/common/cloud/cloud_policy_client_unittest.cc',
402 'policy/core/common/cloud/cloud_policy_core_unittest.cc',
403 'policy/core/common/cloud/cloud_policy_manager_unittest.cc',
404 'policy/core/common/cloud/cloud_policy_refresh_scheduler_unittest.cc',
405 'policy/core/common/cloud/cloud_policy_service_unittest.cc',
406 'policy/core/common/cloud/cloud_policy_validator_unittest.cc',
407 'policy/core/common/cloud/component_cloud_policy_service_unittest.cc',
408 'policy/core/common/cloud/component_cloud_policy_store_unittest.cc',
409 'policy/core/common/cloud/component_cloud_policy_updater_unittest.cc',
410 'policy/core/common/cloud/device_management_service_unittest.cc',
411 'policy/core/common/cloud/external_policy_data_fetcher_unittest.cc',
412 'policy/core/common/cloud/external_policy_data_updater_unittest.cc',
413 'policy/core/common/cloud/policy_header_io_helper_unittest.cc',
414 'policy/core/common/cloud/policy_header_service_unittest.cc',
415 'policy/core/common/cloud/rate_limiter_unittest.cc',
416 'policy/core/common/cloud/resource_cache_unittest.cc',
417 'policy/core/common/cloud/user_cloud_policy_manager_unittest.cc',
418 'policy/core/common/cloud/user_cloud_policy_store_unittest.cc',
419 'policy/core/common/cloud/user_info_fetcher_unittest.cc',
420 'policy/core/common/config_dir_policy_loader_unittest.cc',
421 'policy/core/common/forwarding_policy_provider_unittest.cc',
422 'policy/core/common/generate_policy_source_unittest.cc',
423 'policy/core/common/policy_bundle_unittest.cc',
424 'policy/core/common/policy_loader_ios_unittest.mm',
425 'policy/core/common/policy_loader_mac_unittest.cc',
426 'policy/core/common/policy_loader_win_unittest.cc',
427 'policy/core/common/policy_map_unittest.cc',
428 'policy/core/common/policy_provider_android_unittest.cc',
429 'policy/core/common/policy_service_impl_unittest.cc',
430 'policy/core/common/policy_statistics_collector_unittest.cc',
431 'policy/core/common/preg_parser_win_unittest.cc',
432 'policy/core/common/registry_dict_win_unittest.cc',
433 'policy/core/common/schema_map_unittest.cc',
434 'policy/core/common/schema_registry_unittest.cc',
435 'policy/core/common/schema_unittest.cc',
440 ['exclude', '^policy/core/common/async_policy_provider_unittest\\.cc'],
443 ['OS=="android" or OS=="ios"', {
444 # Note: 'sources!' is processed before any 'sources/', so the
445 # ['include', '^policy/'] on iOS above will include all of the
446 # policy source files again. Using 'source/' here too will get
447 # these files excluded as expected.
449 ['exclude', '^policy/core/common/cloud/component_cloud_policy_service_unittest\\.cc'],
450 ['exclude', '^policy/core/common/cloud/component_cloud_policy_store_unittest\\.cc'],
451 ['exclude', '^policy/core/common/cloud/component_cloud_policy_updater_unittest\\.cc'],
452 ['exclude', '^policy/core/common/cloud/external_policy_data_fetcher_unittest\\.cc'],
453 ['exclude', '^policy/core/common/cloud/external_policy_data_updater_unittest\\.cc'],
454 ['exclude', '^policy/core/common/cloud/resource_cache_unittest\\.cc'],
455 ['exclude', '^policy/core/common/config_dir_policy_loader_unittest\\.cc'],
460 'policy/core/common/proxy_policy_provider_unittest.cc',
463 'policy/core/common/cloud/user_cloud_policy_manager_unittest.cc',
464 'policy/core/common/cloud/user_cloud_policy_store_unittest.cc',
467 ['OS=="ios" or OS=="mac"', {
469 'policy/core/common/mac_util_unittest.cc',
475 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
476 'msvs_disabled_warnings': [4267, ],
480 ['OS != "ios" and android_webview_build == 0', {
483 'target_name': 'components_perftests',
484 'type': '<(gtest_target_type)',
486 '../base/base.gyp:base',
487 '../base/base.gyp:test_support_perf',
488 '../content/content_shell_and_tests.gyp:test_support_content',
489 '../testing/gtest.gyp:gtest',
490 'components.gyp:visitedlink_browser',
496 'visitedlink/test/visitedlink_perftest.cc',
499 ['OS == "android" and gtest_target_type == "shared_library"', {
501 '../testing/android/native_test.gyp:native_test_native_code',
505 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
506 'msvs_disabled_warnings': [ 4267, ],
510 ['OS == "android" and gtest_target_type == "shared_library"', {
513 'target_name': 'components_unittests_apk',
516 'components_unittests',
519 'test_suite_name': 'components_unittests',
520 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)components_unittests<(SHARED_LIB_SUFFIX)',
522 'includes': [ '../build/apk_test.gypi' ],
531 'target_name': 'components_browsertests',
532 'type': '<(gtest_target_type)',
533 'defines!': ['CONTENT_IMPLEMENTATION'],
535 'components.gyp:dom_distiller_content',
536 'components.gyp:dom_distiller_core',
537 'components_resources.gyp:components_resources',
538 '../content/content.gyp:content_common',
539 '../content/content.gyp:content_gpu',
540 '../content/content.gyp:content_plugin',
541 '../content/content.gyp:content_renderer',
542 '../content/content_resources.gyp:content_resources',
543 '../content/content_shell_and_tests.gyp:content_browser_test_support',
544 '../content/content_shell_and_tests.gyp:content_shell_lib',
545 '../content/content_shell_and_tests.gyp:content_shell_pak',
546 '../content/content_shell_and_tests.gyp:test_support_content',
547 '../skia/skia.gyp:skia',
548 '../testing/gtest.gyp:gtest',
554 'HAS_OUT_OF_PROC_TEST_RUNNER',
557 'dom_distiller/content/distiller_page_web_contents_browsertest.cc',
559 # content_extractor is a standalone content extraction tool built as
560 # a MANUAL component_browsertest.
561 'dom_distiller/standalone/content_extractor.cc',
565 'action_name': 'repack_components_pack',
568 '<(SHARED_INTERMEDIATE_DIR)/components/component_resources.pak',
569 '<(SHARED_INTERMEDIATE_DIR)/components/strings/component_strings_en-US.pak',
571 'pak_output': '<(PRODUCT_DIR)/components_resources.pak',
573 'includes': [ '../build/repack_action.gypi' ],
578 'resource_include_dirs': [
579 '<(SHARED_INTERMEDIATE_DIR)/webkit',
582 '../content/shell/app/resource.h',
583 '../content/shell/app/shell.rc',
584 # TODO: It would be nice to have these pulled in
585 # automatically from direct_dependent_settings in
586 # their various targets (net.gyp:net_resources, etc.),
587 # but that causes errors in other targets when
588 # resulting .res files get referenced multiple times.
589 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
590 '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.rc',
591 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
594 '<(DEPTH)/net/net.gyp:net_resources',
595 '<(DEPTH)/third_party/iaccessible2/iaccessible2.gyp:iaccessible2',
596 '<(DEPTH)/third_party/isimpledom/isimpledom.gyp:isimpledom',
597 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_strings',
598 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
604 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
609 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
610 'msvs_disabled_warnings': [ 4267, ],
612 ['OS=="win" and win_use_allocator_shim==1', {
614 '../base/allocator/allocator.gyp:allocator',