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 # 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). 10 'chromium_code': 1, 11 }, 12 'conditions': [ 13 ['android_webview_build == 0', { 14 'targets': [ 15 { 16 'target_name': 'components_unittests', 17 'type': '<(gtest_target_type)', 18 'sources': [ 19 'auto_login_parser/auto_login_parser_unittest.cc', 20 'autofill/core/browser/webdata/autofill_entry_unittest.cc', 21 'autofill/core/browser/webdata/web_data_service_unittest.cc', 22 'autofill/core/common/form_data_unittest.cc', 23 'autofill/core/common/form_field_data_unittest.cc', 24 'autofill/core/common/password_form_fill_data_unittest.cc', 25 'browser_context_keyed_service/browser_context_dependency_manager_unittest.cc', 26 'browser_context_keyed_service/dependency_graph_unittest.cc', 27 'dom_distiller/core/article_entry_unittest.cc', 28 'dom_distiller/core/distiller_unittest.cc', 29 'dom_distiller/core/distiller_url_fetcher_unittest.cc', 30 'dom_distiller/core/dom_distiller_database_unittest.cc', 31 'dom_distiller/core/dom_distiller_model_unittest.cc', 32 'dom_distiller/core/dom_distiller_service_unittest.cc', 33 'dom_distiller/core/dom_distiller_store_unittest.cc', 34 'dom_distiller/core/dom_distiller_test_util.cc', 35 'dom_distiller/core/dom_distiller_test_util.h', 36 'dom_distiller/core/fake_db.cc', 37 'dom_distiller/core/fake_db.h', 38 'dom_distiller/core/fake_distiller.cc', 39 'dom_distiller/core/fake_distiller.h', 40 'dom_distiller/core/task_tracker_unittest.cc', 41 'json_schema/json_schema_validator_unittest.cc', 42 'json_schema/json_schema_validator_unittest_base.cc', 43 'json_schema/json_schema_validator_unittest_base.h', 44 'navigation_interception/intercept_navigation_resource_throttle_unittest.cc', 45 'precache/core/precache_database_unittest.cc', 46 'precache/core/precache_fetcher_unittest.cc', 47 'precache/core/precache_url_table_unittest.cc', 48 'sessions/serialized_navigation_entry_unittest.cc', 49 'test/run_all_unittests.cc', 50 'translate/common/translate_metrics_unittest.cc', 51 'translate/common/translate_util_unittest.cc', 52 'translate/language_detection/language_detection_util_unittest.cc', 53 'url_matcher/regex_set_matcher_unittest.cc', 54 'url_matcher/string_pattern_unittest.cc', 55 'url_matcher/substring_set_matcher_unittest.cc', 56 'url_matcher/url_matcher_factory_unittest.cc', 57 'url_matcher/url_matcher_unittest.cc', 58 # TODO(asvitkine): These should be tested on iOS too. 59 'variations/entropy_provider_unittest.cc', 60 'variations/metrics_util_unittest.cc', 61 'variations/variations_associated_data_unittest.cc', 62 'variations/variations_seed_processor_unittest.cc', 63 'visitedlink/test/visitedlink_unittest.cc', 64 'webdata/encryptor/encryptor_password_mac_unittest.cc', 65 'webdata/encryptor/encryptor_unittest.cc', 66 'webdata/encryptor/ie7_password_unittest_win.cc', 67 'web_modal/web_contents_modal_dialog_manager_unittest.cc', 68 ], 69 'include_dirs': [ 70 '..', 71 ], 72 'dependencies': [ 73 '../base/base.gyp:base_prefs_test_support', 74 '../base/base.gyp:test_support_base', 75 # TODO(blundell): Eliminate the need for this dependency in code 76 # that iOS shares. crbug.com/325243 77 '../content/content_shell_and_tests.gyp:test_support_content', 78 '../sync/sync.gyp:sync', 79 '../testing/gmock.gyp:gmock', 80 '../testing/gtest.gyp:gtest', 81 82 # Dependencies of auto_login_parser 83 'components.gyp:auto_login_parser', 84 85 # Dependencies of autofill 86 'components.gyp:autofill_core_browser', 87 'components.gyp:autofill_core_common', 88 'components.gyp:autofill_core_test_support', 89 90 # Dependencies of dom_distiller 91 'components.gyp:distilled_page_proto', 92 'components.gyp:dom_distiller_core', 93 94 # Dependencies of encryptor 95 'components.gyp:encryptor', 96 97 # Dependencies of json_schema 98 'components.gyp:json_schema', 99 100 # Dependencies of precache 101 'components.gyp:precache_core', 102 103 # Dependencies of translate. 104 'components.gyp:translate_common', 105 'components.gyp:translate_language_detection', 106 107 # Dependencies of variations 108 'components.gyp:variations', 109 ], 110 'conditions': [ 111 ['OS != "ios"', { 112 'dependencies': [ 113 # Dependencies of browser_context_keyed_service 114 'components.gyp:browser_context_keyed_service', 115 116 # Dependencies of 117 # intercept_navigation_resource_throttle_unittest.cc 118 '../skia/skia.gyp:skia', 119 'components.gyp:navigation_interception', 120 121 # Dependencies of sessions 122 '../third_party/protobuf/protobuf.gyp:protobuf_lite', 123 'components.gyp:sessions', 124 'components.gyp:sessions_test_support', 125 126 # Dependencies of url_matcher. 127 'components.gyp:url_matcher', 128 129 # Dependencies of visitedlink 130 'components.gyp:visitedlink_browser', 131 'components.gyp:visitedlink_renderer', 132 '../content/content_resources.gyp:content_resources', 133 134 # Dependencies of web_modal 135 'components.gyp:web_modal', 136 'components.gyp:web_modal_test_support', 137 ], 138 }, { # 'OS == "ios"' 139 'sources/': [ 140 ['exclude', '\\.cc$'], 141 ['include', '^test/run_all_unittests\\.cc$'], 142 # TODO(ios): Include files here as they are made to work, see 143 # http://crbug.com/303011. 144 # TODO(asvitkine): Bring up variations/ unittests on iOS. 145 # TODO(blundell): Bring up json_schema/ unittests on iOS. 146 ['include', '^auto_login_parser/'], 147 ['include', '^autofill/'], 148 ['include', '^dom_distiller/'], 149 ['include', '^precache/'], 150 ['include', '^translate/'], 151 ], 152 }], 153 ['disable_nacl==0', { 154 'sources': [ 155 'nacl/browser/nacl_file_host_unittest.cc', 156 'nacl/browser/nacl_process_host_unittest.cc', 157 'nacl/browser/nacl_validation_cache_unittest.cc', 158 'nacl/browser/pnacl_host_unittest.cc', 159 'nacl/browser/pnacl_translation_cache_unittest.cc', 160 'nacl/browser/test_nacl_browser_delegate.cc', 161 ], 162 'dependencies': [ 163 'nacl.gyp:nacl_browser', 164 'nacl.gyp:nacl_common', 165 ], 166 }], 167 ['OS == "mac"', { 168 'link_settings': { 169 'libraries': [ 170 '$(SDKROOT)/System/Library/Frameworks/AddressBook.framework', 171 ], 172 }, 173 }], 174 ['OS == "android"', { 175 'sources!': [ 176 'web_modal/web_contents_modal_dialog_manager_unittest.cc', 177 ], 178 'dependencies!': [ 179 'components.gyp:web_modal', 180 'components.gyp:web_modal_test_support', 181 ], 182 }], 183 ['OS == "android" and gtest_target_type == "shared_library"', { 184 'dependencies': [ 185 '../testing/android/native_test.gyp:native_test_native_code', 186 ] 187 }], 188 ['OS=="win" and win_use_allocator_shim==1', { 189 'dependencies': [ 190 '../base/allocator/allocator.gyp:allocator', 191 ], 192 }], 193 ['OS=="linux" and component=="shared_library" and linux_use_tcmalloc==1', { 194 'dependencies': [ 195 '<(DEPTH)/base/allocator/allocator.gyp:allocator', 196 ], 197 'link_settings': { 198 'ldflags': ['-rdynamic'], 199 }, 200 }], 201 ['configuration_policy==1', { 202 'dependencies': [ 203 'components.gyp:policy_component', 204 'components.gyp:policy_component_test_support', 205 'components.gyp:policy_test_support', 206 ], 207 'sources': [ 208 'policy/core/common/async_policy_provider_unittest.cc', 209 'policy/core/common/cloud/cloud_policy_client_unittest.cc', 210 'policy/core/common/cloud/cloud_policy_core_unittest.cc', 211 'policy/core/common/cloud/cloud_policy_manager_unittest.cc', 212 'policy/core/common/cloud/cloud_policy_refresh_scheduler_unittest.cc', 213 'policy/core/common/cloud/cloud_policy_service_unittest.cc', 214 'policy/core/common/cloud/cloud_policy_validator_unittest.cc', 215 'policy/core/common/cloud/component_cloud_policy_service_unittest.cc', 216 'policy/core/common/cloud/component_cloud_policy_store_unittest.cc', 217 'policy/core/common/cloud/component_cloud_policy_updater_unittest.cc', 218 'policy/core/common/cloud/device_management_service_unittest.cc', 219 'policy/core/common/cloud/external_policy_data_fetcher_unittest.cc', 220 'policy/core/common/cloud/external_policy_data_updater_unittest.cc', 221 'policy/core/common/cloud/policy_header_io_helper_unittest.cc', 222 'policy/core/common/cloud/policy_header_service_unittest.cc', 223 'policy/core/common/cloud/rate_limiter_unittest.cc', 224 'policy/core/common/cloud/resource_cache_unittest.cc', 225 'policy/core/common/cloud/user_cloud_policy_manager_unittest.cc', 226 'policy/core/common/cloud/user_cloud_policy_store_unittest.cc', 227 'policy/core/common/cloud/user_info_fetcher_unittest.cc', 228 'policy/core/common/config_dir_policy_loader_unittest.cc', 229 'policy/core/common/forwarding_policy_provider_unittest.cc', 230 'policy/core/common/generate_policy_source_unittest.cc', 231 'policy/core/common/policy_bundle_unittest.cc', 232 'policy/core/common/policy_loader_mac_unittest.cc', 233 'policy/core/common/policy_loader_win_unittest.cc', 234 'policy/core/common/policy_map_unittest.cc', 235 'policy/core/common/policy_service_impl_unittest.cc', 236 'policy/core/common/policy_statistics_collector_unittest.cc', 237 'policy/core/common/preg_parser_win_unittest.cc', 238 'policy/core/common/registry_dict_win_unittest.cc', 239 'policy/core/common/schema_map_unittest.cc', 240 'policy/core/common/schema_registry_unittest.cc', 241 'policy/core/common/schema_unittest.cc', 242 ], 243 'conditions': [ 244 ['OS=="android"', { 245 'sources!': [ 246 'policy/core/common/async_policy_provider_unittest.cc', 247 'policy/core/common/cloud/component_cloud_policy_service_unittest.cc', 248 'policy/core/common/cloud/component_cloud_policy_store_unittest.cc', 249 'policy/core/common/cloud/component_cloud_policy_updater_unittest.cc', 250 'policy/core/common/cloud/external_policy_data_fetcher_unittest.cc', 251 'policy/core/common/cloud/external_policy_data_updater_unittest.cc', 252 'policy/core/common/cloud/resource_cache_unittest.cc', 253 'policy/core/common/config_dir_policy_loader_unittest.cc', 254 ], 255 }], 256 ['chromeos==1', { 257 'sources!': [ 258 'policy/core/common/cloud/user_cloud_policy_manager_unittest.cc', 259 'policy/core/common/cloud/user_cloud_policy_store_unittest.cc', 260 ], 261 }], 262 ], 263 }], 264 ], 265 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 266 'msvs_disabled_warnings': [4267, ], 267 }, 268 ], 269 }], 270 ['OS != "ios" and android_webview_build == 0', { 271 'targets': [ 272 { 273 'target_name': 'components_perftests', 274 'type': '<(gtest_target_type)', 275 'dependencies': [ 276 '../base/base.gyp:base', 277 '../base/base.gyp:test_support_perf', 278 '../content/content_shell_and_tests.gyp:test_support_content', 279 '../testing/gtest.gyp:gtest', 280 '../ui/compositor/compositor.gyp:compositor', 281 'components.gyp:visitedlink_browser', 282 ], 283 'include_dirs': [ 284 '..', 285 ], 286 'sources': [ 287 'visitedlink/test/visitedlink_perftest.cc', 288 ], 289 'conditions': [ 290 ['OS == "android" and gtest_target_type == "shared_library"', { 291 'dependencies': [ 292 '../testing/android/native_test.gyp:native_test_native_code', 293 ], 294 }], 295 ], 296 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 297 'msvs_disabled_warnings': [ 4267, ], 298 }, 299 ], 300 'conditions': [ 301 ['OS == "android" and gtest_target_type == "shared_library"', { 302 'targets': [ 303 { 304 'target_name': 'components_unittests_apk', 305 'type': 'none', 306 'dependencies': [ 307 'components_unittests', 308 ], 309 'variables': { 310 'test_suite_name': 'components_unittests', 311 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)components_unittests<(SHARED_LIB_SUFFIX)', 312 }, 313 'includes': [ '../build/apk_test.gypi' ], 314 }, 315 ], 316 }], 317 ], 318 }], 319 ['OS!="ios"', { 320 'targets': [ 321 { 322 'target_name': 'components_browsertests', 323 'type': '<(gtest_target_type)', 324 'defines!': ['CONTENT_IMPLEMENTATION'], 325 'dependencies': [ 326 '../content/content_shell_and_tests.gyp:content_browser_test_support', 327 '../content/content_shell_and_tests.gyp:test_support_content', 328 '../skia/skia.gyp:skia', 329 '../testing/gtest.gyp:gtest', 330 'components.gyp:dom_distiller_content', 331 'components.gyp:dom_distiller_core', 332 ], 333 'include_dirs': [ 334 '..', 335 ], 336 'defines': [ 337 'HAS_OUT_OF_PROC_TEST_RUNNER', 338 ], 339 'sources': [ 340 '../content/test/content_test_launcher.cc', 341 'dom_distiller/content/distiller_page_web_contents_browsertest.cc', 342 ], 343 'conditions': [ 344 ['OS=="win"', { 345 'resource_include_dirs': [ 346 '<(SHARED_INTERMEDIATE_DIR)/webkit', 347 ], 348 'sources': [ 349 '../content/shell/app/resource.h', 350 '../content/shell/app/shell.rc', 351 # TODO: It would be nice to have these pulled in 352 # automatically from direct_dependent_settings in 353 # their various targets (net.gyp:net_resources, etc.), 354 # but that causes errors in other targets when 355 # resulting .res files get referenced multiple times. 356 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc', 357 '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.rc', 358 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc', 359 ], 360 'dependencies': [ 361 '<(DEPTH)/net/net.gyp:net_resources', 362 '<(DEPTH)/third_party/iaccessible2/iaccessible2.gyp:iaccessible2', 363 '<(DEPTH)/third_party/isimpledom/isimpledom.gyp:isimpledom', 364 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_strings', 365 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources', 366 ], 367 'configurations': { 368 'Debug_Base': { 369 'msvs_settings': { 370 'VCLinkerTool': { 371 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', 372 }, 373 }, 374 }, 375 }, 376 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 377 'msvs_disabled_warnings': [ 4267, ], 378 }], 379 ['OS=="win" and win_use_allocator_shim==1', { 380 'dependencies': [ 381 '../base/allocator/allocator.gyp:allocator', 382 ], 383 }], 384 ], 385 }, 386 ], 387 }], 388 ], 389 } 390