diff options
author | noelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-01 22:09:41 +0000 |
---|---|---|
committer | noelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-01 22:09:41 +0000 |
commit | 175e4ffda291519c0b348ebeeccac3585f7132c8 (patch) | |
tree | 91f4ff666fb94344bb2372a9fb5f962dc3a7a1a3 /chrome/chrome_syzygy.gyp | |
parent | 3c7406ce6db3d9dce6ba3a544ea21f296dc02106 (diff) | |
download | chromium_src-175e4ffda291519c0b348ebeeccac3585f7132c8.zip chromium_src-175e4ffda291519c0b348ebeeccac3585f7132c8.tar.gz chromium_src-175e4ffda291519c0b348ebeeccac3585f7132c8.tar.bz2 |
Revert 165215 - Fix dependency graph for syzygy and chrome_dll.pdb
We create a fake PDB build step in order to use the PDBs in the
dependency graph. The wait script will attempt to open the PDB
for writting. On success we assume that mspdbsrv is done, and
it is now legal to access the file. At this point we generate
a stamp file on which PDB consumers can depend.
Renames chrome_dll.pdb to chrome.dll.pdb to match ninja
Pulls in /PROFILE fix for GYP
Add PDB target for syzygy to depend on.
BUG=126499
Review URL: https://codereview.chromium.org/11232072
TBR=noelallen@google.com
Review URL: https://codereview.chromium.org/11365048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165518 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome_syzygy.gyp')
-rw-r--r-- | chrome/chrome_syzygy.gyp | 70 |
1 files changed, 13 insertions, 57 deletions
diff --git a/chrome/chrome_syzygy.gyp b/chrome/chrome_syzygy.gyp index b742944..d174ee4 100644 --- a/chrome/chrome_syzygy.gyp +++ b/chrome/chrome_syzygy.gyp @@ -4,58 +4,13 @@ { 'conditions': [ ['OS=="win" and fastbuild==0', { - 'variables': { - 'conditions': [ - ['incremental_chrome_dll==1', { - 'pdb_file': '<(PRODUCT_DIR)/initial/chrome.dll.pdb', - }, { - 'pdb_file': '<(PRODUCT_DIR)/chrome.dll.pdb', - }], - ], - }, + # Reorder the initial chrome DLL executable, placing the optimized + # output and corresponding PDB file into the "syzygy" subdirectory. + # If there's a matching chrome.dll-ordering.json file present in + # the output directory, chrome.dll will be ordered according to that, + # otherwise it will be randomized. + # This target won't build in fastbuild, since there are no PDBs. 'targets': [ - # The PDB is written by a background service, which means writes can - # happen after the build step which originated the request - # terminates. See BUG=126499 - # - # We hack around this by adding a script which will poll for write - # access to the PDB as a way to determine if the file is available. - # On success, we create stamp which is now gauranteed to be newer - # any inputs the PDB file depends on. - # - { - 'target_name': 'wait_chrome_pdb', - 'type': 'none', - 'sources' : [], - 'dependencies': [ - '<(DEPTH)/chrome/chrome.gyp:chrome_dll', - ], - 'actions': [ - { - 'action_name': 'Wait for PDB access.', - 'msvs_cygwin_shell': 0, - 'inputs': [ - '<(PRODUCT_DIR)/chrome.dll', - ], - 'outputs': [ - '<(PRODUCT_DIR)/chrome_dll_pdb.stamp', - ], - 'action': [ - 'python', - '<(DEPTH)/chrome/tools/build/win/wait_for_pdb.py', - '--input', '<(PRODUCT_DIR)/chrome.dll', - '--stamp', '<(PRODUCT_DIR)/chrome_dll_pdb.stamp', - '--pdb', '<(pdb_file)' - ], - }, - ], - }, - # Reorder the initial chrome DLL executable, placing the optimized - # output and corresponding PDB file into the "syzygy" subdirectory. - # If there's a matching chrome.dll-ordering.json file present in - # the output directory, chrome.dll will be ordered according to that, - # otherwise it will be randomized. - # This target won't build in fastbuild, since there are no PDBs. { 'target_name': 'chrome_dll_syzygy', 'type': 'none', @@ -64,24 +19,25 @@ '<(DEPTH)/chrome/chrome.gyp:chrome_dll', ], 'variables': { - 'dest_dir': '<(PRODUCT_DIR)/syzygy', + 'dest_dir': '<(PRODUCT_DIR)\\syzygy', }, 'actions': [ { 'action_name': 'Reorder Chrome with Syzygy', 'msvs_cygwin_shell': 0, 'inputs': [ - '<(PRODUCT_DIR)/chrome_dll_pdb.stamp', + '<(PRODUCT_DIR)\\chrome.dll', + '<(PRODUCT_DIR)\\chrome_dll.pdb', ], 'outputs': [ - '<(dest_dir)/chrome.dll', - '<(dest_dir)/chrome_dll.pdb', + '<(dest_dir)\\chrome.dll', + '<(dest_dir)\\chrome_dll.pdb', ], 'action': [ 'python', '<(DEPTH)/chrome/tools/build/win/syzygy_reorder.py', - '--input_executable', '<(PRODUCT_DIR)/chrome.dll', - '--input_symbol', '<(pdb_file)', + '--input_executable', '<(PRODUCT_DIR)\\chrome.dll', + '--input_symbol', '<(PRODUCT_DIR)\\chrome_dll.pdb', '--destination_dir', '<(dest_dir)', ], }, |