summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorsebmarchand <sebmarchand@chromium.org>2015-05-08 07:53:55 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-08 14:55:22 +0000
commitb17830efb1f5230b5a754e1289308e43a97b09da (patch)
tree7546dbc5b251e5014142b1148bf69b272428bd6e /chrome/installer
parent35fdb39ad06a9ab1e38fb090a07d2fa105377896 (diff)
downloadchromium_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.gyp25
-rw-r--r--chrome/installer/mini_installer.gyp289
-rw-r--r--chrome/installer/mini_installer.gypi89
-rw-r--r--chrome/installer/mini_installer_syzygy.gyp2
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',