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 @@ ...@@ -147,6 +147,9 @@
'webkit/renderer/compositor_bindings/|'\ 'webkit/renderer/compositor_bindings/|'\
'content/common/cc_messages' 'content/common/cc_messages'
}, },
'chrome_elf': {
'filepath': 'chrome_elf',
},
'chrome_views': { 'chrome_views': {
'filepath': 'chrome/browser/ui/views', 'filepath': 'chrome/browser/ui/views',
}, },
...@@ -590,6 +593,9 @@ ...@@ -590,6 +593,9 @@
'valgrind': { 'valgrind': {
'filepath': 'valgrind', 'filepath': 'valgrind',
}, },
'version_assembly': {
'filepath': 'chrome/app/version_assembly',
},
'views': { 'views': {
# Applies to all files and subdirs within this directory. # Applies to all files and subdirs within this directory.
'filepath': '^ui/views/', 'filepath': '^ui/views/',
...@@ -694,6 +700,7 @@ ...@@ -694,6 +700,7 @@
'miu+watch@chromium.org', 'miu+watch@chromium.org',
'pwestin+watch@google.com'], 'pwestin+watch@google.com'],
'cc': ['cc-bugs@chromium.org'], 'cc': ['cc-bugs@chromium.org'],
'chrome_elf': ['caitkp+watch@chromium.org',],
'chrome_views': ['tfarina@chromium.org'], 'chrome_views': ['tfarina@chromium.org'],
'chromedriver': ['chrisgao@chromium.org', 'frankf@chromium.org'], 'chromedriver': ['chrisgao@chromium.org', 'frankf@chromium.org'],
'chromeos' : ['oshima+watch@chromium.org', 'chromeos' : ['oshima+watch@chromium.org',
...@@ -856,6 +863,8 @@ ...@@ -856,6 +863,8 @@
'valgrind': ['bruening+watch@chromium.org', 'valgrind': ['bruening+watch@chromium.org',
'glider+watch@chromium.org', 'glider+watch@chromium.org',
'timurrrr+watch@chromium.org'], 'timurrrr+watch@chromium.org'],
'version_assembly': ['caitkp+watch@chromium.org',
'gab+watch@chromium.org'],
'views': ['tfarina@chromium.org'], 'views': ['tfarina@chromium.org'],
'views_core': ['ben+views@chromium.org'], 'views_core': ['ben+views@chromium.org'],
'views_corewm': ['ben+corewm@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, The chrome version assembly makes it possible for load-time dependencies of
and is loaded early in chrome.exe's lifetime. This is done by turning the chrome.exe to be shipped in Chrome's version directory to ease updates (eg.
version directory into a private assembly which refers to chrome_elf.dll chrome_elf.dll). This is done by turning the version directory into a private
(http://msdn.microsoft.com/library/aa374224.aspx). 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 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 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
# This file contains an action which can be used to construct a manifest 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. # into the manifest of the executable and embedded into it when it is built.
# To use this the following variables need to be defined: # To use this the following variables need to be defined:
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
{ {
'variables': { 'variables': {
'template_input_path': 'template_input_path':
'<(DEPTH)/chrome_elf/chrome_exe_manifest.template', '<(DEPTH)/chrome/app/version_assembly/chrome_exe_manifest.template',
}, },
'inputs': [ 'inputs': [
'<(template_input_path)', '<(template_input_path)',
'<(version_path)', '<(version_path)',
], ],
'outputs': [ 'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/chrome_elf/version_assembly.manifest', '<(SHARED_INTERMEDIATE_DIR)/chrome/app/version_assembly/version_assembly.manifest',
], ],
'action': [ 'action': [
'python', '<(version_py_path)', 'python', '<(version_py_path)',
......
# 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
{ {
'variables': { 'variables': {
'template_input_path': 'template_input_path':
'<(DEPTH)/chrome_elf/version_assembly_manifest.template', '<(DEPTH)/chrome/app/version_assembly/version_assembly_manifest.template',
}, },
'inputs': [ 'inputs': [
'<(template_input_path)', '<(template_input_path)',
......
...@@ -508,7 +508,7 @@ ...@@ -508,7 +508,7 @@
'VCManifestTool': { 'VCManifestTool': {
'AdditionalManifestFiles': [ 'AdditionalManifestFiles': [
'$(ProjectDir)\\app\\chrome.exe.manifest', '$(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 @@ ...@@ -528,13 +528,13 @@
{ {
'action_name': 'chrome_exe_manifest', 'action_name': 'chrome_exe_manifest',
'includes': [ 'includes': [
'../chrome_elf/chrome_exe_manifest_action.gypi', 'app/version_assembly/chrome_exe_manifest_action.gypi',
], ],
}, },
{ {
'action_name': 'version_assembly_manifest', 'action_name': 'version_assembly_manifest',
'includes': [ 'includes': [
'../chrome_elf/version_assembly_manifest_action.gypi', 'app/version_assembly/version_assembly_manifest_action.gypi',
], ],
}, },
], ],
......
caitkp@chromium.org caitkp@chromium.org
gab@chromium.org
robertshield@chromium.org 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