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 'lastchange_path': '../build/util/LASTCHANGE', 8 'libpeer_target_type%': 'static_library', 9 # 'branding_dir' is set in the 'conditions' section at the bottom. 10 }, 11 'conditions': [ 12 ['OS=="win"', { 13 'targets': [ 14 { 15 'target_name': 'gcapi_dll', 16 'type': 'loadable_module', 17 'dependencies': [ 18 'gcapi_lib', 19 ], 20 'include_dirs': [ 21 '..', 22 ], 23 'sources': [ 24 'installer/gcapi/gcapi.def', 25 'installer/gcapi/gcapi_dll.cc', 26 ], 27 }, 28 { 29 'target_name': 'gcapi_lib', 30 'type': 'static_library', 31 'dependencies': [ 32 'installer_util', 33 '../base/base.gyp:base', 34 '../chrome/chrome.gyp:launcher_support', 35 '../google_update/google_update.gyp:google_update', 36 ], 37 'include_dirs': [ 38 '..', 39 ], 40 'sources': [ 41 'installer/gcapi/gcapi.cc', 42 'installer/gcapi/gcapi.h', 43 'installer/gcapi/gcapi_omaha_experiment.cc', 44 'installer/gcapi/gcapi_omaha_experiment.h', 45 'installer/gcapi/gcapi_reactivation.cc', 46 'installer/gcapi/gcapi_reactivation.h', 47 ], 48 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 49 'msvs_disabled_warnings': [ 4267, ], 50 }, 51 { 52 'target_name': 'gcapi_test', 53 'type': 'executable', 54 'dependencies': [ 55 'common', 56 'gcapi_dll', 57 'gcapi_lib', 58 'installer_util', 59 '../base/base.gyp:base', 60 '../base/base.gyp:test_support_base', 61 '../testing/gtest.gyp:gtest', 62 ], 63 'include_dirs': [ 64 '..', 65 ], 66 'sources': [ 67 'installer/gcapi/gcapi_last_run_test.cc', 68 'installer/gcapi/gcapi_omaha_experiment_test.cc', 69 'installer/gcapi/gcapi_reactivation_test.cc', 70 'installer/gcapi/gcapi_test_registry_overrider.cc', 71 'installer/gcapi/gcapi_test_registry_overrider.h', 72 'installer/gcapi/gcapi_test.cc', 73 'installer/gcapi/gcapi_test.rc', 74 'installer/gcapi/resource.h', 75 ], 76 }, 77 { 78 'target_name': 'installer_util_unittests', 79 'type': 'executable', 80 'dependencies': [ 81 'installer_util', 82 'installer_util_strings', 83 'installer/upgrade_test.gyp:alternate_version_generator_lib', 84 '../base/base.gyp:base', 85 '../base/base.gyp:base_i18n', 86 '../base/base.gyp:test_support_base', 87 '../chrome/chrome.gyp:chrome_version_resources', 88 '../content/content.gyp:content_common', 89 '../testing/gmock.gyp:gmock', 90 '../testing/gtest.gyp:gtest', 91 ], 92 'include_dirs': [ 93 '..', 94 ], 95 'sources': [ 96 'installer/setup/compat_checks_unittest.cc', 97 'installer/setup/setup_constants.cc', 98 'installer/util/advanced_firewall_manager_win_unittest.cc', 99 'installer/util/callback_work_item_unittest.cc', 100 'installer/util/channel_info_unittest.cc', 101 'installer/util/copy_tree_work_item_unittest.cc', 102 'installer/util/create_dir_work_item_unittest.cc', 103 'installer/util/create_reg_key_work_item_unittest.cc', 104 'installer/util/delete_after_reboot_helper_unittest.cc', 105 'installer/util/delete_reg_key_work_item_unittest.cc', 106 'installer/util/delete_reg_value_work_item_unittest.cc', 107 'installer/util/delete_tree_work_item_unittest.cc', 108 'installer/util/duplicate_tree_detector_unittest.cc', 109 'installer/util/fake_installation_state.h', 110 'installer/util/fake_product_state.h', 111 'installer/util/google_update_settings_unittest.cc', 112 'installer/util/install_util_unittest.cc', 113 'installer/util/installation_validation_helper.cc', 114 'installer/util/installation_validation_helper.h', 115 'installer/util/installation_validator_unittest.cc', 116 'installer/util/installer_state_unittest.cc', 117 'installer/util/installer_util_test_common.cc', 118 'installer/util/installer_util_test_common.h', 119 'installer/util/installer_util_unittests.rc', 120 'installer/util/installer_util_unittests_resource.h', 121 'installer/util/language_selector_unittest.cc', 122 'installer/util/legacy_firewall_manager_win_unittest.cc', 123 'installer/util/logging_installer_unittest.cc', 124 'installer/util/lzma_util_unittest.cc', 125 'installer/util/master_preferences_unittest.cc', 126 'installer/util/move_tree_work_item_unittest.cc', 127 'installer/util/product_state_unittest.cc', 128 'installer/util/product_unittest.cc', 129 'installer/util/product_unittest.h', 130 'installer/util/registry_key_backup_unittest.cc', 131 'installer/util/registry_test_data.cc', 132 'installer/util/registry_test_data.h', 133 'installer/util/run_all_unittests.cc', 134 'installer/util/self_cleaning_temp_dir_unittest.cc', 135 'installer/util/set_reg_value_work_item_unittest.cc', 136 'installer/util/shell_util_unittest.cc', 137 'installer/util/uninstall_metrics_unittest.cc', 138 'installer/util/wmi_unittest.cc', 139 'installer/util/work_item_list_unittest.cc', 140 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc', 141 ], 142 'msvs_settings': { 143 'VCManifestTool': { 144 'AdditionalManifestFiles': [ 145 '$(ProjectDir)\\installer\\mini_installer\\mini_installer.exe.manifest', 146 ], 147 }, 148 }, 149 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 150 'msvs_disabled_warnings': [ 4267, ], 151 }, 152 { 153 'target_name': 'installer_util_strings', 154 'type': 'none', 155 'actions': [ 156 { 157 'action_name': 'installer_util_strings', 158 'variables': { 159 'create_string_rc_py': 'installer/util/prebuild/create_string_rc.py', 160 }, 161 'conditions': [ 162 ['branding=="Chrome"', { 163 'variables': { 164 'brand_strings': 'google_chrome_strings', 165 }, 166 }, { 167 'variables': { 168 'brand_strings': 'chromium_strings', 169 }, 170 }], 171 ], 172 'inputs': [ 173 '<(create_string_rc_py)', 174 'app/<(brand_strings).grd', 175 ], 176 'outputs': [ 177 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.h', 178 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc', 179 ], 180 'action': ['python', 181 '<(create_string_rc_py)', 182 '-i', 'app/<(brand_strings).grd:resources', 183 '-n', 'installer_util_strings', 184 '-o', '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings',], 185 'message': 'Generating installer_util_strings', 186 }, 187 ], 188 'direct_dependent_settings': { 189 'include_dirs': [ 190 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings', 191 ], 192 }, 193 }, 194 { 195 'target_name': 'launcher_support', 196 'type': 'static_library', 197 'include_dirs': [ 198 '..', 199 ], 200 'direct_dependent_settings': { 201 'include_dirs': [ 202 '..', 203 ], 204 }, 205 'dependencies': [ 206 '<(DEPTH)/base/base.gyp:base', 207 ], 208 'sources': [ 209 'installer/launcher_support/chrome_launcher_support.cc', 210 'installer/launcher_support/chrome_launcher_support.h', 211 ], 212 }, 213 { 214 'target_name': 'setup', 215 'type': 'executable', 216 'dependencies': [ 217 'installer_util', 218 'installer_util_strings', 219 'launcher_support', 220 '../base/base.gyp:base', 221 '../breakpad/breakpad.gyp:breakpad_handler', 222 '../chrome/common_constants.gyp:common_constants', 223 '../rlz/rlz.gyp:rlz_lib', 224 '../third_party/zlib/zlib.gyp:zlib', 225 ], 226 'include_dirs': [ 227 '..', 228 '<(INTERMEDIATE_DIR)', 229 '<(SHARED_INTERMEDIATE_DIR)/setup', 230 ], 231 'direct_dependent_settings': { 232 'include_dirs': [ 233 '<(SHARED_INTERMEDIATE_DIR)/setup', 234 ], 235 }, 236 'sources': [ 237 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc', 238 'installer/mini_installer/chrome.release', 239 'installer/setup/archive_patch_helper.cc', 240 'installer/setup/archive_patch_helper.h', 241 'installer/setup/install.cc', 242 'installer/setup/install.h', 243 'installer/setup/install_worker.cc', 244 'installer/setup/install_worker.h', 245 'installer/setup/setup_main.cc', 246 'installer/setup/setup_main.h', 247 'installer/setup/setup.ico', 248 'installer/setup/setup.rc', 249 'installer/setup/setup_constants.cc', 250 'installer/setup/setup_constants.h', 251 'installer/setup/setup_exe_version.rc.version', 252 'installer/setup/setup_resource.h', 253 'installer/setup/setup_util.cc', 254 'installer/setup/setup_util.h', 255 'installer/setup/uninstall.cc', 256 'installer/setup/uninstall.h', 257 ], 258 'msvs_settings': { 259 'VCLinkerTool': { 260 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 261 }, 262 'VCManifestTool': { 263 'AdditionalManifestFiles': [ 264 '$(ProjectDir)\\installer\\setup\\setup.exe.manifest', 265 ], 266 }, 267 }, 268 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 269 'msvs_disabled_warnings': [ 4267, ], 270 'rules': [ 271 { 272 'rule_name': 'setup_version', 273 'extension': 'version', 274 'variables': { 275 'version_py_path': '<(DEPTH)/build/util/version.py', 276 'template_input_path': 'installer/setup/setup_exe_version.rc.version', 277 }, 278 'inputs': [ 279 '<(template_input_path)', 280 '<(version_path)', 281 '<(lastchange_path)', 282 '<(branding_dir)/BRANDING', 283 ], 284 'outputs': [ 285 '<(SHARED_INTERMEDIATE_DIR)/setup/setup_exe_version.rc', 286 ], 287 'action': [ 288 'python', '<(version_py_path)', 289 '-f', '<(version_path)', 290 '-f', '<(lastchange_path)', 291 '-f', '<(branding_dir)/BRANDING', 292 '<(template_input_path)', 293 '<@(_outputs)', 294 ], 295 'process_outputs_as_sources': 1, 296 'message': 'Generating version information' 297 }, 298 ], 299 'conditions': [ 300 # TODO(mark): <(branding_dir) should be defined by the 301 # global condition block at the bottom of the file, but 302 # this doesn't work due to the following issue: 303 # 304 # http://code.google.com/p/gyp/issues/detail?id=22 305 # 306 # Remove this block once the above issue is fixed. 307 [ 'branding == "Chrome"', { 308 'variables': { 309 'branding_dir': 'app/theme/google_chrome', 310 'branding_dir_100': 'app/theme/default_100_percent/google_chrome', 311 }, 312 }, { # else branding!="Chrome" 313 'variables': { 314 'branding_dir': 'app/theme/chromium', 315 'branding_dir_100': 'app/theme/default_100_percent/chromium', 316 }, 317 }], 318 ['target_arch=="ia32"', { 319 'msvs_settings': { 320 'VCCLCompilerTool': { 321 'EnableEnhancedInstructionSet': '4', # NoExtensions 322 }, 323 }, 324 }], 325 ], 326 }, 327 { 328 'target_name': 'setup_unittests', 329 'type': 'executable', 330 'dependencies': [ 331 'installer_util', 332 'installer_util_strings', 333 'launcher_support', 334 '../base/base.gyp:base', 335 '../base/base.gyp:base_i18n', 336 '../base/base.gyp:test_support_base', 337 '../testing/gmock.gyp:gmock', 338 '../testing/gtest.gyp:gtest', 339 ], 340 'include_dirs': [ 341 '..', 342 '<(INTERMEDIATE_DIR)', 343 ], 344 # TODO(robertshield): Move the items marked with "Move to lib" 345 # below into a separate lib and then link both setup.exe and 346 # setup_unittests.exe against that. 347 'sources': [ 348 'installer/mini_installer/chrome.release', # Move to lib 349 'installer/mini_installer/appid.h', 350 'installer/mini_installer/chrome_appid.cc', 351 'installer/mini_installer/configuration.cc', 352 'installer/mini_installer/configuration.h', 353 'installer/mini_installer/configuration_test.cc', 354 'installer/mini_installer/decompress.cc', 355 'installer/mini_installer/decompress.h', 356 'installer/mini_installer/decompress_test.cc', 357 'installer/mini_installer/mini_string.cc', 358 'installer/mini_installer/mini_string.h', 359 'installer/mini_installer/mini_string_test.cc', 360 'installer/setup/archive_patch_helper.cc', # Move to lib 361 'installer/setup/archive_patch_helper.h', # Move to lib 362 'installer/setup/archive_patch_helper_unittest.cc', 363 'installer/setup/install.cc', # Move to lib 364 'installer/setup/install.h', # Move to lib 365 'installer/setup/install_unittest.cc', 366 'installer/setup/install_worker.cc', # Move to lib 367 'installer/setup/install_worker.h', # Move to lib 368 'installer/setup/install_worker_unittest.cc', 369 'installer/setup/run_all_unittests.cc', 370 'installer/setup/setup_constants.cc', # Move to lib 371 'installer/setup/setup_constants.h', # Move to lib 372 'installer/setup/setup_unittests.rc', 373 'installer/setup/setup_unittests_resource.h', 374 'installer/setup/setup_util.cc', 375 'installer/setup/setup_util_unittest.cc', 376 'installer/setup/setup_util_unittest.h', 377 ], 378 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 379 'msvs_disabled_warnings': [ 4267, ], 380 }, 381 ], 382 }], 383 ['OS=="win" and target_arch=="ia32"', { 384 'targets': [ 385 { 386 'target_name': 'launcher_support64', 387 'type': 'static_library', 388 'include_dirs': [ 389 '..', 390 ], 391 'direct_dependent_settings': { 392 'include_dirs': [ 393 '..', 394 ], 395 }, 396 'defines': [ 397 '<@(nacl_win64_defines)', 398 ], 399 'dependencies': [ 400 '<(DEPTH)/base/base.gyp:base_win64', 401 ], 402 'configurations': { 403 'Common_Base': { 404 'msvs_target_platform': 'x64', 405 }, 406 }, 407 'sources': [ 408 'installer/launcher_support/chrome_launcher_support.cc', 409 'installer/launcher_support/chrome_launcher_support.h', 410 ], 411 }, 412 ], 413 }], 414 ['OS=="linux" and branding=="Chrome"', { 415 'variables': { 416 # Always google_chrome since this only applies to branding==Chrome. 417 'branding_dir': 'app/theme/google_chrome', 418 'branding_dir_100': 'app/theme/default_100_percent/google_chrome', 419 'version' : '<!(python <(version_py_path) -f ../chrome/VERSION -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")', 420 'revision' : '<!(python ../build/util/lastchange.py --revision-only)', 421 'packaging_files_common': [ 422 'installer/linux/common/apt.include', 423 'installer/linux/common/default-app.template', 424 'installer/linux/common/default-app-block.template', 425 'installer/linux/common/desktop.template', 426 'installer/linux/common/google-chrome/google-chrome.info', 427 'installer/linux/common/installer.include', 428 'installer/linux/common/postinst.include', 429 'installer/linux/common/prerm.include', 430 'installer/linux/common/repo.cron', 431 'installer/linux/common/rpm.include', 432 'installer/linux/common/rpmrepo.cron', 433 'installer/linux/common/symlinks.include', 434 'installer/linux/common/variables.include', 435 'installer/linux/common/wrapper', 436 ], 437 'packaging_files_deb': [ 438 'installer/linux/debian/build.sh', 439 'installer/linux/debian/changelog.template', 440 'installer/linux/debian/control.template', 441 'installer/linux/debian/debian.menu', 442 'installer/linux/debian/expected_deps', 443 'installer/linux/debian/postinst', 444 'installer/linux/debian/postrm', 445 'installer/linux/debian/prerm', 446 ], 447 'packaging_files_rpm': [ 448 'installer/linux/rpm/build.sh', 449 'installer/linux/rpm/chrome.spec.template', 450 'installer/linux/rpm/expected_deps_i386', 451 'installer/linux/rpm/expected_deps_x86_64', 452 ], 453 'packaging_files_binaries': [ 454 # TODO(mmoss) Any convenient way to get all the relevant build 455 # files? (e.g. all locales, resources, etc.) 456 '<(PRODUCT_DIR)/chrome', 457 '<(PRODUCT_DIR)/chrome_sandbox', 458 '<(PRODUCT_DIR)/libffmpegsumo.so', 459 '<(PRODUCT_DIR)/libpdf.so', 460 '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so', 461 '<(PRODUCT_DIR)/xdg-mime', 462 '<(PRODUCT_DIR)/xdg-settings', 463 '<(PRODUCT_DIR)/locales/en-US.pak', 464 '<(PRODUCT_DIR)/nacl_helper', 465 '<(PRODUCT_DIR)/nacl_helper_bootstrap', 466 '<(PRODUCT_DIR)/PepperFlash/libpepflashplayer.so', 467 '<(PRODUCT_DIR)/PepperFlash/manifest.json', 468 '<@(default_apps_list_linux_dest)', 469 ], 470 'flock_bash': ['flock', '--', '/tmp/linux_package_lock', 'bash'], 471 'deb_build': '<(PRODUCT_DIR)/installer/debian/build.sh', 472 'rpm_build': '<(PRODUCT_DIR)/installer/rpm/build.sh', 473 'deb_cmd': ['<@(flock_bash)', '<(deb_build)', '-o' '<(PRODUCT_DIR)', 474 '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'], 475 'rpm_cmd': ['<@(flock_bash)', '<(rpm_build)', '-o' '<(PRODUCT_DIR)', 476 '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'], 477 'conditions': [ 478 ['target_arch=="ia32"', { 479 'deb_arch': 'i386', 480 'rpm_arch': 'i386', 481 'packaging_files_binaries': [ 482 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', 483 '<(PRODUCT_DIR)/libwidevinecdmadapter.so', 484 '<(PRODUCT_DIR)/libwidevinecdm.so', 485 ], 486 'packaging_files_common': [ 487 '<(DEPTH)/build/linux/bin/eu-strip', 488 ], 489 }], 490 ['target_arch=="x64"', { 491 'deb_arch': 'amd64', 492 'rpm_arch': 'x86_64', 493 'packaging_files_binaries': [ 494 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', 495 '<(PRODUCT_DIR)/libwidevinecdmadapter.so', 496 '<(PRODUCT_DIR)/libwidevinecdm.so', 497 ], 498 'packaging_files_common': [ 499 '<!(which eu-strip)', 500 ], 501 }], 502 ['target_arch=="arm"', { 503 'deb_arch': 'arm', 504 'rpm_arch': 'arm', 505 }], 506 ['libpeer_target_type!="static_library"', { 507 'packaging_files_binaries': [ 508 '<(PRODUCT_DIR)/lib/libpeerconnection.so', 509 ], 510 }], 511 ], 512 }, 513 'targets': [ 514 { 515 'target_name': 'linux_installer_configs', 516 'type': 'none', 517 # Add these files to the build output so the build archives will be 518 # "hermetic" for packaging. This is only for branding="Chrome" since 519 # we only create packages for official builds. 520 'copies': [ 521 { 522 'destination': '<(PRODUCT_DIR)/installer/debian/', 523 'files': [ 524 '<@(packaging_files_deb)', 525 ] 526 }, 527 { 528 'destination': '<(PRODUCT_DIR)/installer/rpm/', 529 'files': [ 530 '<@(packaging_files_rpm)', 531 ] 532 }, 533 { 534 'destination': '<(PRODUCT_DIR)/installer/common/', 535 'files': [ 536 '<@(packaging_files_common)', 537 ] 538 }, 539 # Additional theme resources needed for package building. 540 { 541 'destination': '<(PRODUCT_DIR)/installer/theme/', 542 'files': [ 543 '<(branding_dir_100)/product_logo_16.png', 544 '<(branding_dir)/product_logo_22.png', 545 '<(branding_dir)/product_logo_24.png', 546 '<(branding_dir_100)/product_logo_32.png', 547 '<(branding_dir)/product_logo_48.png', 548 '<(branding_dir)/product_logo_64.png', 549 '<(branding_dir)/product_logo_128.png', 550 '<(branding_dir)/product_logo_256.png', 551 '<(branding_dir)/product_logo_32.xpm', 552 '<(branding_dir)/BRANDING', 553 ], 554 }, 555 ], 556 'actions': [ 557 { 558 'action_name': 'save_build_info', 559 'inputs': [ 560 '<(branding_dir)/BRANDING', 561 '<(version_path)', 562 '<(lastchange_path)', 563 ], 564 'outputs': [ 565 '<(PRODUCT_DIR)/installer/version.txt', 566 ], 567 # Just output the default version info variables. 568 'action': [ 569 'python', '<(version_py_path)', 570 '-f', '<(branding_dir)/BRANDING', 571 '-f', '<(version_path)', 572 '-f', '<(lastchange_path)', 573 '-o', '<@(_outputs)' 574 ], 575 }, 576 ], 577 }, 578 { 579 'target_name': 'linux_packages_all', 580 'suppress_wildcard': 1, 581 'type': 'none', 582 'dependencies': [ 583 'linux_packages_unstable', 584 'linux_packages_beta', 585 'linux_packages_stable', 586 ], 587 }, 588 { 589 # 'asan' is a developer, testing-only package, so it shouldn't be 590 # included in the 'linux_packages_all' collection. 591 'target_name': 'linux_packages_asan', 592 'suppress_wildcard': 1, 593 'type': 'none', 594 'dependencies': [ 595 'linux_packages_asan_deb', 596 ], 597 # ChromeOS doesn't care about RPM packages. 598 'conditions': [ 599 ['chromeos==0', { 600 'dependencies': [ 601 'linux_packages_asan_rpm', 602 ], 603 }], 604 ], 605 }, 606 { 607 # 'trunk' is a developer, testing-only package, so it shouldn't be 608 # included in the 'linux_packages_all' collection. 609 'target_name': 'linux_packages_trunk', 610 'suppress_wildcard': 1, 611 'type': 'none', 612 'dependencies': [ 613 'linux_packages_trunk_deb', 614 ], 615 # ChromeOS doesn't care about RPM packages. 616 'conditions': [ 617 ['chromeos==0', { 618 'dependencies': [ 619 'linux_packages_trunk_rpm', 620 ], 621 }], 622 ], 623 }, 624 { 625 'target_name': 'linux_packages_unstable', 626 'suppress_wildcard': 1, 627 'type': 'none', 628 'dependencies': [ 629 'linux_packages_unstable_deb', 630 ], 631 # ChromeOS doesn't care about RPM packages. 632 'conditions': [ 633 ['chromeos==0', { 634 'dependencies': [ 635 'linux_packages_unstable_rpm', 636 ], 637 }], 638 ], 639 }, 640 { 641 'target_name': 'linux_packages_beta', 642 'suppress_wildcard': 1, 643 'type': 'none', 644 'dependencies': [ 645 'linux_packages_beta_deb', 646 ], 647 # ChromeOS doesn't care about RPM packages. 648 'conditions': [ 649 ['chromeos==0', { 650 'dependencies': [ 651 'linux_packages_beta_rpm', 652 ], 653 }], 654 ], 655 }, 656 { 657 'target_name': 'linux_packages_stable', 658 'suppress_wildcard': 1, 659 'type': 'none', 660 'dependencies': [ 661 'linux_packages_stable_deb', 662 ], 663 # ChromeOS doesn't care about RPM packages. 664 'conditions': [ 665 ['chromeos==0', { 666 'dependencies': [ 667 'linux_packages_stable_rpm', 668 ], 669 }], 670 ], 671 }, 672 # TODO(mmoss) gyp looping construct would be handy here ... 673 # These package actions are the same except for the 'channel' variable. 674 { 675 'target_name': 'linux_packages_asan_deb', 676 'suppress_wildcard': 1, 677 'type': 'none', 678 'dependencies': [ 679 'chrome', 680 'linux_installer_configs', 681 ], 682 'actions': [ 683 { 684 'variables': { 685 'channel': 'asan', 686 }, 687 'action_name': 'deb_packages_<(channel)', 688 'process_outputs_as_sources': 1, 689 'inputs': [ 690 '<(deb_build)', 691 '<@(packaging_files_binaries)', 692 '<@(packaging_files_common)', 693 '<@(packaging_files_deb)', 694 ], 695 'outputs': [ 696 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-1_<(deb_arch).deb', 697 ], 698 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ], 699 }, 700 ], 701 }, 702 { 703 'target_name': 'linux_packages_trunk_deb', 704 'suppress_wildcard': 1, 705 'type': 'none', 706 'dependencies': [ 707 'chrome', 708 'linux_installer_configs', 709 ], 710 'actions': [ 711 { 712 'variables': { 713 'channel': 'trunk', 714 }, 715 'action_name': 'deb_packages_<(channel)', 716 'process_outputs_as_sources': 1, 717 'inputs': [ 718 '<(deb_build)', 719 '<@(packaging_files_binaries)', 720 '<@(packaging_files_common)', 721 '<@(packaging_files_deb)', 722 ], 723 'outputs': [ 724 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-1_<(deb_arch).deb', 725 ], 726 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ], 727 }, 728 ], 729 }, 730 { 731 'target_name': 'linux_packages_unstable_deb', 732 'suppress_wildcard': 1, 733 'type': 'none', 734 'dependencies': [ 735 'chrome', 736 'linux_installer_configs', 737 ], 738 'actions': [ 739 { 740 'variables': { 741 'channel': 'unstable', 742 }, 743 'action_name': 'deb_packages_<(channel)', 744 'process_outputs_as_sources': 1, 745 'inputs': [ 746 '<(deb_build)', 747 '<@(packaging_files_binaries)', 748 '<@(packaging_files_common)', 749 '<@(packaging_files_deb)', 750 ], 751 'outputs': [ 752 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-1_<(deb_arch).deb', 753 ], 754 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ], 755 }, 756 ], 757 }, 758 { 759 'target_name': 'linux_packages_beta_deb', 760 'suppress_wildcard': 1, 761 'type': 'none', 762 'dependencies': [ 763 'chrome', 764 'linux_installer_configs', 765 ], 766 'actions': [ 767 { 768 'variables': { 769 'channel': 'beta', 770 }, 771 'action_name': 'deb_packages_<(channel)', 772 'process_outputs_as_sources': 1, 773 'inputs': [ 774 '<(deb_build)', 775 '<@(packaging_files_binaries)', 776 '<@(packaging_files_common)', 777 '<@(packaging_files_deb)', 778 ], 779 'outputs': [ 780 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-1_<(deb_arch).deb', 781 ], 782 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ], 783 }, 784 ], 785 }, 786 { 787 'target_name': 'linux_packages_stable_deb', 788 'suppress_wildcard': 1, 789 'type': 'none', 790 'dependencies': [ 791 'chrome', 792 'linux_installer_configs', 793 ], 794 'actions': [ 795 { 796 'variables': { 797 'channel': 'stable', 798 }, 799 'action_name': 'deb_packages_<(channel)', 800 'process_outputs_as_sources': 1, 801 'inputs': [ 802 '<(deb_build)', 803 '<@(packaging_files_binaries)', 804 '<@(packaging_files_common)', 805 '<@(packaging_files_deb)', 806 ], 807 'outputs': [ 808 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-1_<(deb_arch).deb', 809 ], 810 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ], 811 }, 812 ], 813 }, 814 { 815 'target_name': 'linux_packages_asan_rpm', 816 'suppress_wildcard': 1, 817 'type': 'none', 818 'dependencies': [ 819 'chrome', 820 'linux_installer_configs', 821 ], 822 'actions': [ 823 { 824 'variables': { 825 'channel': 'asan', 826 }, 827 'action_name': 'rpm_packages_<(channel)', 828 'process_outputs_as_sources': 1, 829 'inputs': [ 830 '<(rpm_build)', 831 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template', 832 '<@(packaging_files_binaries)', 833 '<@(packaging_files_common)', 834 '<@(packaging_files_rpm)', 835 ], 836 'outputs': [ 837 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-1.<(rpm_arch).rpm', 838 ], 839 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ], 840 }, 841 ], 842 }, 843 { 844 'target_name': 'linux_packages_trunk_rpm', 845 'suppress_wildcard': 1, 846 'type': 'none', 847 'dependencies': [ 848 'chrome', 849 'linux_installer_configs', 850 ], 851 'actions': [ 852 { 853 'variables': { 854 'channel': 'trunk', 855 }, 856 'action_name': 'rpm_packages_<(channel)', 857 'process_outputs_as_sources': 1, 858 'inputs': [ 859 '<(rpm_build)', 860 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template', 861 '<@(packaging_files_binaries)', 862 '<@(packaging_files_common)', 863 '<@(packaging_files_rpm)', 864 ], 865 'outputs': [ 866 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-1.<(rpm_arch).rpm', 867 ], 868 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ], 869 }, 870 ], 871 }, 872 { 873 'target_name': 'linux_packages_unstable_rpm', 874 'suppress_wildcard': 1, 875 'type': 'none', 876 'dependencies': [ 877 'chrome', 878 'linux_installer_configs', 879 ], 880 'actions': [ 881 { 882 'variables': { 883 'channel': 'unstable', 884 }, 885 'action_name': 'rpm_packages_<(channel)', 886 'process_outputs_as_sources': 1, 887 'inputs': [ 888 '<(rpm_build)', 889 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template', 890 '<@(packaging_files_binaries)', 891 '<@(packaging_files_common)', 892 '<@(packaging_files_rpm)', 893 ], 894 'outputs': [ 895 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-1.<(rpm_arch).rpm', 896 ], 897 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ], 898 }, 899 ], 900 }, 901 { 902 'target_name': 'linux_packages_beta_rpm', 903 'suppress_wildcard': 1, 904 'type': 'none', 905 'dependencies': [ 906 'chrome', 907 'linux_installer_configs', 908 ], 909 'actions': [ 910 { 911 'variables': { 912 'channel': 'beta', 913 }, 914 'action_name': 'rpm_packages_<(channel)', 915 'process_outputs_as_sources': 1, 916 'inputs': [ 917 '<(rpm_build)', 918 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template', 919 '<@(packaging_files_binaries)', 920 '<@(packaging_files_common)', 921 '<@(packaging_files_rpm)', 922 ], 923 'outputs': [ 924 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-1.<(rpm_arch).rpm', 925 ], 926 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ], 927 }, 928 ], 929 }, 930 { 931 'target_name': 'linux_packages_stable_rpm', 932 'suppress_wildcard': 1, 933 'type': 'none', 934 'dependencies': [ 935 'chrome', 936 'linux_installer_configs', 937 ], 938 'actions': [ 939 { 940 'variables': { 941 'channel': 'stable', 942 }, 943 'action_name': 'rpm_packages_<(channel)', 944 'process_outputs_as_sources': 1, 945 'inputs': [ 946 '<(rpm_build)', 947 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template', 948 '<@(packaging_files_binaries)', 949 '<@(packaging_files_common)', 950 '<@(packaging_files_rpm)', 951 ], 952 'outputs': [ 953 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-1.<(rpm_arch).rpm', 954 ], 955 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ], 956 }, 957 ], 958 }, 959 ], 960 }], 961 ['OS=="mac"', { 962 'variables': { 963 'mac_packaging_dir': 964 '<(PRODUCT_DIR)/<(mac_product_name) Packaging', 965 # <(PRODUCT_DIR) expands to $(BUILT_PRODUCTS_DIR), which doesn't 966 # work properly in a shell script, where ${BUILT_PRODUCTS_DIR} is 967 # needed. 968 'mac_packaging_sh_dir': 969 '${BUILT_PRODUCTS_DIR}/<(mac_product_name) Packaging', 970 }, # variables 971 'targets': [ 972 { 973 'target_name': 'installer_packaging', 974 'type': 'none', 975 'dependencies': [ 976 'installer/mac/third_party/bsdiff/goobsdiff.gyp:*', 977 'installer/mac/third_party/xz/xz.gyp:*', 978 ], 979 'conditions': [ 980 ['buildtype=="Official"', { 981 'actions': [ 982 { 983 # Create sign.sh, the script that the packaging system will 984 # use to sign the .app bundle. 985 'action_name': 'Make sign.sh', 986 'variables': { 987 'make_signers_sh_path': 'installer/mac/make_signers.sh', 988 }, 989 'inputs': [ 990 '<(make_signers_sh_path)', 991 'installer/mac/sign_app.sh.in', 992 'installer/mac/sign_versioned_dir.sh.in', 993 'installer/mac/app_resource_rules.plist.in', 994 '<(version_path)', 995 ], 996 'outputs': [ 997 '<(mac_packaging_dir)/sign_app.sh', 998 '<(mac_packaging_dir)/sign_versioned_dir.sh', 999 '<(mac_packaging_dir)/app_resource_rules.plist', 1000 ], 1001 'action': [ 1002 '<(make_signers_sh_path)', 1003 '<(mac_packaging_sh_dir)', 1004 '<(mac_product_name)', 1005 '<(version_full)', 1006 ], 1007 }, 1008 ], # actions 1009 }], # buildtype=="Official" 1010 ], # conditions 1011 'copies': [ 1012 { 1013 # Put the files where the packaging system will find them. The 1014 # packager will use these when building the "full installer" 1015 # disk images and delta/differential update disk images. 1016 'destination': '<(mac_packaging_dir)', 1017 'files': [ 1018 '<(PRODUCT_DIR)/goobsdiff', 1019 '<(PRODUCT_DIR)/goobspatch', 1020 '<(PRODUCT_DIR)/liblzma_decompress.dylib', 1021 '<(PRODUCT_DIR)/xz', 1022 '<(PRODUCT_DIR)/xzdec', 1023 'installer/mac/dirdiffer.sh', 1024 'installer/mac/dirpatcher.sh', 1025 'installer/mac/dmgdiffer.sh', 1026 'installer/mac/pkg-dmg', 1027 ], 1028 'conditions': [ 1029 ['mac_keystone==1', { 1030 'files': [ 1031 'installer/mac/keystone_install.sh', 1032 ], 1033 }], # mac_keystone 1034 ['branding=="Chrome" and buildtype=="Official"', { 1035 'files': [ 1036 'app/theme/google_chrome/mac/app_canary.icns', 1037 'app/theme/google_chrome/mac/document_canary.icns', 1038 'installer/mac/internal/chrome_canary_dmg_dsstore', 1039 'installer/mac/internal/chrome_canary_dmg_icon.icns', 1040 'installer/mac/internal/chrome_dmg_background.png', 1041 'installer/mac/internal/chrome_dmg_dsstore', 1042 'installer/mac/internal/chrome_dmg_icon.icns', 1043 'installer/mac/internal/generate_dmgs', 1044 ], 1045 }], # branding=="Chrome" and buildtype=="Official" 1046 ], # conditions 1047 }, 1048 ], # copies 1049 }, # target: installer_packaging 1050 { 1051 'target_name': 'gcapi_lib', 1052 'type': 'static_library', 1053 'include_dirs': [ 1054 '..', 1055 ], 1056 'sources': [ 1057 'installer/gcapi_mac/gcapi.h', 1058 'installer/gcapi_mac/gcapi.mm', 1059 ], 1060 'link_settings': { 1061 'libraries': [ 1062 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework', 1063 ], 1064 }, 1065 'xcode_settings': { 1066 'ARCHS': [ 'i386', 'x86_64' ], 1067 'MACOSX_DEPLOYMENT_TARGET': '10.4', 1068 'GCC_ENABLE_OBJC_GC': 'supported', 1069 }, 1070 }, 1071 { 1072 'target_name': 'gcapi_example', 1073 'type': 'executable', 1074 'dependencies': [ 1075 'gcapi_lib', 1076 ], 1077 'include_dirs': [ 1078 '..', 1079 ], 1080 'sources': [ 1081 'installer/gcapi_mac/gcapi_example_client.mm', 1082 ], 1083 }, 1084 ], # targets 1085 }], # OS=="mac" 1086 [ 'branding == "Chrome"', { 1087 'variables': { 1088 'branding_dir': 'app/theme/google_chrome', 1089 'branding_dir_100': 'app/theme/default_100_percent/google_chrome', 1090 }, 1091 }, { # else branding!="Chrome" 1092 'variables': { 1093 'branding_dir': 'app/theme/chromium', 1094 'branding_dir_100': 'app/theme/default_100_percent/chromium', 1095 }, 1096 }], 1097 ], 1098 } 1099