diff options
author | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 01:00:57 +0000 |
---|---|---|
committer | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 01:00:57 +0000 |
commit | 89e13eca58d4c7e1f3a0a481f8933d4bef26bbed (patch) | |
tree | 8749ddbbaa2af233c20c083af459d538852e2037 | |
parent | e71d5327c21ced22e6d61af99ff8e889087ccf7e (diff) | |
download | chromium_src-89e13eca58d4c7e1f3a0a481f8933d4bef26bbed.zip chromium_src-89e13eca58d4c7e1f3a0a481f8933d4bef26bbed.tar.gz chromium_src-89e13eca58d4c7e1f3a0a481f8933d4bef26bbed.tar.bz2 |
Link chrome.exe to its IntDir and then hardlink to OutDir as a
postbuild on msvs. This avoids a clash between the .ilk files
for chrome.exe and chrome.dll which disables incremental linking
for chrome_dll.
BUG=92528
TEST=No new functionality, no link/run problems
Review URL: http://codereview.chromium.org/7633024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97074 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/chrome_exe.gypi | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi index 69b8a61..31a9077 100644 --- a/chrome/chrome_exe.gypi +++ b/chrome/chrome_exe.gypi @@ -45,19 +45,6 @@ }, 'conditions': [ ['OS=="win"', { - # TODO(scottbyer): This is a temporary workaround. The right fix - # is to change the output file to be in $(IntDir) for this project - # and the .dll project and use the hardlink script to link it back - # to $(OutDir). - 'configurations': { - 'Debug_Base': { - 'msvs_settings': { - 'VCLinkerTool': { - 'LinkIncremental': '1', - }, - }, - }, - }, 'msvs_settings': { 'VCLinkerTool': { 'DelayLoadDLLs': [ @@ -464,6 +451,20 @@ }, }, }], + + # Linking to $(IntDir) and then hard-linking back to $(OutDir) is a + # workaround to avoid having the .ilk files for chrome.dll and + # chrome.exe conflicting. See http://crbug.com/92528 for background. + # Only done on 2008 currently because msvs_postbuild isn't implemented + # on 2010 yet, and this hack may not be required there anyway. + ['OS=="win" and MSVS_VERSION=="2008"', { + 'msvs_settings': { + 'VCLinkerTool': { + 'OutputFile': '$(IntDir)\\chrome.exe', + }, + }, + 'msvs_postbuild': 'tools\\build\\win\\hardlink_failsafe.bat $(IntDir)\\chrome.exe $(OutDir)\\chrome.exe' + }], ], }, ], |