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 '../build/win_precompile.gypi', 11 'base.gypi', 12 ], 13 'targets': [ 14 { 15 'target_name': 'base', 16 'type': '<(component)', 17 'toolsets': ['host', 'target'], 18 'variables': { 19 'base_target': 1, 20 'enable_wexit_time_destructors': 1, 21 'optimize': 'max', 22 }, 23 'dependencies': [ 24 'base_static', 25 'allocator/allocator.gyp:allocator_extension_thunks', 26 '../testing/gtest.gyp:gtest_prod', 27 '../third_party/modp_b64/modp_b64.gyp:modp_b64', 28 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 29 ], 30 # TODO(gregoryd): direct_dependent_settings should be shared with the 31 # 64-bit target, but it doesn't work due to a bug in gyp 32 'direct_dependent_settings': { 33 'include_dirs': [ 34 '..', 35 ], 36 }, 37 'conditions': [ 38 ['desktop_linux == 1 or chromeos == 1', { 39 'conditions': [ 40 ['chromeos==1', { 41 'sources/': [ ['include', '_chromeos\\.cc$'] ] 42 }], 43 ['toolkit_uses_gtk==1', { 44 'dependencies': [ 45 '../build/linux/system.gyp:gtk', 46 ], 47 'export_dependent_settings': [ 48 '../build/linux/system.gyp:gtk', 49 ], 50 }], 51 ], 52 'dependencies': [ 53 'symbolize', 54 'xdg_mime', 55 ], 56 'defines': [ 57 'USE_SYMBOLIZE', 58 ], 59 'cflags': [ 60 '-Wno-write-strings', 61 ], 62 }, { # desktop_linux == 0 and chromeos == 0 63 'sources/': [ 64 ['exclude', '/xdg_user_dirs/'], 65 ['exclude', '_nss\\.cc$'], 66 ], 67 }], 68 ['use_glib==1', { 69 'dependencies': [ 70 '../build/linux/system.gyp:glib', 71 ], 72 'export_dependent_settings': [ 73 '../build/linux/system.gyp:glib', 74 ], 75 }], 76 ['use_x11==1', { 77 'dependencies': [ 78 '../build/linux/system.gyp:x11', 79 ], 80 'export_dependent_settings': [ 81 '../build/linux/system.gyp:x11', 82 ], 83 }], 84 ['use_aura==1 and use_x11==1', { 85 'dependencies': [ 86 '../build/linux/system.gyp:xrandr', 87 ], 88 'export_dependent_settings': [ 89 '../build/linux/system.gyp:xrandr', 90 ], 91 }], 92 ['OS == "android" and _toolset == "host"', { 93 # Always build base as a static_library for host toolset, even if 94 # we're doing a component build. Specifically, we only care about the 95 # target toolset using components since that's what developers are 96 # focusing on. In theory we should do this more generally for all 97 # targets when building for host, but getting the gyp magic 98 # per-toolset for the "component" variable is hard, and we really only 99 # need base on host. 100 'type': 'static_library', 101 # Base for host support is the minimum required to run the 102 # ssl false start blacklist tool. It requires further changes 103 # to generically support host builds (and tests). 104 # Note: when building for host, gyp has OS == "android", 105 # hence the *_android.cc files are included but the actual code 106 # doesn't have OS_ANDROID / ANDROID defined. 107 'conditions': [ 108 # Host build on linux depends on system.gyp::gtk as 109 # default linux build has TOOLKIT_GTK defined. 110 ['host_os == "linux"', { 111 'sources/': [ 112 ['include', '^atomicops_internals_x86_gcc\\.cc$'], 113 ], 114 'dependencies': [ 115 '../build/linux/system.gyp:gtk', 116 ], 117 'export_dependent_settings': [ 118 '../build/linux/system.gyp:gtk', 119 ], 120 }], 121 ['host_os == "mac"', { 122 'sources/': [ 123 ['exclude', '^native_library_linux\\.cc$'], 124 ['exclude', '^process_util_linux\\.cc$'], 125 ['exclude', '^sys_info_linux\\.cc$'], 126 ['exclude', '^sys_string_conversions_linux\\.cc$'], 127 ['exclude', '^worker_pool_linux\\.cc$'], 128 ], 129 }], 130 ], 131 }], 132 ['OS == "android" and _toolset == "target"', { 133 'conditions': [ 134 ['target_arch == "ia32"', { 135 'sources/': [ 136 ['include', '^atomicops_internals_x86_gcc\\.cc$'], 137 ], 138 }], 139 ['target_arch == "mipsel"', { 140 'sources/': [ 141 ['include', '^atomicops_internals_mips_gcc\\.cc$'], 142 ], 143 }], 144 ], 145 'dependencies': [ 146 'base_jni_headers', 147 '../third_party/ashmem/ashmem.gyp:ashmem', 148 ], 149 'include_dirs': [ 150 '<(SHARED_INTERMEDIATE_DIR)/base', 151 ], 152 'link_settings': { 153 'libraries': [ 154 '-llog', 155 ], 156 }, 157 'sources!': [ 158 'debug/stack_trace_posix.cc', 159 ], 160 'includes': [ 161 '../build/android/cpufeatures.gypi', 162 ], 163 }], 164 ['OS == "android" and _toolset == "target" and android_webview_build == 0', { 165 'dependencies': [ 166 'base_java', 167 ], 168 }], 169 ['os_bsd==1', { 170 'include_dirs': [ 171 '/usr/local/include', 172 ], 173 'link_settings': { 174 'libraries': [ 175 '-L/usr/local/lib -lexecinfo', 176 ], 177 }, 178 }], 179 ['OS == "linux"', { 180 'link_settings': { 181 'libraries': [ 182 # We need rt for clock_gettime(). 183 '-lrt', 184 # For 'native_library_linux.cc' 185 '-ldl', 186 ], 187 }, 188 'conditions': [ 189 ['linux_use_tcmalloc==0', { 190 'defines': [ 191 'NO_TCMALLOC', 192 ], 193 'direct_dependent_settings': { 194 'defines': [ 195 'NO_TCMALLOC', 196 ], 197 }, 198 }], 199 ], 200 }], 201 ['OS == "mac" or (OS == "ios" and _toolset == "host")', { 202 'link_settings': { 203 'libraries': [ 204 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', 205 '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework', 206 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', 207 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', 208 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', 209 '$(SDKROOT)/System/Library/Frameworks/IOKit.framework', 210 '$(SDKROOT)/System/Library/Frameworks/Security.framework', 211 ], 212 }, 213 'dependencies': [ 214 '../third_party/mach_override/mach_override.gyp:mach_override', 215 ], 216 }], 217 ['OS == "ios" and _toolset != "host"', { 218 'link_settings': { 219 'libraries': [ 220 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', 221 '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework', 222 '$(SDKROOT)/System/Library/Frameworks/CoreText.framework', 223 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', 224 '$(SDKROOT)/System/Library/Frameworks/UIKit.framework', 225 ], 226 }, 227 }], 228 ['OS != "win" and OS != "ios"', { 229 'dependencies': ['../third_party/libevent/libevent.gyp:libevent'], 230 },], 231 ['component=="shared_library"', { 232 'conditions': [ 233 ['OS=="win"', { 234 'sources!': [ 235 'debug/debug_on_start_win.cc', 236 ], 237 }], 238 ], 239 }], 240 ['use_system_nspr==1', { 241 'dependencies': [ 242 'third_party/nspr/nspr.gyp:nspr', 243 ], 244 }], 245 ], 246 'sources': [ 247 'third_party/nspr/prcpucfg.h', 248 'third_party/nspr/prcpucfg_win.h', 249 'third_party/nspr/prtypes.h', 250 'third_party/xdg_user_dirs/xdg_user_dir_lookup.cc', 251 'third_party/xdg_user_dirs/xdg_user_dir_lookup.h', 252 'async_socket_io_handler.h', 253 'async_socket_io_handler_posix.cc', 254 'async_socket_io_handler_win.cc', 255 'auto_reset.h', 256 'event_recorder.h', 257 'event_recorder_stubs.cc', 258 'event_recorder_win.cc', 259 'linux_util.cc', 260 'linux_util.h', 261 'md5.cc', 262 'md5.h', 263 'message_loop/message_pump_android.cc', 264 'message_loop/message_pump_android.h', 265 'message_loop/message_pump_glib.cc', 266 'message_loop/message_pump_glib.h', 267 'message_loop/message_pump_gtk.cc', 268 'message_loop/message_pump_gtk.h', 269 'message_loop/message_pump_io_ios.cc', 270 'message_loop/message_pump_io_ios.h', 271 'message_loop/message_pump_observer.h', 272 'message_loop/message_pump_libevent.cc', 273 'message_loop/message_pump_libevent.h', 274 'message_loop/message_pump_mac.h', 275 'message_loop/message_pump_mac.mm', 276 'message_loop/message_pump_x11.cc', 277 'message_loop/message_pump_x11.h', 278 'metrics/field_trial.cc', 279 'metrics/field_trial.h', 280 'posix/file_descriptor_shuffle.cc', 281 'posix/file_descriptor_shuffle.h', 282 'sync_socket.h', 283 'sync_socket_win.cc', 284 'sync_socket_posix.cc', 285 ], 286 }, 287 { 288 'target_name': 'base_i18n', 289 'type': '<(component)', 290 'variables': { 291 'enable_wexit_time_destructors': 1, 292 'optimize': 'max', 293 }, 294 'dependencies': [ 295 'base', 296 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 297 '../third_party/icu/icu.gyp:icui18n', 298 '../third_party/icu/icu.gyp:icuuc', 299 ], 300 'conditions': [ 301 ['toolkit_uses_gtk==1', { 302 'dependencies': [ 303 # i18n/rtl.cc uses gtk 304 '../build/linux/system.gyp:gtk', 305 ], 306 }], 307 ['OS == "win"', { 308 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 309 'msvs_disabled_warnings': [ 310 4267, 311 ], 312 }], 313 ], 314 'export_dependent_settings': [ 315 'base', 316 ], 317 'defines': [ 318 'BASE_I18N_IMPLEMENTATION', 319 ], 320 'sources': [ 321 'i18n/base_i18n_export.h', 322 'i18n/bidi_line_iterator.cc', 323 'i18n/bidi_line_iterator.h', 324 'i18n/break_iterator.cc', 325 'i18n/break_iterator.h', 326 'i18n/char_iterator.cc', 327 'i18n/char_iterator.h', 328 'i18n/case_conversion.cc', 329 'i18n/case_conversion.h', 330 'i18n/file_util_icu.cc', 331 'i18n/file_util_icu.h', 332 'i18n/i18n_constants.cc', 333 'i18n/i18n_constants.h', 334 'i18n/icu_encoding_detection.cc', 335 'i18n/icu_encoding_detection.h', 336 'i18n/icu_string_conversions.cc', 337 'i18n/icu_string_conversions.h', 338 'i18n/icu_util.cc', 339 'i18n/icu_util.h', 340 'i18n/number_formatting.cc', 341 'i18n/number_formatting.h', 342 'i18n/rtl.cc', 343 'i18n/rtl.h', 344 'i18n/string_compare.cc', 345 'i18n/string_compare.h', 346 'i18n/string_search.cc', 347 'i18n/string_search.h', 348 'i18n/time_formatting.cc', 349 'i18n/time_formatting.h', 350 'i18n/timezone.cc', 351 'i18n/timezone.h', 352 ], 353 }, 354 { 355 'target_name': 'base_message_loop_tests', 356 'type': 'static_library', 357 'dependencies': [ 358 'base', 359 '../testing/gtest.gyp:gtest', 360 ], 361 'sources': [ 362 'message_loop/message_loop_test.cc', 363 'message_loop/message_loop_test.h', 364 ], 365 }, 366 { 367 'target_name': 'base_prefs', 368 'type': '<(component)', 369 'variables': { 370 'enable_wexit_time_destructors': 1, 371 'optimize': 'max', 372 }, 373 'dependencies': [ 374 'base', 375 ], 376 'export_dependent_settings': [ 377 'base', 378 ], 379 'defines': [ 380 'BASE_PREFS_IMPLEMENTATION', 381 ], 382 'sources': [ 383 'prefs/base_prefs_export.h', 384 'prefs/default_pref_store.cc', 385 'prefs/default_pref_store.h', 386 'prefs/json_pref_store.cc', 387 'prefs/json_pref_store.h', 388 'prefs/overlay_user_pref_store.cc', 389 'prefs/overlay_user_pref_store.h', 390 'prefs/persistent_pref_store.h', 391 'prefs/pref_change_registrar.cc', 392 'prefs/pref_change_registrar.h', 393 'prefs/pref_member.cc', 394 'prefs/pref_member.h', 395 'prefs/pref_notifier.h', 396 'prefs/pref_notifier_impl.cc', 397 'prefs/pref_notifier_impl.h', 398 'prefs/pref_observer.h', 399 'prefs/pref_registry.cc', 400 'prefs/pref_registry.h', 401 'prefs/pref_registry_simple.cc', 402 'prefs/pref_registry_simple.h', 403 'prefs/pref_service.cc', 404 'prefs/pref_service.h', 405 'prefs/pref_service_factory.cc', 406 'prefs/pref_service_factory.h', 407 'prefs/pref_store.cc', 408 'prefs/pref_store.h', 409 'prefs/pref_value_map.cc', 410 'prefs/pref_value_map.h', 411 'prefs/pref_value_store.cc', 412 'prefs/pref_value_store.h', 413 'prefs/scoped_user_pref_update.cc', 414 'prefs/scoped_user_pref_update.h', 415 'prefs/value_map_pref_store.cc', 416 'prefs/value_map_pref_store.h', 417 ], 418 }, 419 { 420 'target_name': 'base_prefs_test_support', 421 'type': 'static_library', 422 'dependencies': [ 423 'base', 424 'base_prefs', 425 '../testing/gmock.gyp:gmock', 426 ], 427 'sources': [ 428 'prefs/mock_pref_change_callback.cc', 429 'prefs/pref_store_observer_mock.cc', 430 'prefs/pref_store_observer_mock.h', 431 'prefs/testing_pref_service.cc', 432 'prefs/testing_pref_service.h', 433 'prefs/testing_pref_store.cc', 434 'prefs/testing_pref_store.h', 435 ], 436 }, 437 { 438 # This is the subset of files from base that should not be used with a 439 # dynamic library. Note that this library cannot depend on base because 440 # base depends on base_static. 441 'target_name': 'base_static', 442 'type': 'static_library', 443 'variables': { 444 'enable_wexit_time_destructors': 1, 445 'optimize': 'max', 446 }, 447 'toolsets': ['host', 'target'], 448 'sources': [ 449 'base_switches.cc', 450 'base_switches.h', 451 'win/pe_image.cc', 452 'win/pe_image.h', 453 ], 454 'include_dirs': [ 455 '..', 456 ], 457 }, 458 # Include this target for a main() function that simply instantiates 459 # and runs a base::TestSuite. 460 { 461 'target_name': 'run_all_unittests', 462 'type': 'static_library', 463 'dependencies': [ 464 'test_support_base', 465 ], 466 'sources': [ 467 'test/run_all_unittests.cc', 468 ], 469 }, 470 { 471 'target_name': 'base_unittests', 472 'type': '<(gtest_target_type)', 473 'sources': [ 474 # Tests. 475 'android/activity_status_unittest.cc', 476 'android/jni_android_unittest.cc', 477 'android/jni_array_unittest.cc', 478 'android/jni_string_unittest.cc', 479 'android/path_utils_unittest.cc', 480 'android/scoped_java_ref_unittest.cc', 481 'android/sys_utils_unittest.cc', 482 'async_socket_io_handler_unittest.cc', 483 'at_exit_unittest.cc', 484 'atomicops_unittest.cc', 485 'barrier_closure_unittest.cc', 486 'base64_unittest.cc', 487 'bind_unittest.cc', 488 'bind_unittest.nc', 489 'bits_unittest.cc', 490 'build_time_unittest.cc', 491 'callback_helpers_unittest.cc', 492 'callback_list_unittest.cc', 493 'callback_list_unittest.nc', 494 'callback_unittest.cc', 495 'callback_unittest.nc', 496 'cancelable_callback_unittest.cc', 497 'command_line_unittest.cc', 498 'containers/hash_tables_unittest.cc', 499 'containers/linked_list_unittest.cc', 500 'containers/mru_cache_unittest.cc', 501 'containers/small_map_unittest.cc', 502 'containers/stack_container_unittest.cc', 503 'cpu_unittest.cc', 504 'debug/crash_logging_unittest.cc', 505 'debug/leak_tracker_unittest.cc', 506 'debug/proc_maps_linux_unittest.cc', 507 'debug/stack_trace_unittest.cc', 508 'debug/trace_event_memory_unittest.cc', 509 'debug/trace_event_system_stats_monitor_unittest.cc', 510 'debug/trace_event_unittest.cc', 511 'debug/trace_event_unittest.h', 512 'debug/trace_event_win_unittest.cc', 513 'deferred_sequenced_task_runner_unittest.cc', 514 'environment_unittest.cc', 515 'file_util_unittest.cc', 516 'file_version_info_unittest.cc', 517 'files/dir_reader_posix_unittest.cc', 518 'files/file_path_unittest.cc', 519 'files/file_unittest.cc', 520 'files/file_util_proxy_unittest.cc', 521 'files/important_file_writer_unittest.cc', 522 'files/scoped_temp_dir_unittest.cc', 523 'gmock_unittest.cc', 524 'guid_unittest.cc', 525 'id_map_unittest.cc', 526 'i18n/break_iterator_unittest.cc', 527 'i18n/char_iterator_unittest.cc', 528 'i18n/case_conversion_unittest.cc', 529 'i18n/file_util_icu_unittest.cc', 530 'i18n/icu_string_conversions_unittest.cc', 531 'i18n/number_formatting_unittest.cc', 532 'i18n/rtl_unittest.cc', 533 'i18n/string_search_unittest.cc', 534 'i18n/time_formatting_unittest.cc', 535 'i18n/timezone_unittest.cc', 536 'ini_parser_unittest.cc', 537 'ios/device_util_unittest.mm', 538 'json/json_parser_unittest.cc', 539 'json/json_reader_unittest.cc', 540 'json/json_value_converter_unittest.cc', 541 'json/json_value_serializer_unittest.cc', 542 'json/json_writer_unittest.cc', 543 'json/string_escape_unittest.cc', 544 'lazy_instance_unittest.cc', 545 'logging_unittest.cc', 546 'mac/bind_objc_block_unittest.mm', 547 'mac/foundation_util_unittest.mm', 548 'mac/libdispatch_task_runner_unittest.cc', 549 'mac/mac_util_unittest.mm', 550 'mac/objc_property_releaser_unittest.mm', 551 'mac/scoped_nsobject_unittest.mm', 552 'mac/scoped_sending_event_unittest.mm', 553 'md5_unittest.cc', 554 'memory/aligned_memory_unittest.cc', 555 'memory/discardable_memory_allocator_android_unittest.cc', 556 'memory/discardable_memory_unittest.cc', 557 'memory/discardable_memory_provider_unittest.cc', 558 'memory/linked_ptr_unittest.cc', 559 'memory/ref_counted_memory_unittest.cc', 560 'memory/ref_counted_unittest.cc', 561 'memory/scoped_ptr_unittest.cc', 562 'memory/scoped_ptr_unittest.nc', 563 'memory/scoped_vector_unittest.cc', 564 'memory/shared_memory_unittest.cc', 565 'memory/singleton_unittest.cc', 566 'memory/weak_ptr_unittest.cc', 567 'memory/weak_ptr_unittest.nc', 568 'message_loop/message_loop_proxy_impl_unittest.cc', 569 'message_loop/message_loop_proxy_unittest.cc', 570 'message_loop/message_loop_unittest.cc', 571 'message_loop/message_pump_glib_unittest.cc', 572 'message_loop/message_pump_io_ios_unittest.cc', 573 'message_loop/message_pump_libevent_unittest.cc', 574 'metrics/sample_map_unittest.cc', 575 'metrics/sample_vector_unittest.cc', 576 'metrics/bucket_ranges_unittest.cc', 577 'metrics/field_trial_unittest.cc', 578 'metrics/histogram_base_unittest.cc', 579 'metrics/histogram_delta_serialization_unittest.cc', 580 'metrics/histogram_unittest.cc', 581 'metrics/sparse_histogram_unittest.cc', 582 'metrics/stats_table_unittest.cc', 583 'metrics/statistics_recorder_unittest.cc', 584 'observer_list_unittest.cc', 585 'os_compat_android_unittest.cc', 586 'path_service_unittest.cc', 587 'pickle_unittest.cc', 588 'platform_file_unittest.cc', 589 'posix/file_descriptor_shuffle_unittest.cc', 590 'posix/unix_domain_socket_linux_unittest.cc', 591 'power_monitor/power_monitor_unittest.cc', 592 'prefs/default_pref_store_unittest.cc', 593 'prefs/json_pref_store_unittest.cc', 594 'prefs/mock_pref_change_callback.h', 595 'prefs/overlay_user_pref_store_unittest.cc', 596 'prefs/pref_change_registrar_unittest.cc', 597 'prefs/pref_member_unittest.cc', 598 'prefs/pref_notifier_impl_unittest.cc', 599 'prefs/pref_service_unittest.cc', 600 'prefs/pref_value_map_unittest.cc', 601 'prefs/pref_value_store_unittest.cc', 602 'prefs/scoped_user_pref_update_unittest.cc', 603 'process/memory_unittest.cc', 604 'process/memory_unittest_mac.h', 605 'process/memory_unittest_mac.mm', 606 'process/process_metrics_unittest.cc', 607 'process/process_metrics_unittest_ios.cc', 608 'process/process_util_unittest.cc', 609 'profiler/tracked_time_unittest.cc', 610 'rand_util_unittest.cc', 611 'safe_numerics_unittest.cc', 612 'safe_numerics_unittest.nc', 613 'scoped_clear_errno_unittest.cc', 614 'scoped_native_library_unittest.cc', 615 'scoped_observer.h', 616 'security_unittest.cc', 617 'sequence_checker_unittest.cc', 618 'sha1_unittest.cc', 619 'stl_util_unittest.cc', 620 'strings/nullable_string16_unittest.cc', 621 'strings/safe_sprintf_unittest.cc', 622 'strings/string16_unittest.cc', 623 'strings/stringprintf_unittest.cc', 624 'strings/string_number_conversions_unittest.cc', 625 'strings/string_piece_unittest.cc', 626 'strings/string_split_unittest.cc', 627 'strings/string_tokenizer_unittest.cc', 628 'strings/string_util_unittest.cc', 629 'strings/stringize_macros_unittest.cc', 630 'strings/sys_string_conversions_mac_unittest.mm', 631 'strings/sys_string_conversions_unittest.cc', 632 'strings/utf_offset_string_conversions_unittest.cc', 633 'strings/utf_string_conversions_unittest.cc', 634 'sync_socket_unittest.cc', 635 'synchronization/cancellation_flag_unittest.cc', 636 'synchronization/condition_variable_unittest.cc', 637 'synchronization/lock_unittest.cc', 638 'synchronization/waitable_event_unittest.cc', 639 'synchronization/waitable_event_watcher_unittest.cc', 640 'sys_info_unittest.cc', 641 'system_monitor/system_monitor_unittest.cc', 642 'task_runner_util_unittest.cc', 643 'template_util_unittest.cc', 644 'test/expectations/expectation_unittest.cc', 645 'test/expectations/parser_unittest.cc', 646 'test/test_reg_util_win_unittest.cc', 647 'test/trace_event_analyzer_unittest.cc', 648 'threading/non_thread_safe_unittest.cc', 649 'threading/platform_thread_unittest.cc', 650 'threading/sequenced_worker_pool_unittest.cc', 651 'threading/simple_thread_unittest.cc', 652 'threading/thread_checker_unittest.cc', 653 'threading/thread_collision_warner_unittest.cc', 654 'threading/thread_id_name_manager_unittest.cc', 655 'threading/thread_local_storage_unittest.cc', 656 'threading/thread_local_unittest.cc', 657 'threading/thread_unittest.cc', 658 'threading/watchdog_unittest.cc', 659 'threading/worker_pool_posix_unittest.cc', 660 'threading/worker_pool_unittest.cc', 661 'time/pr_time_unittest.cc', 662 'time/time_unittest.cc', 663 'time/time_win_unittest.cc', 664 'timer/hi_res_timer_manager_unittest.cc', 665 'timer/timer_unittest.cc', 666 'tools_sanity_unittest.cc', 667 'tracked_objects_unittest.cc', 668 'tuple_unittest.cc', 669 'values_unittest.cc', 670 'version_unittest.cc', 671 'vlog_unittest.cc', 672 'win/dllmain.cc', 673 'win/enum_variant_unittest.cc', 674 'win/event_trace_consumer_unittest.cc', 675 'win/event_trace_controller_unittest.cc', 676 'win/event_trace_provider_unittest.cc', 677 'win/i18n_unittest.cc', 678 'win/iunknown_impl_unittest.cc', 679 'win/message_window_unittest.cc', 680 'win/object_watcher_unittest.cc', 681 'win/pe_image_unittest.cc', 682 'win/registry_unittest.cc', 683 'win/scoped_bstr_unittest.cc', 684 'win/scoped_comptr_unittest.cc', 685 'win/scoped_process_information_unittest.cc', 686 'win/scoped_variant_unittest.cc', 687 'win/shortcut_unittest.cc', 688 'win/startup_information_unittest.cc', 689 'win/win_util_unittest.cc', 690 'win/wrapped_window_proc_unittest.cc', 691 ], 692 'dependencies': [ 693 'base', 694 'base_i18n', 695 'base_message_loop_tests', 696 'base_prefs', 697 'base_prefs_test_support', 698 'base_static', 699 'run_all_unittests', 700 'test_support_base', 701 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 702 '../testing/gmock.gyp:gmock', 703 '../testing/gtest.gyp:gtest', 704 '../third_party/icu/icu.gyp:icui18n', 705 '../third_party/icu/icu.gyp:icuuc', 706 ], 707 'includes': ['../build/nocompile.gypi'], 708 'variables': { 709 # TODO(ajwong): Is there a way to autodetect this? 710 'module_dir': 'base' 711 }, 712 'conditions': [ 713 ['desktop_linux == 1 or chromeos == 1', { 714 'defines': [ 715 'USE_SYMBOLIZE', 716 ], 717 }], 718 ['OS == "android"', { 719 'dependencies': [ 720 'android/jni_generator/jni_generator.gyp:jni_generator_tests', 721 ], 722 'conditions': [ 723 ['gtest_target_type == "shared_library"', { 724 'dependencies': [ 725 '../testing/android/native_test.gyp:native_test_native_code', 726 ], 727 }], 728 ], 729 }], 730 ['OS == "ios" and _toolset != "host"', { 731 'sources/': [ 732 # Only test the iOS-meaningful portion of process_utils. 733 ['exclude', '^process/memory_unittest'], 734 ['exclude', '^process/process_util_unittest\\.cc$'], 735 ['include', '^process/process_util_unittest_ios\\.cc$'], 736 # Requires spawning processes. 737 ['exclude', '^metrics/stats_table_unittest\\.cc$'], 738 # iOS does not use message_pump_libevent. 739 ['exclude', '^message_loop/message_pump_libevent_unittest\\.cc$'], 740 ], 741 'actions': [ 742 { 743 'action_name': 'copy_test_data', 744 'variables': { 745 'test_data_files': [ 746 'test/data', 747 ], 748 'test_data_prefix': 'base', 749 }, 750 'includes': [ '../build/copy_test_data_ios.gypi' ], 751 }, 752 ], 753 }], 754 ['desktop_linux == 1 or chromeos == 1', { 755 'sources!': [ 756 'file_version_info_unittest.cc', 757 ], 758 'conditions': [ 759 [ 'toolkit_uses_gtk==1', { 760 'sources': [ 761 'nix/xdg_util_unittest.cc', 762 ], 763 'dependencies': [ 764 '../build/linux/system.gyp:gtk', 765 ] 766 }], 767 ], 768 'dependencies': [ 769 '../build/linux/system.gyp:ssl', 770 ], 771 }], 772 ['use_x11 == 1', { 773 'dependencies': [ 774 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', 775 ], 776 }], 777 ['use_glib == 1', { 778 'dependencies': [ 779 '../build/linux/system.gyp:glib', 780 ], 781 }, { # use_glib == 0 782 'sources!': [ 783 'message_loop/message_pump_glib_unittest.cc', 784 ] 785 }], 786 ['use_ozone == 1', { 787 'sources!': [ 788 'message_loop/message_pump_glib_unittest.cc', 789 ] 790 }], 791 ['OS == "linux" and linux_use_tcmalloc==1', { 792 'dependencies': [ 793 'allocator/allocator.gyp:allocator', 794 ], 795 }, 796 ], 797 ['OS == "win"', { 798 # This is needed to trigger the dll copy step on windows. 799 # TODO(mark): This should not be necessary. 800 'dependencies': [ 801 '../third_party/icu/icu.gyp:icudata', 802 ], 803 'sources!': [ 804 'file_descriptor_shuffle_unittest.cc', 805 'files/dir_reader_posix_unittest.cc', 806 'threading/worker_pool_posix_unittest.cc', 807 'message_loop/message_pump_libevent_unittest.cc', 808 ], 809 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 810 'msvs_disabled_warnings': [ 811 4267, 812 ], 813 # This is needed so base_unittests uses the allocator shim, as 814 # SecurityTest.MemoryAllocationRestriction* tests are dependent 815 # on tcmalloc. 816 # TODO(wfh): crbug.com/246278 Move tcmalloc specific tests into 817 # their own test suite. 818 'conditions': [ 819 ['win_use_allocator_shim==1', { 820 'dependencies': [ 821 'allocator/allocator.gyp:allocator', 822 ], 823 }], 824 ], 825 }, { # OS != "win" 826 'dependencies': [ 827 '../third_party/libevent/libevent.gyp:libevent' 828 ], 829 'sources/': [ 830 ['exclude', '^win/'], 831 ], 832 'sources!': [ 833 'win/win_util_unittest.cc', 834 ], 835 }], 836 ['use_aura==1 and use_x11==1', { 837 'sources': [ 838 'x11/edid_parser_x11_unittest.cc', 839 ], 840 }], 841 ['use_system_nspr==1', { 842 'dependencies': [ 843 'third_party/nspr/nspr.gyp:nspr', 844 ], 845 }], 846 ], # conditions 847 'target_conditions': [ 848 ['OS == "ios" and _toolset != "host"', { 849 'sources/': [ 850 # Pull in specific Mac files for iOS (which have been filtered out 851 # by file name rules). 852 ['include', '^mac/objc_property_releaser_unittest\\.mm$'], 853 ['include', '^mac/bind_objc_block_unittest\\.mm$'], 854 ['include', '^mac/scoped_nsobject_unittest\\.mm$'], 855 ['include', '^sys_string_conversions_mac_unittest\\.mm$'], 856 ], 857 }], 858 ['OS == "android"', { 859 'sources/': [ 860 ['include', '^debug/proc_maps_linux_unittest\\.cc$'], 861 ], 862 }], 863 ], # target_conditions 864 }, 865 { 866 'target_name': 'test_support_base', 867 'type': 'static_library', 868 'dependencies': [ 869 'base', 870 'base_static', 871 'base_i18n', 872 '../testing/gmock.gyp:gmock', 873 '../testing/gtest.gyp:gtest', 874 '../third_party/libxml/libxml.gyp:libxml', 875 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 876 ], 877 'export_dependent_settings': [ 878 'base', 879 ], 880 'conditions': [ 881 ['toolkit_uses_gtk==1', { 882 'dependencies': [ 883 # test_suite initializes GTK. 884 '../build/linux/system.gyp:gtk', 885 ], 886 }], 887 ['os_posix==0', { 888 'sources!': [ 889 'test/scoped_locale.cc', 890 'test/scoped_locale.h', 891 ], 892 }], 893 ['os_bsd==1', { 894 'sources!': [ 895 'test/test_file_util_linux.cc', 896 ], 897 }], 898 ['OS == "android"', { 899 'dependencies': [ 900 'base_unittests_jni_headers', 901 'base_java_unittest_support', 902 ], 903 'include_dirs': [ 904 '<(SHARED_INTERMEDIATE_DIR)/base', 905 ], 906 }], 907 ], 908 'sources': [ 909 'test/expectations/expectation.cc', 910 'test/expectations/expectation.h', 911 'test/expectations/parser.cc', 912 'test/expectations/parser.h', 913 'test/gtest_xml_util.cc', 914 'test/gtest_xml_util.h', 915 'test/launcher/test_launcher.cc', 916 'test/launcher/test_launcher.h', 917 'test/launcher/test_result.cc', 918 'test/launcher/test_result.h', 919 'test/launcher/test_results_tracker.cc', 920 'test/launcher/test_results_tracker.h', 921 'test/launcher/unit_test_launcher.cc', 922 'test/launcher/unit_test_launcher.h', 923 'test/launcher/unit_test_launcher_ios.cc', 924 'test/mock_chrome_application_mac.h', 925 'test/mock_chrome_application_mac.mm', 926 'test/mock_devices_changed_observer.cc', 927 'test/mock_devices_changed_observer.h', 928 'test/mock_time_provider.cc', 929 'test/mock_time_provider.h', 930 'test/multiprocess_test.cc', 931 'test/multiprocess_test.h', 932 'test/multiprocess_test_android.cc', 933 'test/null_task_runner.cc', 934 'test/null_task_runner.h', 935 'test/perf_log.cc', 936 'test/perf_log.h', 937 'test/perf_test_suite.cc', 938 'test/perf_test_suite.h', 939 'test/perf_time_logger.cc', 940 'test/perf_time_logger.h', 941 'test/power_monitor_test_base.cc', 942 'test/power_monitor_test_base.h', 943 'test/scoped_locale.cc', 944 'test/scoped_locale.h', 945 'test/scoped_path_override.cc', 946 'test/scoped_path_override.h', 947 'test/sequenced_task_runner_test_template.cc', 948 'test/sequenced_task_runner_test_template.h', 949 'test/sequenced_worker_pool_owner.cc', 950 'test/sequenced_worker_pool_owner.h', 951 'test/simple_test_clock.cc', 952 'test/simple_test_clock.h', 953 'test/simple_test_tick_clock.cc', 954 'test/simple_test_tick_clock.h', 955 'test/task_runner_test_template.cc', 956 'test/task_runner_test_template.h', 957 'test/test_file_util.cc', 958 'test/test_file_util.h', 959 'test/test_file_util_android.cc', 960 'test/test_file_util_linux.cc', 961 'test/test_file_util_mac.cc', 962 'test/test_file_util_posix.cc', 963 'test/test_file_util_win.cc', 964 'test/test_listener_ios.h', 965 'test/test_listener_ios.mm', 966 'test/test_pending_task.cc', 967 'test/test_pending_task.h', 968 'test/test_process_killer_win.cc', 969 'test/test_process_killer_win.h', 970 'test/test_reg_util_win.cc', 971 'test/test_reg_util_win.h', 972 'test/test_shortcut_win.cc', 973 'test/test_shortcut_win.h', 974 'test/test_simple_task_runner.cc', 975 'test/test_simple_task_runner.h', 976 'test/test_suite.cc', 977 'test/test_suite.h', 978 'test/test_support_android.cc', 979 'test/test_support_android.h', 980 'test/test_support_ios.h', 981 'test/test_support_ios.mm', 982 'test/test_switches.cc', 983 'test/test_switches.h', 984 'test/test_timeouts.cc', 985 'test/test_timeouts.h', 986 'test/thread_test_helper.cc', 987 'test/thread_test_helper.h', 988 'test/trace_event_analyzer.cc', 989 'test/trace_event_analyzer.h', 990 'test/values_test_util.cc', 991 'test/values_test_util.h', 992 ], 993 'target_conditions': [ 994 ['OS == "ios"', { 995 'sources/': [ 996 # Pull in specific Mac files for iOS (which have been filtered out 997 # by file name rules). 998 ['include', '^test/test_file_util_mac\\.cc$'], 999 ], 1000 'sources!': [ 1001 # iOS uses its own unit test launcher. 1002 'test/launcher/unit_test_launcher.cc', 1003 ], 1004 }], 1005 ], # target_conditions 1006 }, 1007 { 1008 'target_name': 'test_support_perf', 1009 'type': 'static_library', 1010 'dependencies': [ 1011 'base', 1012 'test_support_base', 1013 '../testing/gtest.gyp:gtest', 1014 ], 1015 'sources': [ 1016 'test/run_all_perftests.cc', 1017 ], 1018 'direct_dependent_settings': { 1019 'defines': [ 1020 'PERF_TEST', 1021 ], 1022 }, 1023 'conditions': [ 1024 ['toolkit_uses_gtk==1', { 1025 'dependencies': [ 1026 # Needed to handle the #include chain: 1027 # base/test/perf_test_suite.h 1028 # base/test/test_suite.h 1029 # gtk/gtk.h 1030 '../build/linux/system.gyp:gtk', 1031 ], 1032 }], 1033 ], 1034 }, 1035 ], 1036 'conditions': [ 1037 ['OS!="ios"', { 1038 'targets': [ 1039 { 1040 'target_name': 'check_example', 1041 'type': 'executable', 1042 'sources': [ 1043 'check_example.cc', 1044 ], 1045 'dependencies': [ 1046 'base', 1047 ], 1048 }, 1049 ], 1050 }], 1051 ['OS == "win" and target_arch=="ia32"', { 1052 'targets': [ 1053 { 1054 'target_name': 'base_nacl_win64', 1055 'type': '<(component)', 1056 'variables': { 1057 'base_target': 1, 1058 }, 1059 'dependencies': [ 1060 'base_static_win64', 1061 'allocator/allocator.gyp:allocator_extension_thunks_win64', 1062 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', 1063 ], 1064 # TODO(gregoryd): direct_dependent_settings should be shared with the 1065 # 32-bit target, but it doesn't work due to a bug in gyp 1066 'direct_dependent_settings': { 1067 'include_dirs': [ 1068 '..', 1069 ], 1070 }, 1071 'defines': [ 1072 '<@(nacl_win64_defines)', 1073 ], 1074 'sources!': [ 1075 # base64.cc depends on modp_b64. 1076 'base64.cc', 1077 ], 1078 'configurations': { 1079 'Common_Base': { 1080 'msvs_target_platform': 'x64', 1081 }, 1082 }, 1083 'conditions': [ 1084 ['component == "shared_library"', { 1085 'sources!': [ 1086 'debug/debug_on_start_win.cc', 1087 ], 1088 }], 1089 ], 1090 }, 1091 { 1092 'target_name': 'base_i18n_nacl_win64', 1093 'type': '<(component)', 1094 # TODO(gregoryd): direct_dependent_settings should be shared with the 1095 # 32-bit target, but it doesn't work due to a bug in gyp 1096 'direct_dependent_settings': { 1097 'include_dirs': [ 1098 '..', 1099 ], 1100 }, 1101 'defines': [ 1102 '<@(nacl_win64_defines)', 1103 'BASE_I18N_IMPLEMENTATION', 1104 ], 1105 'include_dirs': [ 1106 '..', 1107 ], 1108 'sources': [ 1109 'i18n/icu_util_nacl_win64.cc', 1110 ], 1111 'configurations': { 1112 'Common_Base': { 1113 'msvs_target_platform': 'x64', 1114 }, 1115 }, 1116 }, 1117 { 1118 # TODO(rvargas): Remove this when gyp finally supports a clean model. 1119 # See bug 36232. 1120 'target_name': 'base_static_win64', 1121 'type': 'static_library', 1122 'sources': [ 1123 'base_switches.cc', 1124 'base_switches.h', 1125 'win/pe_image.cc', 1126 'win/pe_image.h', 1127 ], 1128 'sources!': [ 1129 # base64.cc depends on modp_b64. 1130 'base64.cc', 1131 ], 1132 'include_dirs': [ 1133 '..', 1134 ], 1135 'configurations': { 1136 'Common_Base': { 1137 'msvs_target_platform': 'x64', 1138 }, 1139 }, 1140 'defines': [ 1141 'NACL_WIN64', 1142 ], 1143 # TODO(rvargas): Bug 78117. Remove this. 1144 'msvs_disabled_warnings': [ 1145 4244, 1146 ], 1147 }, 1148 ], 1149 }], 1150 ['os_posix==1 and OS!="mac" and OS!="ios"', { 1151 'targets': [ 1152 { 1153 'target_name': 'symbolize', 1154 'type': 'static_library', 1155 'toolsets': ['host', 'target'], 1156 'variables': { 1157 'chromium_code': 0, 1158 }, 1159 'conditions': [ 1160 ['OS == "solaris"', { 1161 'include_dirs': [ 1162 '/usr/gnu/include', 1163 '/usr/gnu/include/libelf', 1164 ], 1165 },], 1166 ], 1167 'cflags': [ 1168 '-Wno-sign-compare', 1169 ], 1170 'cflags!': [ 1171 '-Wextra', 1172 ], 1173 'sources': [ 1174 'third_party/symbolize/config.h', 1175 'third_party/symbolize/demangle.cc', 1176 'third_party/symbolize/demangle.h', 1177 'third_party/symbolize/glog/logging.h', 1178 'third_party/symbolize/glog/raw_logging.h', 1179 'third_party/symbolize/symbolize.cc', 1180 'third_party/symbolize/symbolize.h', 1181 'third_party/symbolize/utilities.h', 1182 ], 1183 'include_dirs': [ 1184 '..', 1185 ], 1186 }, 1187 { 1188 'target_name': 'xdg_mime', 1189 'type': 'static_library', 1190 'toolsets': ['host', 'target'], 1191 'variables': { 1192 'chromium_code': 0, 1193 }, 1194 'cflags!': [ 1195 '-Wextra', 1196 ], 1197 'sources': [ 1198 'third_party/xdg_mime/xdgmime.c', 1199 'third_party/xdg_mime/xdgmime.h', 1200 'third_party/xdg_mime/xdgmimealias.c', 1201 'third_party/xdg_mime/xdgmimealias.h', 1202 'third_party/xdg_mime/xdgmimecache.c', 1203 'third_party/xdg_mime/xdgmimecache.h', 1204 'third_party/xdg_mime/xdgmimeglob.c', 1205 'third_party/xdg_mime/xdgmimeglob.h', 1206 'third_party/xdg_mime/xdgmimeicon.c', 1207 'third_party/xdg_mime/xdgmimeicon.h', 1208 'third_party/xdg_mime/xdgmimeint.c', 1209 'third_party/xdg_mime/xdgmimeint.h', 1210 'third_party/xdg_mime/xdgmimemagic.c', 1211 'third_party/xdg_mime/xdgmimemagic.h', 1212 'third_party/xdg_mime/xdgmimeparent.c', 1213 'third_party/xdg_mime/xdgmimeparent.h', 1214 ], 1215 }, 1216 ], 1217 }], 1218 ['OS == "android"', { 1219 'targets': [ 1220 { 1221 'target_name': 'base_jni_headers', 1222 'type': 'none', 1223 'sources': [ 1224 'android/java/src/org/chromium/base/ActivityStatus.java', 1225 'android/java/src/org/chromium/base/BuildInfo.java', 1226 'android/java/src/org/chromium/base/CommandLine.java', 1227 'android/java/src/org/chromium/base/ContentUriUtils.java', 1228 'android/java/src/org/chromium/base/CpuFeatures.java', 1229 'android/java/src/org/chromium/base/ImportantFileWriterAndroid.java', 1230 'android/java/src/org/chromium/base/MemoryPressureListener.java', 1231 'android/java/src/org/chromium/base/JavaHandlerThread.java', 1232 'android/java/src/org/chromium/base/PathService.java', 1233 'android/java/src/org/chromium/base/PathUtils.java', 1234 'android/java/src/org/chromium/base/PowerMonitor.java', 1235 'android/java/src/org/chromium/base/SystemMessageHandler.java', 1236 'android/java/src/org/chromium/base/SysUtils.java', 1237 'android/java/src/org/chromium/base/ThreadUtils.java', 1238 ], 1239 'conditions': [ 1240 ['google_tv==1', { 1241 'sources': [ 1242 'android/java/src/org/chromium/base/ContextTypes.java', 1243 ], 1244 }], 1245 ], 1246 'variables': { 1247 'jni_gen_package': 'base', 1248 'jni_generator_ptr_type': 'long', 1249 }, 1250 'includes': [ '../build/jni_generator.gypi' ], 1251 }, 1252 { 1253 'target_name': 'base_unittests_jni_headers', 1254 'type': 'none', 1255 'sources': [ 1256 'test/android/java/src/org/chromium/base/ContentUriTestUtils.java', 1257 ], 1258 'variables': { 1259 'jni_gen_package': 'base', 1260 }, 1261 'includes': [ '../build/jni_generator.gypi' ], 1262 }, 1263 { 1264 'target_name': 'base_java', 1265 'type': 'none', 1266 'variables': { 1267 'java_in_dir': '../base/android/java', 1268 }, 1269 'dependencies': [ 1270 'base_java_activity_state', 1271 'base_java_memory_pressure_level_list', 1272 ], 1273 'includes': [ '../build/java.gypi' ], 1274 'conditions': [ 1275 ['android_webview_build==0', { 1276 'dependencies': [ 1277 '../third_party/jsr-305/jsr-305.gyp:jsr_305_javalib', 1278 ], 1279 }] 1280 ], 1281 }, 1282 { 1283 'target_name': 'base_java_unittest_support', 1284 'type': 'none', 1285 'dependencies': [ 1286 'base_java', 1287 ], 1288 'variables': { 1289 'java_in_dir': '../base/test/android/java', 1290 }, 1291 'includes': [ '../build/java.gypi' ], 1292 }, 1293 { 1294 'target_name': 'base_java_activity_state', 1295 'type': 'none', 1296 # This target is used to auto-generate ActivityState.java 1297 # from a template file. The source file contains a list of 1298 # Java constant declarations matching the ones in 1299 # android/activity_state_list.h. 1300 'sources': [ 1301 'android/java/src/org/chromium/base/ActivityState.template', 1302 ], 1303 'variables': { 1304 'package_name': 'org/chromium/base', 1305 'template_deps': ['android/activity_state_list.h'], 1306 }, 1307 'includes': [ '../build/android/java_cpp_template.gypi' ], 1308 }, 1309 { 1310 'target_name': 'base_java_memory_pressure_level_list', 1311 'type': 'none', 1312 'sources': [ 1313 'android/java/src/org/chromium/base/MemoryPressureLevelList.template', 1314 ], 1315 'variables': { 1316 'package_name': 'org/chromium/base', 1317 'template_deps': ['memory/memory_pressure_level_list.h'], 1318 }, 1319 'includes': [ '../build/android/java_cpp_template.gypi' ], 1320 }, 1321 { 1322 'target_name': 'base_java_test_support', 1323 'type': 'none', 1324 'dependencies': [ 1325 'base_java', 1326 ], 1327 'variables': { 1328 'java_in_dir': '../base/test/android/javatests', 1329 }, 1330 'includes': [ '../build/java.gypi' ], 1331 }, 1332 { 1333 'target_name': 'base_javatests', 1334 'type': 'none', 1335 'dependencies': [ 1336 'base_java', 1337 'base_java_test_support', 1338 ], 1339 'variables': { 1340 'java_in_dir': '../base/android/javatests', 1341 }, 1342 'includes': [ '../build/java.gypi' ], 1343 }, 1344 ], 1345 }], 1346 ['OS == "win"', { 1347 'targets': [ 1348 { 1349 'target_name': 'debug_message', 1350 'type': 'executable', 1351 'sources': [ 1352 'debug_message.cc', 1353 ], 1354 'msvs_settings': { 1355 'VCLinkerTool': { 1356 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 1357 }, 1358 }, 1359 }, 1360 ], 1361 }], 1362 # Special target to wrap a gtest_target_type == shared_library 1363 # base_unittests into an android apk for execution. 1364 # TODO(jrg): lib.target comes from _InstallableTargetInstallPath() 1365 # in the gyp make generator. What is the correct way to extract 1366 # this path from gyp and into 'raw' for input to antfiles? 1367 # Hard-coding in the gypfile seems a poor choice. 1368 ['OS == "android" and gtest_target_type == "shared_library"', { 1369 'targets': [ 1370 { 1371 'target_name': 'base_unittests_apk', 1372 'type': 'none', 1373 'dependencies': [ 1374 'base_java', 1375 'base_unittests', 1376 ], 1377 'variables': { 1378 'test_suite_name': 'base_unittests', 1379 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)base_unittests<(SHARED_LIB_SUFFIX)', 1380 }, 1381 'includes': [ '../build/apk_test.gypi' ], 1382 }, 1383 ], 1384 }], 1385 ['test_isolation_mode != "noop"', { 1386 'targets': [ 1387 { 1388 'target_name': 'base_unittests_run', 1389 'type': 'none', 1390 'dependencies': [ 1391 'base_unittests', 1392 ], 1393 'includes': [ 1394 '../build/isolate.gypi', 1395 'base_unittests.isolate', 1396 ], 1397 'sources': [ 1398 'base_unittests.isolate', 1399 ], 1400 }, 1401 ], 1402 }], 1403 ], 1404 } 1405