Commit c73ec8ab authored by caitkp@chromium.org's avatar caitkp@chromium.org

Move Version Assembly code out of chrome_elf.

This code is not chrome_elf-specific, rather, chrome_elf
is the only current user of it. Move the manifest building
logic to a more generic location.

BUG=324863

Review URL: https://codereview.chromium.org/137373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245307 0039d316-1c4b-4281-b951-d872f2087c98
parent 3f56440d
......@@ -147,6 +147,9 @@
'webkit/renderer/compositor_bindings/|'\
'content/common/cc_messages'
},
'chrome_elf': {
'filepath': 'chrome_elf',
},
'chrome_views': {
'filepath': 'chrome/browser/ui/views',
},
......@@ -590,6 +593,9 @@
'valgrind': {
'filepath': 'valgrind',
},
'version_assembly': {
'filepath': 'chrome/app/version_assembly',
},
'views': {
# Applies to all files and subdirs within this directory.
'filepath': '^ui/views/',
......@@ -694,6 +700,7 @@
'miu+watch@chromium.org',
'pwestin+watch@google.com'],
'cc': ['cc-bugs@chromium.org'],
'chrome_elf': ['caitkp+watch@chromium.org',],
'chrome_views': ['tfarina@chromium.org'],
'chromedriver': ['chrisgao@chromium.org', 'frankf@chromium.org'],
'chromeos' : ['oshima+watch@chromium.org',
......@@ -856,6 +863,8 @@
'valgrind': ['bruening+watch@chromium.org',
'glider+watch@chromium.org',
'timurrrr+watch@chromium.org'],
'version_assembly': ['caitkp+watch@chromium.org',
'gab+watch@chromium.org'],
'views': ['tfarina@chromium.org'],
'views_core': ['ben+views@chromium.org'],
'views_corewm': ['ben+corewm@chromium.org'],
......
caitkp@chromium.org
gab@chromium.org
Chrome Early Loading Framework (aka ChromeELF)
Chrome Version Assembly
chrome_elf.dll is shipped in Chrome's version directory to ease updates,
and is loaded early in chrome.exe's lifetime. This is done by turning the
version directory into a private assembly which refers to chrome_elf.dll
(http://msdn.microsoft.com/library/aa374224.aspx).
The chrome version assembly makes it possible for load-time dependencies of
chrome.exe to be shipped in Chrome's version directory to ease updates (eg.
chrome_elf.dll). This is done by turning the version directory into a private
assembly which refers to any DLLs that chrome.exe needs to know about. New DLLs
should be added as <file> entries in "version_assembly_manifest.template".
In an ideal world, this would be done by embedding an application config in
chrome.exe that would refer to the proper version directory via a
......
# Copyright 2013 The Chromium Authors. All rights reserved.
# Copyright 2014 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 contains an action which can be used to construct a manifest file
# declaring a dependency on chrome_elf.dll. This manifest can then be merged
# declaring a dependency on other dlls. This manifest can then be merged
# into the manifest of the executable and embedded into it when it is built.
# To use this the following variables need to be defined:
......@@ -15,14 +15,14 @@
{
'variables': {
'template_input_path':
'<(DEPTH)/chrome_elf/chrome_exe_manifest.template',
'<(DEPTH)/chrome/app/version_assembly/chrome_exe_manifest.template',
},
'inputs': [
'<(template_input_path)',
'<(version_path)',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/chrome_elf/version_assembly.manifest',
'<(SHARED_INTERMEDIATE_DIR)/chrome/app/version_assembly/version_assembly.manifest',
],
'action': [
'python', '<(version_py_path)',
......@@ -31,4 +31,4 @@
'<@(_outputs)',
],
'message': 'Generating <@(_outputs)',
}
\ No newline at end of file
}
# Copyright 2013 The Chromium Authors. All rights reserved.
# Copyright 2014 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.
......@@ -18,7 +18,7 @@
{
'variables': {
'template_input_path':
'<(DEPTH)/chrome_elf/version_assembly_manifest.template',
'<(DEPTH)/chrome/app/version_assembly/version_assembly_manifest.template',
},
'inputs': [
'<(template_input_path)',
......
......@@ -508,7 +508,7 @@
'VCManifestTool': {
'AdditionalManifestFiles': [
'$(ProjectDir)\\app\\chrome.exe.manifest',
'<(SHARED_INTERMEDIATE_DIR)/chrome_elf/version_assembly.manifest',
'<(SHARED_INTERMEDIATE_DIR)/chrome/app/version_assembly/version_assembly.manifest',
],
},
},
......@@ -528,13 +528,13 @@
{
'action_name': 'chrome_exe_manifest',
'includes': [
'../chrome_elf/chrome_exe_manifest_action.gypi',
'app/version_assembly/chrome_exe_manifest_action.gypi',
],
},
{
'action_name': 'version_assembly_manifest',
'includes': [
'../chrome_elf/version_assembly_manifest_action.gypi',
'app/version_assembly/version_assembly_manifest_action.gypi',
],
},
],
......
caitkp@chromium.org
gab@chromium.org
robertshield@chromium.org
\ No newline at end of file
robertshield@chromium.org
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment