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 'variables': { 6 'chromium_code': 1, 7 8 # Define the common dependencies that contain all the actual 9 # Chromium functionality. This list gets pulled in below by 10 # the link of the actual chrome (or chromium) executable on 11 # Linux or Mac, and into chrome.dll on Windows. 12 # NOTE: Most new includes should go in the OS!="ios" condition below. 13 'chromium_browser_dependencies': [ 14 'common', 15 'browser', 16 '../sync/sync.gyp:sync', 17 ], 18 'chromium_child_dependencies': [ 19 'common', 20 '../sync/sync.gyp:sync', 21 ], 22 'allocator_target': '../base/allocator/allocator.gyp:allocator', 23 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome', 24 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out', 25 'conditions': [ 26 ['OS!="ios"', { 27 'chromium_browser_dependencies': [ 28 '../ppapi/ppapi_internal.gyp:ppapi_host', 29 ], 30 'chromium_child_dependencies': [ 31 'debugger', 32 'plugin', 33 'renderer', 34 'utility', 35 '../content/content.gyp:content_gpu', 36 '../content/content.gyp:content_ppapi_plugin', 37 '../content/content.gyp:content_worker', 38 '../third_party/WebKit/public/blink_devtools.gyp:blink_devtools_frontend_resources', 39 ], 40 }], 41 ['enable_printing!=0', { 42 'chromium_browser_dependencies': [ 43 '../printing/printing.gyp:printing', 44 ], 45 }], 46 ['OS=="win"', { 47 'platform_locale_settings_grd': 48 'app/resources/locale_settings_win.grd', 49 },], 50 ['enable_printing==1', { 51 'chromium_browser_dependencies': [ 52 'service', 53 ], 54 }], 55 ['OS=="linux"', { 56 'conditions': [ 57 ['chromeos==1', { 58 'conditions': [ 59 ['branding=="Chrome"', { 60 'platform_locale_settings_grd': 61 'app/resources/locale_settings_google_chromeos.grd', 62 }, { # branding!=Chrome 63 'platform_locale_settings_grd': 64 'app/resources/locale_settings_chromiumos.grd', 65 }], 66 ] 67 }, { # chromeos==0 68 'platform_locale_settings_grd': 69 'app/resources/locale_settings_linux.grd', 70 }], 71 ], 72 },], 73 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "linux"', { 74 'platform_locale_settings_grd': 75 'app/resources/locale_settings_linux.grd', 76 },], 77 ['OS=="mac"', { 78 'tweak_info_plist_path': '../build/mac/tweak_info_plist.py', 79 'platform_locale_settings_grd': 80 'app/resources/locale_settings_mac.grd', 81 }], # OS=="mac" 82 ], # conditions 83 }, # variables 84 'includes': [ 85 # Place some targets in gypi files to reduce contention on this file. 86 # By using an include, we keep everything in a single xcodeproj file. 87 # Note on Win64 targets: targets that end with win64 be used 88 # on 64-bit Windows only. Targets that end with nacl_win64 should be used 89 # by Native Client only. 90 # NOTE: Most new includes should go in the OS!="ios" condition below. 91 '../build/chrome_settings.gypi', 92 '../build/util/version.gypi', 93 '../build/win_precompile.gypi', 94 'chrome_browser.gypi', 95 'chrome_browser_ui.gypi', 96 'chrome_common.gypi', 97 'chrome_installer_util.gypi', 98 '../components/nacl/nacl_defines.gypi', 99 ], 100 'conditions': [ 101 ['OS!="ios"', { 102 'includes': [ 103 '../apps/apps.gypi', 104 'chrome_browser_extensions.gypi', 105 'chrome_debugger.gypi', 106 'chrome_dll.gypi', 107 'chrome_exe.gypi', 108 'chrome_installer.gypi', 109 'chrome_plugin.gypi', 110 'chrome_renderer.gypi', 111 'chrome_tests.gypi', 112 'chrome_tests_unit.gypi', 113 'chrome_utility.gypi', 114 'policy_templates.gypi', 115 ], 116 'targets': [ 117 { 118 'target_name': 'default_extensions', 119 'type': 'none', 120 'conditions': [ 121 ['OS=="win"', { 122 'copies': [ 123 { 124 'destination': '<(PRODUCT_DIR)/extensions', 125 'files': [ 126 'browser/extensions/default_extensions/external_extensions.json' 127 ] 128 } 129 ], 130 }] 131 ], 132 }, 133 ], 134 }], # OS!="ios" 135 ['OS=="mac"', { 136 'includes': [ 137 '../apps/app_shim/app_shim.gypi', 138 ], 139 'targets': [ 140 { 141 'target_name': 'helper_app', 142 'type': 'executable', 143 'variables': { 'enable_wexit_time_destructors': 1, }, 144 'product_name': '<(mac_product_name) Helper', 145 'mac_bundle': 1, 146 'dependencies': [ 147 'chrome_dll', 148 'infoplist_strings_tool', 149 ], 150 'sources': [ 151 # chrome_exe_main_mac.cc's main() is the entry point for 152 # the "chrome" (browser app) target. All it does is jump 153 # to chrome_dll's ChromeMain. This is appropriate for 154 # helper processes too, because the logic to discriminate 155 # between process types at run time is actually directed 156 # by the --type command line argument processed by 157 # ChromeMain. Sharing chrome_exe_main_mac.cc with the 158 # browser app will suffice for now. 159 'app/chrome_exe_main_mac.cc', 160 'app/helper-Info.plist', 161 ], 162 # TODO(mark): Come up with a fancier way to do this. It should only 163 # be necessary to list helper-Info.plist once, not the three times it 164 # is listed here. 165 'mac_bundle_resources!': [ 166 'app/helper-Info.plist', 167 ], 168 # TODO(mark): For now, don't put any resources into this app. Its 169 # resources directory will be a symbolic link to the browser app's 170 # resources directory. 171 'mac_bundle_resources/': [ 172 ['exclude', '.*'], 173 ], 174 'xcode_settings': { 175 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)', 176 'CHROMIUM_SHORT_NAME': '<(branding)', 177 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves', 178 'INFOPLIST_FILE': 'app/helper-Info.plist', 179 }, 180 'postbuilds': [ 181 { 182 # The helper doesn't have real localizations, it just has 183 # empty .lproj directories, which is enough to convince Cocoa 184 # that anything running out of the helper .app supports those 185 # languages. 186 'postbuild_name': 'Make Empty Localizations', 187 'variables': { 188 'locale_dirs': [ 189 '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))', 190 ], 191 }, 192 'action': [ 193 'tools/build/mac/make_locale_dirs.sh', 194 '<@(locale_dirs)', 195 ], 196 }, 197 { 198 # The framework (chrome_dll) defines its load-time path 199 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable 200 # (chrome). A different relative path needs to be used in 201 # helper_app. 202 'postbuild_name': 'Fix Framework Link', 203 'action': [ 204 'install_name_tool', 205 '-change', 206 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework', 207 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework', 208 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' 209 ], 210 }, 211 { 212 # Modify the Info.plist as needed. The script explains why this 213 # is needed. This is also done in the chrome and chrome_dll 214 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0 215 # are used because Breakpad, Keystone, and SCM keys are 216 # never placed into the helper. 217 'postbuild_name': 'Tweak Info.plist', 218 'action': ['<(tweak_info_plist_path)', 219 '--breakpad=0', 220 '--keystone=0', 221 '--scm=0'], 222 }, 223 { 224 # Make sure there isn't any Objective-C in the helper app's 225 # executable. 226 'postbuild_name': 'Verify No Objective-C', 227 'action': [ 228 '../build/mac/verify_no_objc.sh', 229 ], 230 }, 231 ], 232 'conditions': [ 233 ['mac_breakpad==1', { 234 'variables': { 235 # A real .dSYM is needed for dump_syms to operate on. 236 'mac_real_dsym': 1, 237 }, 238 'xcode_settings': { 239 # With mac_real_dsym set, strip_from_xcode won't be used. 240 # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode. 241 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)', 242 }, 243 }], 244 ['asan==1', { 245 'xcode_settings': { 246 # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE. 247 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves', 248 }, 249 }], 250 ['component=="shared_library"', { 251 'xcode_settings': { 252 'LD_RUNPATH_SEARCH_PATHS': [ 253 # Get back from Chromium.app/Contents/Versions/V/ 254 # Helper.app/Contents/MacOS 255 '@loader_path/../../../../../../..', 256 ], 257 }, 258 }], 259 ], 260 }, # target helper_app 261 { 262 # A library containing the actual code for the app mode app, shared 263 # by unit tests. 264 'target_name': 'app_mode_app_support', 265 'type': 'static_library', 266 'variables': { 'enable_wexit_time_destructors': 1, }, 267 'product_name': 'app_mode_app_support', 268 'dependencies': [ 269 '../base/base.gyp:base', 270 'common_constants.gyp:common_constants', 271 ], 272 'sources': [ 273 'common/mac/app_mode_chrome_locator.h', 274 'common/mac/app_mode_chrome_locator.mm', 275 'common/mac/app_mode_common.h', 276 'common/mac/app_mode_common.mm', 277 ], 278 'include_dirs': [ 279 '..', 280 ], 281 }, # target app_mode_app_support 282 { 283 # This produces the template for app mode loader bundles. It's a 284 # template in the sense that parts of it need to be "filled in" by 285 # Chrome before it can be executed. 286 'target_name': 'app_mode_app', 287 'type': 'executable', 288 'mac_bundle' : 1, 289 'variables': { 290 'enable_wexit_time_destructors': 1, 291 'mac_real_dsym': 1, 292 }, 293 'product_name': 'app_mode_loader', 294 'dependencies': [ 295 'app_mode_app_support', 296 'infoplist_strings_tool', 297 ], 298 'sources': [ 299 'app/app_mode_loader_mac.mm', 300 'app/app_mode-Info.plist', 301 ], 302 'include_dirs': [ 303 '..', 304 ], 305 'link_settings': { 306 'libraries': [ 307 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', 308 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', 309 ], 310 }, 311 'mac_bundle_resources!': [ 312 'app/app_mode-Info.plist', 313 ], 314 'mac_bundle_resources/': [ 315 ['exclude', '.*'], 316 ], 317 'xcode_settings': { 318 'INFOPLIST_FILE': 'app/app_mode-Info.plist', 319 'APP_MODE_APP_BUNDLE_ID': '<(mac_bundle_id).app.@APP_MODE_SHORTCUT_ID@', 320 }, 321 'postbuilds' : [ 322 { 323 # Modify the Info.plist as needed. The script explains why this 324 # is needed. This is also done in the chrome and chrome_dll 325 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0 326 # are used because Breakpad, Keystone, and SCM keys are 327 # never placed into the app mode loader. 328 'postbuild_name': 'Tweak Info.plist', 329 'action': ['<(tweak_info_plist_path)', 330 '--breakpad=0', 331 '--keystone=0', 332 '--scm=0'], 333 }, 334 ], 335 }, # target app_mode_app 336 { 337 # Convenience target to build a disk image. 338 'target_name': 'build_app_dmg', 339 # Don't place this in the 'all' list; most won't want it. 340 # In GYP, booleans are 0/1, not True/False. 341 'suppress_wildcard': 1, 342 'type': 'none', 343 'dependencies': [ 344 'chrome', 345 ], 346 'variables': { 347 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg', 348 'pkg_dmg_script_path': 'installer/mac/pkg-dmg', 349 350 'conditions': [ 351 # This duplicates the output path from build_app_dmg. 352 ['branding=="Chrome"', { 353 'dmg_name': 'GoogleChrome.dmg', 354 }, { # else: branding!="Chrome" 355 'dmg_name': 'Chromium.dmg', 356 }], 357 ], 358 }, 359 'actions': [ 360 { 361 'inputs': [ 362 '<(build_app_dmg_script_path)', 363 '<(pkg_dmg_script_path)', 364 '<(PRODUCT_DIR)/<(mac_product_name).app', 365 ], 366 'outputs': [ 367 '<(PRODUCT_DIR)/<(dmg_name)', 368 ], 369 'action_name': 'build_app_dmg', 370 'action': ['<(build_app_dmg_script_path)', '<@(branding)'], 371 }, 372 ], # 'actions' 373 }, 374 { 375 # Dummy target to allow chrome to require plugin_carbon_interpose to 376 # build without actually linking to the resulting library. 377 'target_name': 'interpose_dependency_shim', 378 'type': 'executable', 379 'variables': { 'enable_wexit_time_destructors': 1, }, 380 'dependencies': [ 381 'plugin_carbon_interpose', 382 ], 383 # In release, we end up with a strip step that is unhappy if there is 384 # no binary. Rather than check in a new file for this temporary hack, 385 # just generate a source file on the fly. 386 'actions': [ 387 { 388 'action_name': 'generate_stub_main', 389 'process_outputs_as_sources': 1, 390 'inputs': [], 391 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ], 392 'action': [ 393 'bash', '-c', 394 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c' 395 ], 396 }, 397 ], 398 }, 399 { 400 # dylib for interposing Carbon calls in the plugin process. 401 'target_name': 'plugin_carbon_interpose', 402 'type': 'shared_library', 403 'variables': { 'enable_wexit_time_destructors': 1, }, 404 # This target must not depend on static libraries, else the code in 405 # those libraries would appear twice in plugin processes: Once from 406 # Chromium Framework, and once from this dylib. 407 'dependencies': [ 408 'chrome_dll', 409 ], 410 'conditions': [ 411 ['component=="shared_library"', { 412 'dependencies': [ 413 '../content/content.gyp:content_plugin', 414 ], 415 'xcode_settings': { 416 'LD_RUNPATH_SEARCH_PATHS': [ 417 # Get back from Chromium.app/Contents/Versions/V 418 '@loader_path/../../../..', 419 ], 420 }, 421 }], 422 ], 423 'sources': [ 424 '../content/plugin/plugin_carbon_interpose_mac.cc', 425 ], 426 'include_dirs': [ 427 '..', 428 ], 429 'link_settings': { 430 'libraries': [ 431 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', 432 ], 433 }, 434 'xcode_settings': { 435 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)', 436 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)', 437 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..', 438 }, 439 'postbuilds': [ 440 { 441 # The framework (chrome_dll) defines its load-time path 442 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable 443 # (chrome). A different relative path needs to be used in 444 # plugin_carbon_interpose, which runs in the helper_app. 445 'postbuild_name': 'Fix Framework Link', 446 'action': [ 447 'install_name_tool', 448 '-change', 449 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework', 450 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework', 451 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' 452 ], 453 }, 454 ], 455 }, 456 { 457 'target_name': 'infoplist_strings_tool', 458 'type': 'executable', 459 'variables': { 'enable_wexit_time_destructors': 1, }, 460 'dependencies': [ 461 'chrome_resources.gyp:chrome_strings', 462 '../base/base.gyp:base', 463 '../ui/base/ui_base.gyp:ui_base', 464 '../ui/gfx/gfx.gyp:gfx', 465 '../ui/gfx/gfx.gyp:gfx_geometry', 466 ], 467 'include_dirs': [ 468 '<(grit_out_dir)', 469 ], 470 'sources': [ 471 'tools/mac_helpers/infoplist_strings_util.mm', 472 ], 473 }, 474 ], # targets 475 }], # OS=="mac" 476 ['OS=="linux"', 477 { 'targets': [ 478 { 479 'target_name': 'linux_symbols', 480 'type': 'none', 481 'conditions': [ 482 ['linux_dump_symbols==1', { 483 'actions': [ 484 { 485 'action_name': 'dump_symbols', 486 'inputs': [ 487 '<(DEPTH)/build/linux/dump_app_syms', 488 '<(PRODUCT_DIR)/dump_syms', 489 '<(PRODUCT_DIR)/chrome', 490 ], 491 'outputs': [ 492 '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)', 493 ], 494 'action': ['<(DEPTH)/build/linux/dump_app_syms', 495 '<(PRODUCT_DIR)/dump_syms', 496 '<(linux_strip_binary)', 497 '<(PRODUCT_DIR)/chrome', 498 '<@(_outputs)'], 499 'message': 'Dumping breakpad symbols to <(_outputs)', 500 'process_outputs_as_sources': 1, 501 }, 502 ], 503 'dependencies': [ 504 'chrome', 505 '../breakpad/breakpad.gyp:dump_syms', 506 ], 507 }], 508 ['linux_strip_reliability_tests==1', { 509 'actions': [ 510 { 511 'action_name': 'strip_reliability_tests', 512 'outputs': [ 513 '<(PRODUCT_DIR)/strip_reliability_tests.stamp', 514 ], 515 'action': ['strip', 516 '-g', 517 '<@(_inputs)'], 518 'message': 'Stripping reliability tests', 519 }, 520 ], 521 }], 522 ], 523 }, 524 ], 525 }], # OS=="linux" 526 ['OS=="win"', 527 { 'targets': [ 528 { 529 # For historical reasons, chrome/chrome.sln has been the entry point 530 # for new Chrome developers. To assist development, include several 531 # core unittests that are otherwise only accessible side-by-side with 532 # chrome via all/all.sln. 533 'target_name': 'test_targets', 534 'type': 'none', 535 'dependencies': [ 536 '../base/base.gyp:base_unittests', 537 '../content/content_shell_and_tests.gyp:content_browsertests', 538 '../content/content_shell_and_tests.gyp:content_shell', 539 '../content/content_shell_and_tests.gyp:content_unittests', 540 '../net/net.gyp:net_unittests', 541 '../ui/ui_unittests.gyp:ui_unittests', 542 ], 543 }, 544 { 545 'target_name': 'chrome_version_resources', 546 'type': 'none', 547 'conditions': [ 548 ['branding == "Chrome"', { 549 'variables': { 550 'branding_path': 'app/theme/google_chrome/BRANDING', 551 }, 552 }, { # else branding!="Chrome" 553 'variables': { 554 'branding_path': 'app/theme/chromium/BRANDING', 555 }, 556 }], 557 ], 558 'variables': { 559 'output_dir': 'chrome_version', 560 'template_input_path': 'app/chrome_version.rc.version', 561 }, 562 'direct_dependent_settings': { 563 'include_dirs': [ 564 '<(SHARED_INTERMEDIATE_DIR)/<(output_dir)', 565 ], 566 }, 567 'sources': [ 568 'app/chrome_exe.ver', 569 'app/chrome_dll.ver', 570 'app/nacl64_exe.ver', 571 'app/other.ver', 572 ], 573 'includes': [ 574 'version_resource_rules.gypi', 575 ], 576 }, 577 { 578 'target_name': 'chrome_version_header', 579 'type': 'none', 580 'hard_dependency': 1, 581 'actions': [ 582 { 583 'action_name': 'version_header', 584 'variables': { 585 'lastchange_path': 586 '<(DEPTH)/build/util/LASTCHANGE', 587 }, 588 'conditions': [ 589 ['branding == "Chrome"', { 590 'variables': { 591 'branding_path': 'app/theme/google_chrome/BRANDING', 592 }, 593 }, { # else branding!="Chrome" 594 'variables': { 595 'branding_path': 'app/theme/chromium/BRANDING', 596 }, 597 }], 598 ], 599 'inputs': [ 600 '<(version_path)', 601 '<(branding_path)', 602 '<(lastchange_path)', 603 'version.h.in', 604 ], 605 'outputs': [ 606 '<(SHARED_INTERMEDIATE_DIR)/version.h', 607 ], 608 'action': [ 609 'python', 610 '<(version_py_path)', 611 '-f', '<(version_path)', 612 '-f', '<(branding_path)', 613 '-f', '<(lastchange_path)', 614 'version.h.in', 615 '<@(_outputs)', 616 ], 617 'message': 'Generating version header file: <@(_outputs)', 618 }, 619 ], 620 }, 621 { 622 'target_name': 'crash_service', 623 'type': 'executable', 624 'dependencies': [ 625 'installer_util', 626 '../base/base.gyp:base', 627 '../chrome/common_constants.gyp:common_constants', 628 '../components/components.gyp:breakpad_crash_service', 629 ], 630 'include_dirs': [ 631 '..', 632 ], 633 'sources': [ 634 'tools/crash_service/main.cc', 635 ], 636 'msvs_settings': { 637 'VCLinkerTool': { 638 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 639 }, 640 }, 641 }, 642 { 643 'target_name': 'sb_sigutil', 644 'type': 'executable', 645 'dependencies': [ 646 '../base/base.gyp:base', 647 'safe_browsing_proto', 648 ], 649 'sources': [ 650 'browser/safe_browsing/binary_feature_extractor.h', 651 'browser/safe_browsing/binary_feature_extractor_win.cc', 652 'browser/safe_browsing/pe_image_reader_win.cc', 653 'browser/safe_browsing/pe_image_reader_win.h', 654 'tools/safe_browsing/sb_sigutil.cc', 655 ], 656 }, 657 ], # 'targets' 658 'includes': [ 659 'chrome_process_finder.gypi', 660 'metro_utils.gypi', 661 ], 662 }], # OS=="win" 663 ['OS=="win" and target_arch=="ia32"', 664 { 'targets': [ 665 { 666 'target_name': 'chrome_user32_delay_imports', 667 'type': 'none', 668 'variables': { 669 'lib_dir': '<(INTERMEDIATE_DIR)', 670 }, 671 'sources': [ 672 'chrome.user32.delay.imports' 673 ], 674 'includes': [ 675 '../build/win/importlibs/create_import_lib.gypi', 676 ], 677 'direct_dependent_settings': { 678 'msvs_settings': { 679 'VCLinkerTool': { 680 'AdditionalLibraryDirectories': ['<(lib_dir)', ], 681 'AdditionalDependencies': ['chrome.user32.delay.lib', ], 682 }, 683 }, 684 }, 685 }, 686 { 687 'target_name': 'crash_service_win64', 688 'type': 'executable', 689 'product_name': 'crash_service64', 690 'dependencies': [ 691 'installer_util_nacl_win64', 692 '../base/base.gyp:base_static_win64', 693 '../chrome/common_constants.gyp:common_constants_win64', 694 '../components/components.gyp:breakpad_crash_service_win64', 695 ], 696 'include_dirs': [ 697 '..', 698 ], 699 'sources': [ 700 'tools/crash_service/main.cc', 701 '../content/public/common/content_switches.cc', 702 ], 703 'defines': [ 704 'COMPILE_CONTENT_STATICALLY', 705 ], 706 'msvs_settings': { 707 'VCLinkerTool': { 708 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 709 }, 710 }, 711 'configurations': { 712 'Common_Base': { 713 'msvs_target_platform': 'x64', 714 }, 715 }, 716 }, 717 ]}, # 'targets' 718 ], # OS=="win" and target_arch=="ia32" 719 ['chromeos==1', { 720 'includes': [ 'chrome_browser_chromeos.gypi' ], 721 }], # chromeos==1 722 ['OS=="android"', 723 { 724 'targets': [ 725 { 726 'target_name': 'chrome_java', 727 'type': 'none', 728 'dependencies': [ 729 'activity_type_ids_java', 730 'app_banner_metrics_ids_java', 731 'chrome_resources.gyp:chrome_strings', 732 'chrome_strings_grd', 733 'profile_sync_service_model_type_selection_java', 734 'resource_id_java', 735 'toolbar_model_security_levels_java', 736 'tab_load_status_java', 737 '../base/base.gyp:base', 738 '../components/components.gyp:autofill_java', 739 '../components/components.gyp:dom_distiller_core_java', 740 '../components/components.gyp:gcm_driver_java', 741 '../components/components.gyp:navigation_interception_java', 742 '../components/components.gyp:sessions', 743 '../components/components.gyp:web_contents_delegate_android_java', 744 '../content/content.gyp:content_java', 745 '../printing/printing.gyp:printing_java', 746 '../sync/sync.gyp:sync_java', 747 '../third_party/android_tools/android_tools.gyp:android_support_v7_appcompat_javalib', 748 '../third_party/guava/guava.gyp:guava_javalib', 749 '../ui/android/ui_android.gyp:ui_java', 750 ], 751 'variables': { 752 'java_in_dir': '../chrome/android/java', 753 'has_java_resources': 1, 754 'R_package': 'org.chromium.chrome', 755 'R_package_relpath': 'org/chromium/chrome', 756 # Include xml string files generated from generated_resources.grd 757 'res_extra_dirs': ['<(SHARED_INTERMEDIATE_DIR)/chrome/java/res'], 758 'res_extra_files': ['<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(SHARED_INTERMEDIATE_DIR)/chrome" app/generated_resources.grd)'], 759 }, 760 'includes': [ 761 '../build/java.gypi', 762 ], 763 }, 764 { 765 'target_name': 'chrome_strings_grd', 766 'type': 'none', 767 'variables': { 768 'grd_file': '../chrome/android/java/strings/android_chrome_strings.grd', 769 }, 770 'includes': [ 771 '../build/java_strings_grd.gypi', 772 ], 773 }, 774 ], # 'targets' 775 'includes': [ 776 'chrome_android.gypi', 777 ]}, # 'includes' 778 ], # OS=="android" 779 ['configuration_policy==1 and OS!="android" and OS!="ios"', { 780 'includes': [ 'policy.gypi', ], 781 }], 782 ['enable_printing==1', { 783 'targets': [ 784 { 785 'target_name': 'service', 786 'type': 'static_library', 787 'variables': { 'enable_wexit_time_destructors': 1, }, 788 'dependencies': [ 789 'chrome_resources.gyp:chrome_strings', 790 'common', 791 'common_net', 792 '../base/base.gyp:base', 793 '../components/components.gyp:cloud_devices_common', 794 '../google_apis/google_apis.gyp:google_apis', 795 '../jingle/jingle.gyp:notifier', 796 '../net/net.gyp:net', 797 '../printing/printing.gyp:printing', 798 '../skia/skia.gyp:skia', 799 '../third_party/libjingle/libjingle.gyp:libjingle', 800 ], 801 'sources': [ 802 'service/cloud_print/cdd_conversion_win.cc', 803 'service/cloud_print/cdd_conversion_win.h', 804 'service/cloud_print/cloud_print_auth.cc', 805 'service/cloud_print/cloud_print_auth.h', 806 'service/cloud_print/cloud_print_connector.cc', 807 'service/cloud_print/cloud_print_connector.h', 808 'service/cloud_print/cloud_print_proxy.cc', 809 'service/cloud_print/cloud_print_proxy.h', 810 'service/cloud_print/cloud_print_proxy_backend.cc', 811 'service/cloud_print/cloud_print_proxy_backend.h', 812 'service/cloud_print/cloud_print_service_helpers.cc', 813 'service/cloud_print/cloud_print_service_helpers.h', 814 'service/cloud_print/cloud_print_token_store.cc', 815 'service/cloud_print/cloud_print_token_store.h', 816 'service/cloud_print/cloud_print_url_fetcher.cc', 817 'service/cloud_print/cloud_print_url_fetcher.h', 818 'service/cloud_print/cloud_print_wipeout.cc', 819 'service/cloud_print/cloud_print_wipeout.h', 820 'service/cloud_print/connector_settings.cc', 821 'service/cloud_print/connector_settings.h', 822 'service/cloud_print/job_status_updater.cc', 823 'service/cloud_print/job_status_updater.h', 824 'service/cloud_print/print_system.cc', 825 'service/cloud_print/print_system.h', 826 'service/cloud_print/print_system_win.cc', 827 'service/cloud_print/printer_job_handler.cc', 828 'service/cloud_print/printer_job_handler.h', 829 'service/cloud_print/printer_job_queue_handler.cc', 830 'service/cloud_print/printer_job_queue_handler.h', 831 'service/net/service_url_request_context.cc', 832 'service/net/service_url_request_context.h', 833 'service/service_ipc_server.cc', 834 'service/service_ipc_server.h', 835 'service/service_main.cc', 836 'service/service_process.cc', 837 'service/service_process.h', 838 'service/service_process_prefs.cc', 839 'service/service_process_prefs.h', 840 'service/service_utility_process_host.cc', 841 'service/service_utility_process_host.h', 842 ], 843 'include_dirs': [ 844 '..', 845 ], 846 'conditions': [ 847 ['use_cups==1', { 848 'dependencies': [ 849 '../printing/printing.gyp:cups', 850 ], 851 'sources': [ 852 'service/cloud_print/print_system_cups.cc', 853 ], 854 }], 855 ['OS!="win" and use_cups!=1', { 856 'sources': [ 857 'service/cloud_print/print_system_dummy.cc', 858 ], 859 }], 860 ], 861 }, 862 ], 863 }], 864 ], # 'conditions' 865} 866