diff options
author | sebmarchand <sebmarchand@chromium.org> | 2015-05-08 07:53:55 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-08 14:55:22 +0000 |
commit | b17830efb1f5230b5a754e1289308e43a97b09da (patch) | |
tree | 7546dbc5b251e5014142b1148bf69b272428bd6e /chrome/installer | |
parent | 35fdb39ad06a9ab1e38fb090a07d2fa105377896 (diff) | |
download | chromium_src-b17830efb1f5230b5a754e1289308e43a97b09da.zip chromium_src-b17830efb1f5230b5a754e1289308e43a97b09da.tar.gz chromium_src-b17830efb1f5230b5a754e1289308e43a97b09da.tar.bz2 |
Revert of Remove duplication in mini_installer.gyp/.gypi (patchset #4 id:60001 of https://codereview.chromium.org/1080313003/)
Reason for revert:
It seems like it's breaking the official build:
WARNING: File not found: mini_installer_exe_version.rc
Original issue's description:
> Remove duplication in mini_installer.gyp/.gypi
>
> BUG=470889
>
> Committed: https://crrev.com/77592558a510ee237f3308f987eca62903a4698a
> Cr-Commit-Position: refs/heads/master@{#328811}
TBR=siggi@chromium.org,grt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=470889
Review URL: https://codereview.chromium.org/1130883006
Cr-Commit-Position: refs/heads/master@{#328954}
Diffstat (limited to 'chrome/installer')
-rw-r--r-- | chrome/installer/installer_tools.gyp | 25 | ||||
-rw-r--r-- | chrome/installer/mini_installer.gyp | 289 | ||||
-rw-r--r-- | chrome/installer/mini_installer.gypi | 89 | ||||
-rw-r--r-- | chrome/installer/mini_installer_syzygy.gyp | 2 |
4 files changed, 311 insertions, 94 deletions
diff --git a/chrome/installer/installer_tools.gyp b/chrome/installer/installer_tools.gyp index c926caf..3033e21 100644 --- a/chrome/installer/installer_tools.gyp +++ b/chrome/installer/installer_tools.gyp @@ -32,31 +32,6 @@ 'tools/validate_installation_resource.h', ], }, - { - # A target that is outdated if any of the mini_installer test sources - # are modified. - 'target_name': 'test_installer_sentinel', - 'type': 'none', - 'includes': [ - '../test/mini_installer/test_installer.gypi', - ], - 'actions': [ - { - 'action_name': 'touch_sentinel', - 'variables': { - 'touch_sentinel_py': '../tools/build/win/touch_sentinel.py', - }, - 'inputs': [ - '<@(test_installer_sources)', # from test_installer.gypi - '<(touch_sentinel_py)', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/chrome/installer/test_installer_sentinel', - ], - 'action': ['python', '<(touch_sentinel_py)', '<@(_outputs)'], - }, - ], - }, ], }], ], diff --git a/chrome/installer/mini_installer.gyp b/chrome/installer/mini_installer.gyp index 58a63c3..76e72ee 100644 --- a/chrome/installer/mini_installer.gyp +++ b/chrome/installer/mini_installer.gyp @@ -14,22 +14,291 @@ ], 'conditions': [ ['OS=="win"', { + 'includes': [ + '../test/mini_installer/test_installer.gypi', + ], 'targets': [ { + # A target that is outdated if any of the mini_installer test sources + # are modified. + 'target_name': 'test_installer_sentinel', + 'type': 'none', + 'actions': [ + { + 'action_name': 'touch_sentinel', + 'variables': { + 'touch_sentinel_py': '../tools/build/win/touch_sentinel.py', + }, + 'inputs': [ + '<@(test_installer_sources)', # from test_installer.gypi + '<(touch_sentinel_py)', + ], + 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/chrome/installer/test_installer_sentinel'], + 'action': ['python', '<(touch_sentinel_py)', '<@(_outputs)'], + }, + ], + }, + { 'target_name': 'mini_installer', + 'type': 'executable', + + 'dependencies': [ + '../chrome.gyp:chrome', + '../chrome.gyp:chrome_nacl_win64', + '../chrome.gyp:chrome_dll', + '../chrome.gyp:default_extensions', + '../chrome.gyp:setup', + 'test_installer_sentinel', + ], + 'include_dirs': [ + '../..', + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/chrome', + ], + 'sources': [ + '<(INTERMEDIATE_DIR)/packed_files.rc', + 'mini_installer/appid.h', + 'mini_installer/chrome.release', + 'mini_installer/chrome_appid.cc', + 'mini_installer/configuration.cc', + 'mini_installer/configuration.h', + 'mini_installer/decompress.cc', + 'mini_installer/decompress.h', + 'mini_installer/exit_code.h', + 'mini_installer/mini_installer.cc', + 'mini_installer/mini_installer.ico', + 'mini_installer/mini_installer.rc', + 'mini_installer/mini_installer_constants.cc', + 'mini_installer/mini_installer_constants.h', + 'mini_installer/mini_installer_exe_version.rc.version', + 'mini_installer/mini_installer_resource.h', + 'mini_installer/mini_string.cc', + 'mini_installer/mini_string.h', + 'mini_installer/pe_resource.cc', + 'mini_installer/pe_resource.h', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BufferSecurityCheck': 'false', + 'BasicRuntimeChecks': '0', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'RandomizedBaseAddress': '1', + 'DataExecutionPrevention': '0', + 'AdditionalLibraryDirectories': [ + '<(PRODUCT_DIR)/lib' + ], + 'DelayLoadDLLs': [], + 'EntryPointSymbol': 'MainEntryPoint', + 'IgnoreAllDefaultLibraries': 'true', + 'OptimizeForWindows98': '1', + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalDependencies': [ + 'shlwapi.lib', + 'setupapi.lib', + ], + }, + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest', + ], + }, + }, + 'configurations': { + 'Debug_Base': { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalOptions': [ + '/safeseh:no', + '/dynamicbase:no', + '/ignore:4199', + '/ignore:4221', + '/nxcompat', + ], + }, + }, + }, + 'Release_Base': { + 'includes': ['../../build/internal/release_defaults.gypi'], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + 'WholeProgramOptimization': 'false', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'Profile': 'false', # Conflicts with /FIXED + 'AdditionalOptions': [ + '/SAFESEH:NO', + '/NXCOMPAT', + '/DYNAMICBASE:NO', + '/FIXED', + ], + }, + }, + }, + }, + + # Disable precompiled headers for this project, to avoid + # linker errors when building with VS 2008. + 'msvs_precompiled_header': '', + 'msvs_precompiled_source': '', + + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + 'variables': { - 'chrome_dll_project': [ - '../chrome.gyp:chrome_dll', - ], - 'chrome_dll_path': [ - '<(PRODUCT_DIR)/chrome.dll', - ], - 'output_dir': '<(PRODUCT_DIR)', + # Opt out the common compatibility manifest to work around + # crbug.com/272660. + # TODO(yukawa): Enable the common compatibility manifest again. + 'win_exe_compatibility_manifest': '', }, - 'includes': [ - 'mini_installer.gypi', + 'rules': [ + { + 'rule_name': 'mini_installer_version', + 'extension': 'version', + 'variables': { + 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version', + }, + 'inputs': [ + '<(template_input_path)', + '<(version_path)', + '<(lastchange_path)', + '<(branding_dir)/BRANDING', + ], + 'outputs': [ + '<(PRODUCT_DIR)/mini_installer_exe_version.rc', + ], + 'action': [ + 'python', '<(version_py)', + '-f', '<(version_path)', + '-f', '<(lastchange_path)', + '-f', '<(branding_dir)/BRANDING', + '<(template_input_path)', + '<@(_outputs)', + ], + 'process_outputs_as_sources': 1, + 'message': 'Generating version information' + }, + ], + 'actions': [ + { + 'action_name': 'installer_archive', + 'variables': { + 'create_installer_archive_py_path': + '../tools/build/win/create_installer_archive.py', + }, + 'conditions': [ + ['enable_hidpi == 1', { + 'variables': { + 'enable_hidpi_flag': '--enable_hidpi=1', + }, + }, { + 'variables': { + 'enable_hidpi_flag': '', + }, + }], + ['component == "shared_library"', { + 'variables': { + 'component_build_flag': '--component_build=1', + }, + }, { + 'variables': { + 'component_build_flag': '', + }, + 'outputs': [ + '<(PRODUCT_DIR)/chrome.packed.7z', + ], + }], + ['disable_nacl==1', { + 'inputs!': [ + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', + ], + }], + ['target_arch=="x64"', { + 'inputs!': [ + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + ], + 'variables': { + 'target_arch_flag': '--target_arch=x64', + }, + }, { + 'variables': { + 'target_arch_flag': '--target_arch=x86', + }, + }], + ['icu_use_data_file_flag == 0', { + 'inputs': [ + '<(PRODUCT_DIR)/icudt.dll', + ], + }, { # else icu_use_data_file_flag != 0 + 'inputs': [ + '<(PRODUCT_DIR)/icudtl.dat', + ], + }], + ['v8_use_external_startup_data == 1', { + 'inputs': [ + '<(PRODUCT_DIR)/natives_blob.bin', + '<(PRODUCT_DIR)/snapshot_blob.bin', + ], + }], + ], + 'inputs': [ + '<(create_installer_archive_py_path)', + '<(PRODUCT_DIR)/chrome.exe', + '<(PRODUCT_DIR)/chrome.dll', + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', + '<(PRODUCT_DIR)/locales/en-US.pak', + '<(PRODUCT_DIR)/setup.exe', + 'mini_installer/chrome.release', + ], + 'outputs': [ + # Also note that chrome.packed.7z is defined as an output in a + # conditional above. + '<(PRODUCT_DIR)/chrome.7z', + '<(PRODUCT_DIR)/setup.ex_', + '<(INTERMEDIATE_DIR)/packed_files.rc', + ], + 'depfile': '<(INTERMEDIATE_DIR)/installer_archive.d', + 'action': [ + 'python', + '<(create_installer_archive_py_path)', + '--build_dir', '<(PRODUCT_DIR)', + '--staging_dir', '<(INTERMEDIATE_DIR)', + '--input_file', 'mini_installer/chrome.release', + '--resource_file_path', '<(INTERMEDIATE_DIR)/packed_files.rc', + '--depfile', '<(INTERMEDIATE_DIR)/installer_archive.d', + '<(enable_hidpi_flag)', + '<(component_build_flag)', + '<(target_arch_flag)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + # Optional arguments to generate diff installer + #'--last_chrome_installer=C:/Temp/base', + #'--setup_exe_format=DIFF', + #'--diff_algorithm=COURGETTE', + ], + 'message': 'Create installer archive', + }, ], - } + }, ], 'conditions': [ ['test_isolation_mode != "noop"', { diff --git a/chrome/installer/mini_installer.gypi b/chrome/installer/mini_installer.gypi index 25a97b8..b1e5a2b 100644 --- a/chrome/installer/mini_installer.gypi +++ b/chrome/installer/mini_installer.gypi @@ -1,22 +1,13 @@ # Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -# -# this file is meant to be included within a target dict to generate the -# mini_installer, the embedder must provide the following variables: -# - chrome_dll_project: The target generating the main chrome DLLs. -# - chrome_dll_path: The path to the version of chrome.dll to put in the -# mini_installer. -# - The output directory for mini_installer.exe. { - 'type': 'executable', 'dependencies': [ '<@(chrome_dll_project)', '../chrome.gyp:chrome', '../chrome.gyp:chrome_nacl_win64', '../chrome.gyp:default_extensions', '../chrome.gyp:setup', - 'installer_tools.gyp:test_installer_sentinel', ], 'include_dirs': [ '../..', @@ -45,6 +36,10 @@ 'mini_installer/pe_resource.cc', 'mini_installer/pe_resource.h', ], + # Disable precompiled headers for this project, to avoid + # linker errors when building with VS 2008. + 'msvs_precompiled_header': '', + 'msvs_precompiled_source': '', 'msvs_settings': { 'VCCLCompilerTool': { 'EnableIntrinsicFunctions': 'true', @@ -84,7 +79,7 @@ 'ExceptionHandling': '0', }, 'VCLinkerTool': { - 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 'AdditionalOptions': [ '/safeseh:no', '/dynamicbase:no', @@ -103,10 +98,9 @@ 'BasicRuntimeChecks': '0', 'BufferSecurityCheck': 'false', 'ExceptionHandling': '0', - 'WholeProgramOptimization': 'false', }, 'VCLinkerTool': { - 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 'Profile': 'false', # Conflicts with /FIXED 'AdditionalOptions': [ '/SAFESEH:NO', @@ -118,27 +112,13 @@ }, }, }, - - # Disable precompiled headers for this project, to avoid - # linker errors when building with VS 2008. - 'msvs_precompiled_header': '', - 'msvs_precompiled_source': '', - - # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. - 'msvs_disabled_warnings': [ 4267, ], - - 'variables': { - # Opt out the common compatibility manifest to work around - # crbug.com/272660. - # TODO(yukawa): Enable the common compatibility manifest again. - 'win_exe_compatibility_manifest': '', - }, 'rules': [ { 'rule_name': 'mini_installer_version', 'extension': 'version', 'variables': { - 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version', + 'template_input_path': + 'mini_installer/mini_installer_exe_version.rc.version', }, 'inputs': [ '<(template_input_path)', @@ -160,10 +140,9 @@ 'process_outputs_as_sources': 1, 'message': 'Generating version information' }, - ], - 'actions': [ { - 'action_name': 'installer_archive', + 'rule_name': 'installer_archive', + 'extension': 'release', 'variables': { 'create_installer_archive_py_path': '../tools/build/win/create_installer_archive.py', @@ -178,25 +157,6 @@ 'enable_hidpi_flag': '', }, }], - ['component == "shared_library"', { - 'variables': { - 'component_build_flag': '--component_build=1', - }, - }, { - 'variables': { - 'component_build_flag': '', - }, - 'outputs': [ - '<(output_dir)/chrome.packed.7z', - ], - }], - ['disable_nacl==1', { - 'inputs!': [ - '<(PRODUCT_DIR)/nacl64.exe', - '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', - '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', - ], - }], ['target_arch=="x64"', { 'inputs!': [ '<(PRODUCT_DIR)/nacl64.exe', @@ -234,28 +194,23 @@ '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', '<(PRODUCT_DIR)/locales/en-US.pak', - '<(PRODUCT_DIR)/setup.exe', - 'mini_installer/chrome.release', ], 'outputs': [ - # Also note that chrome.packed.7z is defined as an output in a - # conditional above. - '<(output_dir)/chrome.7z', + 'xxx.out', + '<(output_dir)/<(RULE_INPUT_NAME).7z', + '<(output_dir)/<(RULE_INPUT_NAME).packed.7z', '<(output_dir)/setup.ex_', '<(INTERMEDIATE_DIR)/packed_files.rc', ], - 'depfile': '<(INTERMEDIATE_DIR)/installer_archive.d', 'action': [ 'python', '<(create_installer_archive_py_path)', '--build_dir=<(PRODUCT_DIR)', '--output_dir=<(output_dir)', '--staging_dir=<(INTERMEDIATE_DIR)', - '--input_file=mini_installer/chrome.release', + '--input_file=<(RULE_INPUT_PATH)', '--resource_file_path=<(INTERMEDIATE_DIR)/packed_files.rc', - '--depfile=<(INTERMEDIATE_DIR)/installer_archive.d', '<(enable_hidpi_flag)', - '<(component_build_flag)', '<(target_arch_flag)', # TODO(sgk): may just use environment variables #'--distribution=$(CHROMIUM_BUILD)', @@ -269,6 +224,22 @@ }, ], 'conditions': [ + # TODO(mark): <(branding_dir) should be defined by the + # global condition block at the bottom of the file, but + # this doesn't work due to the following issue: + # + # http://code.google.com/p/gyp/issues/detail?id=22 + # + # Remove this block once the above issue is fixed. + ['branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], ['OS=="win" and buildtype=="Official"', { # Optimize for size when doing an official build. 'optimize' :'size', diff --git a/chrome/installer/mini_installer_syzygy.gyp b/chrome/installer/mini_installer_syzygy.gyp index bfa3a37..db7f5c8 100644 --- a/chrome/installer/mini_installer_syzygy.gyp +++ b/chrome/installer/mini_installer_syzygy.gyp @@ -21,7 +21,9 @@ 'targets': [ { 'target_name': 'mini_installer_syzygy', + 'type': 'executable', 'product_name': 'mini_installer', + 'variables': { 'chrome_dll_project': [ '../chrome_syzygy.gyp:chrome_dll_syzygy', |