Commit 991bc882 authored by rogerm@google.com's avatar rogerm@google.com

Revert overly-wide change in dependency chain. Now the new build step will...

Revert overly-wide change in dependency chain.  Now the new build step will only be enabled when the optimizations are turned on.

Review URL: http://codereview.chromium.org/7598008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95916 0039d316-1c4b-4281-b951-d872f2087c98
parent adb33340
......@@ -66,7 +66,7 @@
'variables': {
'chrome_dll_target': 1,
'conditions' : [
['OS=="win"', {
['OS=="win" and optimize_with_syzygy==1', {
# On Windows we use build chrome_dll as an intermediate target
# then have a subsequent step which either optimizes it to its
# final location, or copies it to its final location, depending
......@@ -146,12 +146,17 @@
'msvs_settings': {
'VCLinkerTool': {
'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib',
# On Windows we use build chrome_dll as an intermediate target
# then have a subsequent step which either optimizes it to its
# final location, or copies it to its final location, based
# on whether or not optimize_with_syzygy==1.
'ProgramDatabaseFile': '$(OutDir)\\initial\\chrome_dll.pdb',
'OutputFile': '$(OutDir)\\initial\\chrome.dll',
'conditions': [
['optimize_with_syzygy==1', {
# When syzygy is enabled we use build chrome_dll as an
# intermediate target then have a subsequent step which
# optimizes it to its final location
'ProgramDatabaseFile': '$(OutDir)\\initial\\chrome_dll.pdb',
'OutputFile': '$(OutDir)\\initial\\chrome.dll',
}, {
'ProgramDatabaseFile': '$(OutDir)\\chrome_dll.pdb',
}],
],
},
},
}], # OS=="win"
......
......@@ -6,7 +6,13 @@
'optimize_with_syzygy%': 0,
},
'conditions': [
['OS=="win"', {
['OS=="win" and optimize_with_syzygy==1', {
# Optimize the initial chrome DLL file, placing the optimized
# output and corresponding PDB file into the product directory.
# If fastbuild!=0 then no PDB files are generated by the build
# and the syzygy optimizations cannot run (they use the PDB
# information to properly understand the DLLs contents), so
# syzygy optimization cannot be performed.
'targets': [
{
'target_name': 'chrome_dll',
......@@ -16,59 +22,29 @@
'chrome_dll_initial',
'chrome',
],
'conditions': [
['optimize_with_syzygy==1 and fastbuild==0', {
# Optimize the initial chrome DLL file, placing the optimized
# output and corresponding PDB file into the product directory.
# If fastbuild!=0 then no PDB files are generated by the build
# and the syzygy optimizations cannot run (they use the PDB
# information to properly understand the DLLs contents), so
# syzygy optimization cannot be performed.
'actions': [
{
'action_name': 'Optimize Chrome binaries with syzygy',
'msvs_cygwin_shell': 0,
'inputs': [
'<(PRODUCT_DIR)\\initial\\chrome.dll',
'<(PRODUCT_DIR)\\initial\\chrome_dll.pdb',
],
'outputs': [
'<(PRODUCT_DIR)\\chrome.dll',
'<(PRODUCT_DIR)\\chrome_dll.pdb',
],
'action': [
'<(DEPTH)\\third_party\\syzygy\\binaries\\optimize.bat',
'--verbose',
'--input-dir="<(PRODUCT_DIR)"',
'--input-dll="<(PRODUCT_DIR)\\initial\\chrome.dll"',
'--input-pdb="<(PRODUCT_DIR)\\initial\\chrome_dll.pdb"',
'--output-dir="<(INTERMEDIATE_DIR)\\optimized"',
'--copy-to="<(PRODUCT_DIR)"',
],
},
'actions': [
{
'action_name': 'Optimize Chrome binaries with syzygy',
'msvs_cygwin_shell': 0,
'inputs': [
'<(PRODUCT_DIR)\\initial\\chrome.dll',
'<(PRODUCT_DIR)\\initial\\chrome_dll.pdb',
],
}, { # optimize_with_syzygy!=1 or fastbuild!=0
# Copy the chrome DLL and PDB files into the product directory.
# If fastbuild!= 0 then there is no PDB file to copy.
'copies': [
{
'destination': '<(PRODUCT_DIR)',
'conditions': [
['fastbuild==0', {
'files': [
'<(PRODUCT_DIR)\\initial\\chrome.dll',
'<(PRODUCT_DIR)\\initial\\chrome_dll.pdb',
],
}, {
'files': [
'<(PRODUCT_DIR)\\initial\\chrome.dll',
],
}],
],
},
'outputs': [
'<(PRODUCT_DIR)\\chrome.dll',
'<(PRODUCT_DIR)\\chrome_dll.pdb',
],
}], # optimize_with_syzygy==0 or fastbuild==1
], # conditions
'action': [
'<(DEPTH)\\third_party\\syzygy\\binaries\\optimize.bat',
'--verbose',
'--input-dir="<(PRODUCT_DIR)"',
'--input-dll="<(PRODUCT_DIR)\\initial\\chrome.dll"',
'--input-pdb="<(PRODUCT_DIR)\\initial\\chrome_dll.pdb"',
'--output-dir="<(INTERMEDIATE_DIR)\\optimized"',
'--copy-to="<(PRODUCT_DIR)"',
],
},
],
},
],
}],
......
......@@ -427,14 +427,22 @@
'chrome_dll',
],
}],
['OS=="win"', {
'conditions': [
['optimize_with_syzygy==1', {
# With syzygy enabled there is an intermediate target which
# builds an initial version of chrome_dll, then optimizes it
# to its final location. The optimization step also
# depends on chrome_exe, so here we depend on the initial
# chrome_dll.
'dependencies': ['chrome_dll_initial',]
}, {
'dependencies': ['chrome_dll',]
}],
],
}],
['OS=="win"', {
'dependencies': [
# On Windows there is an intermediate target which builds an
# initial version of chrome_dll, then either optimizes it or
# copies to its final location. The optimization step also
# depends on chrome_exe, so here we depend on the initial
# chrome_dll.
'chrome_dll_initial',
'chrome_version_resources',
'installer_util',
'installer_util_strings',
......
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