| 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='') | 
|  |