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.
7 'lastchange_path': '../build/util/LASTCHANGE',
8 # 'branding_dir' is set in the 'conditions' section at the bottom.
14 'target_name': 'gcapi_dll',
15 'type': 'loadable_module',
23 'installer/gcapi/gcapi.def',
24 'installer/gcapi/gcapi_dll.cc',
28 'target_name': 'gcapi_lib',
29 'type': 'static_library',
32 '../base/base.gyp:base',
33 '../chrome/chrome.gyp:launcher_support',
34 '../google_update/google_update.gyp:google_update',
40 'installer/gcapi/gcapi.cc',
41 'installer/gcapi/gcapi.h',
42 'installer/gcapi/gcapi_omaha_experiment.cc',
43 'installer/gcapi/gcapi_omaha_experiment.h',
44 'installer/gcapi/gcapi_reactivation.cc',
45 'installer/gcapi/gcapi_reactivation.h',
49 'target_name': 'gcapi_test',
56 '../base/base.gyp:base',
57 '../base/base.gyp:test_support_base',
58 '../testing/gtest.gyp:gtest',
64 'installer/gcapi/gcapi_last_run_test.cc',
65 'installer/gcapi/gcapi_reactivation_test.cc',
66 'installer/gcapi/gcapi_test.cc',
67 'installer/gcapi/gcapi_test.rc',
68 'installer/gcapi/resource.h',
72 'target_name': 'installer_util_unittests',
76 'installer_util_strings',
77 'installer/upgrade_test.gyp:alternate_version_generator_lib',
78 '../base/base.gyp:base',
79 '../base/base.gyp:base_i18n',
80 '../base/base.gyp:test_support_base',
81 '../build/temp_gyp/googleurl.gyp:googleurl',
82 '../chrome/chrome.gyp:chrome_version_resources',
83 '../content/content.gyp:content_common',
84 '../testing/gmock.gyp:gmock',
85 '../testing/gtest.gyp:gtest',
91 'installer/setup/compat_checks_unittest.cc',
92 'installer/setup/setup_constants.cc',
93 'installer/util/callback_work_item_unittest.cc',
94 'installer/util/channel_info_unittest.cc',
95 'installer/util/copy_reg_key_work_item_unittest.cc',
96 'installer/util/copy_tree_work_item_unittest.cc',
97 'installer/util/create_dir_work_item_unittest.cc',
98 'installer/util/create_reg_key_work_item_unittest.cc',
99 'installer/util/delete_after_reboot_helper_unittest.cc',
100 'installer/util/delete_reg_key_work_item_unittest.cc',
101 'installer/util/delete_reg_value_work_item_unittest.cc',
102 'installer/util/delete_tree_work_item_unittest.cc',
103 'installer/util/duplicate_tree_detector_unittest.cc',
104 'installer/util/fake_installation_state.h',
105 'installer/util/fake_product_state.h',
106 'installer/util/google_chrome_distribution_unittest.cc',
107 'installer/util/google_update_settings_unittest.cc',
108 'installer/util/install_util_unittest.cc',
109 'installer/util/installation_validation_helper.cc',
110 'installer/util/installation_validation_helper.h',
111 'installer/util/installation_validator_unittest.cc',
112 'installer/util/installer_state_unittest.cc',
113 'installer/util/installer_util_test_common.cc',
114 'installer/util/installer_util_test_common.h',
115 'installer/util/installer_util_unittests.rc',
116 'installer/util/installer_util_unittests_resource.h',
117 'installer/util/language_selector_unittest.cc',
118 'installer/util/logging_installer_unittest.cc',
119 'installer/util/lzma_util_unittest.cc',
120 'installer/util/master_preferences_unittest.cc',
121 'installer/util/move_tree_work_item_unittest.cc',
122 'installer/util/product_state_unittest.cc',
123 'installer/util/product_unittest.cc',
124 'installer/util/product_unittest.h',
125 'installer/util/registry_key_backup_unittest.cc',
126 'installer/util/registry_test_data.cc',
127 'installer/util/registry_test_data.h',
128 'installer/util/run_all_unittests.cc',
129 'installer/util/self_cleaning_temp_dir_unittest.cc',
130 'installer/util/set_reg_value_work_item_unittest.cc',
131 'installer/util/shell_util_unittest.cc',
132 'installer/util/wmi_unittest.cc',
133 'installer/util/work_item_list_unittest.cc',
134 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
138 'AdditionalManifestFiles': '$(ProjectDir)\\installer\\mini_installer\\mini_installer.exe.manifest',
143 'target_name': 'installer_util_strings',
147 'rule_name': 'installer_util_strings',
150 'create_string_rc_py' : 'installer/util/prebuild/create_string_rc.py',
153 '<(create_string_rc_py)',
154 '<(RULE_INPUT_PATH)',
157 # Don't use <(RULE_INPUT_ROOT) to create the output file
158 # name, because the base name of the input
159 # (generated_resources.grd) doesn't match the generated file
160 # (installer_util_strings.h).
161 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.h',
162 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc',
165 '<(create_string_rc_py)',
166 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings',
168 'message': 'Generating resources from <(RULE_INPUT_PATH)',
169 'msvs_cygwin_shell': 1,
173 'app/chromium_strings.grd',
175 'direct_dependent_settings': {
177 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings',
182 'target_name': 'launcher_support',
183 'type': 'static_library',
187 'direct_dependent_settings': {
193 '<(DEPTH)/base/base.gyp:base',
196 'installer/launcher_support/chrome_launcher_support.cc',
197 'installer/launcher_support/chrome_launcher_support.h',
201 'target_name': 'mini_installer_test',
202 'type': 'executable',
205 'installer_util_strings',
206 '../base/base.gyp:base',
207 '../base/base.gyp:base_i18n',
208 '../base/base.gyp:test_support_base',
209 '../chrome/chrome.gyp:test_support_common',
210 '../testing/gtest.gyp:gtest',
216 '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc',
217 'installer/util/installation_validation_helper.cc',
218 'installer/util/installation_validation_helper.h',
219 'test/mini_installer_test/installer_path_provider.cc',
220 'test/mini_installer_test/installer_path_provider.h',
221 'test/mini_installer_test/installer_test_util.cc',
222 'test/mini_installer_test/installer_test_util.h',
223 'test/mini_installer_test/mini_installer_test_constants.cc',
224 'test/mini_installer_test/mini_installer_test_constants.h',
225 'test/mini_installer_test/run_all_unittests.cc',
226 'test/mini_installer_test/switch_builder.cc',
227 'test/mini_installer_test/switch_builder.h',
228 'test/mini_installer_test/test.cc',
232 'AdditionalManifestFiles': '$(ProjectDir)\\installer\\mini_installer\\mini_installer.exe.manifest',
237 'target_name': 'setup',
238 'type': 'executable',
241 'installer_util_strings',
243 '../base/base.gyp:base',
244 '../breakpad/breakpad.gyp:breakpad_handler',
245 '../build/temp_gyp/googleurl.gyp:googleurl',
246 '../chrome/common_constants.gyp:common_constants',
247 '../chrome_frame/chrome_frame.gyp:chrome_tab_idl',
248 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
249 '../rlz/rlz.gyp:rlz_lib',
250 '../third_party/zlib/zlib.gyp:zlib',
254 '<(INTERMEDIATE_DIR)',
255 '<(SHARED_INTERMEDIATE_DIR)/setup',
257 'direct_dependent_settings': {
259 '<(SHARED_INTERMEDIATE_DIR)/setup',
263 'installer/mini_installer/chrome.release',
264 'installer/setup/chrome_frame_quick_enable.cc',
265 'installer/setup/chrome_frame_quick_enable.h',
266 'installer/setup/chrome_frame_ready_mode.cc',
267 'installer/setup/chrome_frame_ready_mode.h',
268 'installer/setup/install.cc',
269 'installer/setup/install.h',
270 'installer/setup/install_worker.cc',
271 'installer/setup/install_worker.h',
272 'installer/setup/setup_main.cc',
273 'installer/setup/setup.ico',
274 'installer/setup/setup.rc',
275 'installer/setup/setup_constants.cc',
276 'installer/setup/setup_constants.h',
277 'installer/setup/setup_exe_version.rc.version',
278 'installer/setup/setup_resource.h',
279 'installer/setup/setup_util.cc',
280 'installer/setup/setup_util.h',
281 'installer/setup/uninstall.cc',
282 'installer/setup/uninstall.h',
286 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
289 'AdditionalManifestFiles': '$(ProjectDir)\\installer\\setup\\setup.exe.manifest',
294 'rule_name': 'setup_version',
295 'extension': 'version',
297 'version_py_path': '../chrome/tools/build/version.py',
298 'template_input_path': 'installer/setup/setup_exe_version.rc.version',
301 '<(template_input_path)',
303 '<(lastchange_path)',
304 '<(branding_dir)/BRANDING',
307 '<(SHARED_INTERMEDIATE_DIR)/setup/setup_exe_version.rc',
310 'python', '<(version_py_path)',
311 '-f', '<(version_path)',
312 '-f', '<(lastchange_path)',
313 '-f', '<(branding_dir)/BRANDING',
314 '<(template_input_path)',
317 'process_outputs_as_sources': 1,
318 'message': 'Generating version information'
321 'rule_name': 'server_dlls',
322 'extension': 'release',
324 'scan_server_dlls_py' : 'tools/build/win/scan_server_dlls.py',
325 'template_file': 'installer/mini_installer/chrome.release',
328 '<(scan_server_dlls_py)',
332 '<(INTERMEDIATE_DIR)/registered_dlls.h',
336 '<(scan_server_dlls_py)',
337 '--output_dir=<(PRODUCT_DIR)',
338 '--input_file=<(RULE_INPUT_PATH)',
339 '--header_output_dir=<(INTERMEDIATE_DIR)',
340 # TODO(sgk): may just use environment variables
341 #'--distribution=$(CHROMIUM_BUILD)',
342 '--distribution=_google_chrome',
344 'msvs_cygwin_shell': 1,
348 ['component == "shared_library"', {
351 'EmbedManifest': 'false',
355 # TODO(mark): <(branding_dir) should be defined by the
356 # global condition block at the bottom of the file, but
357 # this doesn't work due to the following issue:
359 # http://code.google.com/p/gyp/issues/detail?id=22
361 # Remove this block once the above issue is fixed.
362 [ 'branding == "Chrome"', {
364 'branding_dir': 'app/theme/google_chrome',
365 'branding_dir_100': 'app/theme/default_100_percent/google_chrome',
367 }, { # else branding!="Chrome"
369 'branding_dir': 'app/theme/chromium',
370 'branding_dir_100': 'app/theme/default_100_percent/chromium',
375 '../chrome_frame/chrome_frame.gyp:chrome_tab_idl',
376 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
385 'target_name': 'setup_unittests',
386 'type': 'executable',
389 'installer_util_strings',
391 '../base/base.gyp:base',
392 '../base/base.gyp:base_i18n',
393 '../base/base.gyp:test_support_base',
394 '../build/temp_gyp/googleurl.gyp:googleurl',
395 '../chrome_frame/chrome_frame.gyp:chrome_tab_idl',
396 '../testing/gmock.gyp:gmock',
397 '../testing/gtest.gyp:gtest',
401 '<(INTERMEDIATE_DIR)',
403 # TODO(robertshield): Move the items marked with "Move to lib"
404 # below into a separate lib and then link both setup.exe and
405 # setup_unittests.exe against that.
407 'installer/mini_installer/chrome.release', # Move to lib
408 'installer/mini_installer/appid.h',
409 'installer/mini_installer/chrome_appid.cc',
410 'installer/mini_installer/configuration.cc',
411 'installer/mini_installer/configuration.h',
412 'installer/mini_installer/configuration_test.cc',
413 'installer/mini_installer/decompress.cc',
414 'installer/mini_installer/decompress.h',
415 'installer/mini_installer/decompress_test.cc',
416 'installer/mini_installer/mini_string.cc',
417 'installer/mini_installer/mini_string.h',
418 'installer/mini_installer/mini_string_test.cc',
419 'installer/setup/install.cc', # Move to lib
420 'installer/setup/install.h', # Move to lib
421 'installer/setup/install_unittest.cc',
422 'installer/setup/install_worker.cc', # Move to lib
423 'installer/setup/install_worker.h', # Move to lib
424 'installer/setup/install_worker_unittest.cc',
425 'installer/setup/run_all_unittests.cc',
426 'installer/setup/setup_constants.cc', # Move to lib
427 'installer/setup/setup_constants.h', # Move to lib
428 'installer/setup/setup_unittests.rc',
429 'installer/setup/setup_unittests_resource.h',
430 'installer/setup/setup_util.cc',
431 'installer/setup/setup_util_unittest.cc',
435 'rule_name': 'server_dlls', # Move to lib
436 'extension': 'release',
438 'scan_server_dlls_py' : 'tools/build/win/scan_server_dlls.py',
439 'template_file': 'installer/mini_installer/chrome.release',
442 '<(scan_server_dlls_py)',
446 '<(INTERMEDIATE_DIR)/registered_dlls.h',
450 '<(scan_server_dlls_py)',
451 '--output_dir=<(PRODUCT_DIR)',
452 '--input_file=<(RULE_INPUT_PATH)',
453 '--header_output_dir=<(INTERMEDIATE_DIR)',
454 # TODO(sgk): may just use environment variables
455 #'--distribution=$(CHROMIUM_BUILD)',
456 '--distribution=_google_chrome',
458 'msvs_cygwin_shell': 1,
464 ['OS=="win" and target_arch=="ia32"', {
467 'target_name': 'launcher_support64',
468 'type': 'static_library',
472 'direct_dependent_settings': {
478 '<@(nacl_win64_defines)',
481 '<(DEPTH)/base/base.gyp:base_nacl_win64',
485 'msvs_target_platform': 'x64',
489 'installer/launcher_support/chrome_launcher_support.cc',
490 'installer/launcher_support/chrome_launcher_support.h',
495 ['OS=="linux" and branding=="Chrome"', {
497 # Always google_chrome since this only applies to branding==Chrome.
498 'branding_dir': 'app/theme/google_chrome',
499 'branding_dir_100': 'app/theme/default_100_percent/google_chrome',
500 'version' : '<!(python <(version_py_path) -f ../chrome/VERSION -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")',
501 'revision' : '<!(python ../build/util/lastchange.py --revision-only)',
502 'packaging_files_common': [
503 'installer/linux/internal/common/apt.include',
504 'installer/linux/internal/common/default-app.template',
505 'installer/linux/internal/common/default-app-block.template',
506 'installer/linux/internal/common/desktop.template',
507 'installer/linux/internal/common/google-chrome/google-chrome.info',
508 'installer/linux/internal/common/installer.include',
509 'installer/linux/internal/common/postinst.include',
510 'installer/linux/internal/common/prerm.include',
511 'installer/linux/internal/common/repo.cron',
512 'installer/linux/internal/common/rpm.include',
513 'installer/linux/internal/common/rpmrepo.cron',
514 'installer/linux/internal/common/updater',
515 'installer/linux/internal/common/variables.include',
516 'installer/linux/internal/common/wrapper',
518 'packaging_files_deb': [
519 'installer/linux/internal/debian/build.sh',
520 'installer/linux/internal/debian/changelog.template',
521 'installer/linux/internal/debian/control.template',
522 'installer/linux/internal/debian/debian.menu',
523 'installer/linux/internal/debian/expected_deps',
524 'installer/linux/internal/debian/postinst',
525 'installer/linux/internal/debian/postrm',
526 'installer/linux/internal/debian/prerm',
528 'packaging_files_rpm': [
529 'installer/linux/internal/rpm/build.sh',
530 'installer/linux/internal/rpm/chrome.spec.template',
532 'packaging_files_binaries': [
533 # TODO(mmoss) Any convenient way to get all the relevant build
534 # files? (e.g. all locales, resources, etc.)
535 '<(PRODUCT_DIR)/chrome',
536 '<(PRODUCT_DIR)/chrome.pak',
537 '<(PRODUCT_DIR)/chrome_sandbox',
538 '<(PRODUCT_DIR)/libffmpegsumo.so',
539 '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so',
540 '<(PRODUCT_DIR)/xdg-mime',
541 '<(PRODUCT_DIR)/xdg-settings',
542 '<(PRODUCT_DIR)/locales/en-US.pak',
543 '<(PRODUCT_DIR)/nacl_helper',
544 '<(PRODUCT_DIR)/nacl_helper_bootstrap',
545 '<(PRODUCT_DIR)/PepperFlash/libpepflashplayer.so',
546 '<(PRODUCT_DIR)/PepperFlash/manifest.json',
547 '<@(default_apps_list_linux_dest)',
549 'flock_bash': ['flock', '--', '/tmp/linux_package_lock', 'bash'],
550 'deb_build': '<(PRODUCT_DIR)/installer/debian/build.sh',
551 'rpm_build': '<(PRODUCT_DIR)/installer/rpm/build.sh',
552 'deb_cmd': ['<@(flock_bash)', '<(deb_build)', '-o' '<(PRODUCT_DIR)',
553 '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'],
554 'rpm_cmd': ['<@(flock_bash)', '<(rpm_build)', '-o' '<(PRODUCT_DIR)',
555 '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'],
557 ['target_arch=="ia32"', {
560 'packaging_files_binaries': [
561 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
564 ['target_arch=="x64"', {
566 'rpm_arch': 'x86_64',
567 'packaging_files_binaries': [
568 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
571 ['target_arch=="arm"', {
576 'packaging_files_binaries': [
577 '<(PRODUCT_DIR)/libpdf.so',
584 'target_name': 'linux_installer_configs',
586 # Add these files to the build output so the build archives will be
587 # "hermetic" for packaging. This is only for branding="Chrome" since
588 # we only create packages for official builds.
591 'destination': '<(PRODUCT_DIR)/installer/debian/',
593 '<@(packaging_files_deb)',
597 'destination': '<(PRODUCT_DIR)/installer/rpm/',
599 '<@(packaging_files_rpm)',
603 'destination': '<(PRODUCT_DIR)/installer/common/',
605 '<@(packaging_files_common)',
608 # Additional theme resources needed for package building.
610 'destination': '<(PRODUCT_DIR)/installer/theme/',
612 '<(branding_dir_100)/product_logo_16.png',
613 '<(branding_dir)/product_logo_22.png',
614 '<(branding_dir)/product_logo_24.png',
615 '<(branding_dir_100)/product_logo_32.png',
616 '<(branding_dir)/product_logo_48.png',
617 '<(branding_dir)/product_logo_64.png',
618 '<(branding_dir)/product_logo_128.png',
619 '<(branding_dir)/product_logo_256.png',
620 '<(branding_dir)/product_logo_32.xpm',
621 '<(branding_dir)/BRANDING',
627 'action_name': 'save_build_info',
629 '<(branding_dir)/BRANDING',
631 '<(lastchange_path)',
634 '<(PRODUCT_DIR)/installer/version.txt',
636 # Just output the default version info variables.
638 'python', '<(version_py_path)',
639 '-f', '<(branding_dir)/BRANDING',
640 '-f', '<(version_path)',
641 '-f', '<(lastchange_path)',
648 'target_name': 'linux_packages_all',
649 'suppress_wildcard': 1,
652 'linux_packages_unstable',
653 'linux_packages_beta',
654 'linux_packages_stable',
658 # 'asan' is a developer, testing-only package, so it shouldn't be
659 # included in the 'linux_packages_all' collection.
660 'target_name': 'linux_packages_asan',
661 'suppress_wildcard': 1,
664 'linux_packages_asan_deb',
666 # ChromeOS doesn't care about RPM packages.
670 'linux_packages_asan_rpm',
676 # 'trunk' is a developer, testing-only package, so it shouldn't be
677 # included in the 'linux_packages_all' collection.
678 'target_name': 'linux_packages_trunk',
679 'suppress_wildcard': 1,
682 'linux_packages_trunk_deb',
684 # ChromeOS doesn't care about RPM packages.
688 'linux_packages_trunk_rpm',
694 'target_name': 'linux_packages_unstable',
695 'suppress_wildcard': 1,
698 'linux_packages_unstable_deb',
700 # ChromeOS doesn't care about RPM packages.
704 'linux_packages_unstable_rpm',
710 'target_name': 'linux_packages_beta',
711 'suppress_wildcard': 1,
714 'linux_packages_beta_deb',
716 # ChromeOS doesn't care about RPM packages.
720 'linux_packages_beta_rpm',
726 'target_name': 'linux_packages_stable',
727 'suppress_wildcard': 1,
730 'linux_packages_stable_deb',
732 # ChromeOS doesn't care about RPM packages.
736 'linux_packages_stable_rpm',
741 # TODO(mmoss) gyp looping construct would be handy here ...
742 # These package actions are the same except for the 'channel' variable.
744 'target_name': 'linux_packages_asan_deb',
745 'suppress_wildcard': 1,
749 'linux_installer_configs',
756 'action_name': 'deb_packages_<(channel)',
757 'process_outputs_as_sources': 1,
760 '<@(packaging_files_binaries)',
761 '<@(packaging_files_common)',
762 '<@(packaging_files_deb)',
765 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
767 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
772 'target_name': 'linux_packages_trunk_deb',
773 'suppress_wildcard': 1,
777 'linux_installer_configs',
784 'action_name': 'deb_packages_<(channel)',
785 'process_outputs_as_sources': 1,
788 '<@(packaging_files_binaries)',
789 '<@(packaging_files_common)',
790 '<@(packaging_files_deb)',
793 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
795 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
800 'target_name': 'linux_packages_unstable_deb',
801 'suppress_wildcard': 1,
805 'linux_installer_configs',
810 'channel': 'unstable',
812 'action_name': 'deb_packages_<(channel)',
813 'process_outputs_as_sources': 1,
816 '<@(packaging_files_binaries)',
817 '<@(packaging_files_common)',
818 '<@(packaging_files_deb)',
821 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
823 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
828 'target_name': 'linux_packages_beta_deb',
829 'suppress_wildcard': 1,
833 'linux_installer_configs',
840 'action_name': 'deb_packages_<(channel)',
841 'process_outputs_as_sources': 1,
844 '<@(packaging_files_binaries)',
845 '<@(packaging_files_common)',
846 '<@(packaging_files_deb)',
849 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
851 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
856 'target_name': 'linux_packages_stable_deb',
857 'suppress_wildcard': 1,
861 'linux_installer_configs',
868 'action_name': 'deb_packages_<(channel)',
869 'process_outputs_as_sources': 1,
872 '<@(packaging_files_binaries)',
873 '<@(packaging_files_common)',
874 '<@(packaging_files_deb)',
877 '<(PRODUCT_DIR)/google-chrome-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
879 'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
884 'target_name': 'linux_packages_asan_rpm',
885 'suppress_wildcard': 1,
889 'linux_installer_configs',
896 'action_name': 'rpm_packages_<(channel)',
897 'process_outputs_as_sources': 1,
900 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template',
901 '<@(packaging_files_binaries)',
902 '<@(packaging_files_common)',
903 '<@(packaging_files_rpm)',
906 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-<(revision).<(rpm_arch).rpm',
908 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
913 'target_name': 'linux_packages_trunk_rpm',
914 'suppress_wildcard': 1,
918 'linux_installer_configs',
925 'action_name': 'rpm_packages_<(channel)',
926 'process_outputs_as_sources': 1,
929 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template',
930 '<@(packaging_files_binaries)',
931 '<@(packaging_files_common)',
932 '<@(packaging_files_rpm)',
935 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-<(revision).<(rpm_arch).rpm',
937 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
942 'target_name': 'linux_packages_unstable_rpm',
943 'suppress_wildcard': 1,
947 'linux_installer_configs',
952 'channel': 'unstable',
954 'action_name': 'rpm_packages_<(channel)',
955 'process_outputs_as_sources': 1,
958 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template',
959 '<@(packaging_files_binaries)',
960 '<@(packaging_files_common)',
961 '<@(packaging_files_rpm)',
964 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-<(revision).<(rpm_arch).rpm',
966 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
971 'target_name': 'linux_packages_beta_rpm',
972 'suppress_wildcard': 1,
976 'linux_installer_configs',
983 'action_name': 'rpm_packages_<(channel)',
984 'process_outputs_as_sources': 1,
987 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template',
988 '<@(packaging_files_binaries)',
989 '<@(packaging_files_common)',
990 '<@(packaging_files_rpm)',
993 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-<(revision).<(rpm_arch).rpm',
995 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
1000 'target_name': 'linux_packages_stable_rpm',
1001 'suppress_wildcard': 1,
1005 'linux_installer_configs',
1010 'channel': 'stable',
1012 'action_name': 'rpm_packages_<(channel)',
1013 'process_outputs_as_sources': 1,
1016 '<(PRODUCT_DIR)/installer/rpm/chrome.spec.template',
1017 '<@(packaging_files_binaries)',
1018 '<@(packaging_files_common)',
1019 '<@(packaging_files_rpm)',
1022 '<(PRODUCT_DIR)/google-chrome-<(channel)-<(version)-<(revision).<(rpm_arch).rpm',
1024 'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
1032 'mac_packaging_dir':
1033 '<(PRODUCT_DIR)/<(mac_product_name) Packaging',
1034 # <(PRODUCT_DIR) expands to $(BUILT_PRODUCTS_DIR), which doesn't
1035 # work properly in a shell script, where ${BUILT_PRODUCTS_DIR} is
1037 'mac_packaging_sh_dir':
1038 '${BUILT_PRODUCTS_DIR}/<(mac_product_name) Packaging',
1042 'target_name': 'installer_packaging',
1045 'installer/mac/third_party/bsdiff/goobsdiff.gyp:*',
1046 'installer/mac/third_party/xz/xz.gyp:*',
1049 ['buildtype=="Official"', {
1052 # Create sign.sh, the script that the packaging system will
1053 # use to sign the .app bundle.
1054 'action_name': 'Make sign.sh',
1056 'make_signers_sh_path': 'installer/mac/make_signers.sh',
1059 '<(make_signers_sh_path)',
1060 'installer/mac/sign_app.sh.in',
1061 'installer/mac/sign_versioned_dir.sh.in',
1062 'installer/mac/app_resource_rules.plist.in',
1066 '<(mac_packaging_dir)/sign_app.sh',
1067 '<(mac_packaging_dir)/sign_versioned_dir.sh',
1068 '<(mac_packaging_dir)/app_resource_rules.plist',
1071 '<(make_signers_sh_path)',
1072 '<(mac_packaging_sh_dir)',
1073 '<(mac_product_name)',
1078 }], # buildtype=="Official"
1079 ['branding=="Chrome" and buildtype=="Official"', {
1082 # copy_keychain_reauthorize.sh explains why this isn't in a
1083 # 'copies' block, but briefly: this is a prebuilt signed
1084 # binary component that relies on a correct signature to
1085 # function properly, and a normal 'copies' block sadly makes
1086 # a trivial modification to the file such that its signature
1087 # is no longer valid.
1088 'action_name': 'Copy keychain_reauthorize',
1090 'keychain_reauthorize_path': 'tools/build/mac/copy_keychain_reauthorize.sh',
1091 'keychain_reauthorize_normal_path': 'installer/mac/internal/keychain_reauthorize/com.google.Chrome',
1092 'keychain_reauthorize_canary_path': 'installer/mac/internal/keychain_reauthorize/com.google.Chrome.canary',
1093 'keychain_reauthorize_output_dir': '<(mac_packaging_dir)/.keychain_reauthorize',
1096 '<(keychain_reauthorize_path)',
1097 '<(keychain_reauthorize_normal_path)',
1098 '<(keychain_reauthorize_canary_path)',
1101 '<(keychain_reauthorize_output_dir)/com.google.Chrome',
1102 '<(keychain_reauthorize_output_dir)/com.google.Chrome.canary',
1105 '<(keychain_reauthorize_path)',
1106 '<(keychain_reauthorize_output_dir)',
1107 '<(keychain_reauthorize_normal_path)',
1108 '<(keychain_reauthorize_canary_path)',
1112 }], # branding=="Chrome" and buildtype=="Official"
1116 # Put the files where the packaging system will find them. The
1117 # packager will use these when building the "full installer"
1118 # disk images and delta/differential update disk images.
1119 'destination': '<(mac_packaging_dir)',
1121 '<(PRODUCT_DIR)/goobsdiff',
1122 '<(PRODUCT_DIR)/goobspatch',
1123 '<(PRODUCT_DIR)/liblzma_decompress.dylib',
1124 '<(PRODUCT_DIR)/xz',
1125 '<(PRODUCT_DIR)/xzdec',
1126 'installer/mac/dirdiffer.sh',
1127 'installer/mac/dirpatcher.sh',
1128 'installer/mac/dmgdiffer.sh',
1129 'installer/mac/pkg-dmg',
1132 ['mac_keystone==1', {
1134 'installer/mac/keystone_install.sh',
1137 ['branding=="Chrome" and buildtype=="Official"', {
1139 'app/theme/google_chrome/app_canary.icns',
1140 'app/theme/google_chrome/document_canary.icns',
1141 'installer/mac/internal/chrome_canary_dmg_dsstore',
1142 'installer/mac/internal/chrome_canary_dmg_icon.icns',
1143 'installer/mac/internal/chrome_dmg_background.png',
1144 'installer/mac/internal/chrome_dmg_dsstore',
1145 'installer/mac/internal/chrome_dmg_icon.icns',
1146 'installer/mac/internal/generate_dmgs',
1148 }], # branding=="Chrome" and buildtype=="Official"
1152 }, # target: installer_packaging
1154 'target_name': 'gcapi_lib',
1155 'type': 'static_library',
1160 'installer/gcapi_mac/gcapi.h',
1161 'installer/gcapi_mac/gcapi.mm',
1165 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1169 'ARCHS': [ 'i386', 'x86_64' ],
1170 'MACOSX_DEPLOYMENT_TARGET': '10.4',
1171 'GCC_ENABLE_OBJC_GC': 'supported',
1175 'target_name': 'gcapi_example',
1176 'type': 'executable',
1184 'installer/gcapi_mac/gcapi_example_client.mm',
1189 [ 'branding == "Chrome"', {
1191 'branding_dir': 'app/theme/google_chrome',
1192 'branding_dir_100': 'app/theme/default_100_percent/google_chrome',
1194 }, { # else branding!="Chrome"
1196 'branding_dir': 'app/theme/chromium',
1197 'branding_dir_100': 'app/theme/default_100_percent/chromium',