Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2645)

Unified Diff: chrome/installer/mini_installer.gypi

Issue 1393633006: Remove duplication in mini_installer.gyp/.gypi - Take 2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/mini_installer.gyp ('k') | chrome/installer/mini_installer_syzygy.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/mini_installer.gypi
diff --git a/chrome/installer/mini_installer.gypi b/chrome/installer/mini_installer.gypi
index 1f4a691940adf4bcfee70c31f1ebae577695cada..3ab2115cb8f342f8d2a19f5c5a7cef5fd5dcb65b 100644
--- a/chrome/installer/mini_installer.gypi
+++ b/chrome/installer/mini_installer.gypi
@@ -1,13 +1,22 @@
# 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': [
'../..',
@@ -38,10 +47,6 @@
'mini_installer/regkey.cc',
'mini_installer/regkey.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',
@@ -81,7 +86,7 @@
'ExceptionHandling': '0',
},
'VCLinkerTool': {
- 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
+ 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
'AdditionalOptions': [
'/safeseh:no',
'/dynamicbase:no',
@@ -100,9 +105,10 @@
'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',
@@ -114,13 +120,27 @@
},
},
},
+
+ # 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)',
@@ -129,7 +149,7 @@
'<(branding_dir)/BRANDING',
],
'outputs': [
- '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc',
+ '<(PRODUCT_DIR)/mini_installer_exe_version.rc',
],
'action': [
'python', '<(version_py)',
@@ -142,9 +162,10 @@
'process_outputs_as_sources': 1,
'message': 'Generating version information'
},
+ ],
+ 'actions': [
{
- 'rule_name': 'installer_archive',
- 'extension': 'release',
+ 'action_name': 'installer_archive',
'variables': {
'create_installer_archive_py_path':
'../tools/build/win/create_installer_archive.py',
@@ -159,6 +180,25 @@
'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',
@@ -196,23 +236,28 @@
'<(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': [
- 'xxx.out',
- '<(output_dir)/<(RULE_INPUT_NAME).7z',
- '<(output_dir)/<(RULE_INPUT_NAME).packed.7z',
+ # Also note that chrome.packed.7z is defined as an output in a
+ # conditional above.
+ '<(output_dir)/chrome.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=<(RULE_INPUT_PATH)',
+ '--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)',
@@ -228,22 +273,6 @@
},
],
'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',
« no previous file with comments | « chrome/installer/mini_installer.gyp ('k') | chrome/installer/mini_installer_syzygy.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698