Index: pylib/gyp/msvs_emulation.py |
=================================================================== |
--- pylib/gyp/msvs_emulation.py (revision 1531) |
+++ pylib/gyp/msvs_emulation.py (working copy) |
@@ -277,6 +277,16 @@ |
output_file, config=config)) |
return output_file |
+ def GetPDBName(self, config, expand_special): |
+ """Gets the explicitly overridden pdb name for a target or returns None |
+ if it's not overridden.""" |
+ config = self._RealConfig(config) |
+ output_file = self._Setting(('VCLinkerTool', 'ProgramDatabaseFile'), config) |
+ if output_file: |
+ output_file = expand_special(self.ConvertVSMacros( |
+ output_file, config=config)) |
+ return output_file |
+ |
def GetCflags(self, config): |
"""Returns the flags that need to be added to .c and .cc compilations.""" |
config = self._RealConfig(config) |
@@ -388,6 +398,9 @@ |
out = self.GetOutputName(config, expand_special) |
if out: |
ldflags.append('/OUT:' + out) |
+ pdb = self.GetPDBName(config, expand_special) |
+ if pdb: |
+ ldflags.append('/PDB:' + pdb) |
ld('AdditionalOptions', prefix='') |
ld('SubSystem', map={'1': 'CONSOLE', '2': 'WINDOWS'}, prefix='/SUBSYSTEM:') |
ld('LinkIncremental', map={'1': ':NO', '2': ''}, prefix='/INCREMENTAL') |
@@ -402,7 +415,6 @@ |
ld('IgnoreDefaultLibraryNames', prefix='/NODEFAULTLIB:') |
ld('ResourceOnlyDLL', map={'true': '/NOENTRY'}) |
ld('EntryPointSymbol', prefix='/ENTRY:') |
- ld('ProgramDatabaseFile', prefix='/PDB:') |
ld('Profile', map={ 'true': '/PROFILE'}) |
# TODO(scottmg): This should sort of be somewhere else (not really a flag). |
ld('AdditionalDependencies', prefix='') |