summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_syzygy.gyp
diff options
context:
space:
mode:
authornoelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-01 22:09:41 +0000
committernoelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-01 22:09:41 +0000
commit175e4ffda291519c0b348ebeeccac3585f7132c8 (patch)
tree91f4ff666fb94344bb2372a9fb5f962dc3a7a1a3 /chrome/chrome_syzygy.gyp
parent3c7406ce6db3d9dce6ba3a544ea21f296dc02106 (diff)
downloadchromium_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.gyp70
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)',
],
},