Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(548)

Unified Diff: pylib/gyp/generator/ninja.py

Issue 126443004: win ninja: include .pdb in linker outputs (Closed) Base URL: http://gyp.googlecode.com/svn/trunk
Patch Set: . Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pylib/gyp/msvs_emulation.py » ('j') | pylib/gyp/msvs_emulation.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pylib/gyp/generator/ninja.py
diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
index 57acb23534ff01ac0ecbd0e6eaecba780345bd0a..3612de0a432f6d69aa678027e78d643ca108d8db 100644
--- a/pylib/gyp/generator/ninja.py
+++ b/pylib/gyp/generator/ninja.py
@@ -1100,11 +1100,22 @@ class NinjaWriter:
self.target.import_lib = output + '.lib'
extra_bindings.append(('implibflag',
'/IMPLIB:%s' % self.target.import_lib))
+ pdbname = self.msvs_settings.GetPDBName(
+ config_name, self.ExpandSpecial, output + '.pdb')
output = [output, self.target.import_lib]
+ if pdbname:
+ output.append(pdbname)
elif not self.is_mac_bundle:
output = [output, output + '.TOC']
else:
command = command + '_notoc'
+ elif self.flavor == 'win':
+ extra_bindings.append(('exe', output))
+ pdbname = self.msvs_settings.GetPDBName(
Nico 2014/01/08 21:44:13 # Must match /PDB: flag in the 'link' rule.
scottmg 2014/01/08 21:54:57 It's confusing, but it actually doesn't have to. T
+ config_name, self.ExpandSpecial, output + '.pdb')
Nico 2014/01/08 21:44:13 default=output + '.pdb'
scottmg 2014/01/08 21:54:57 Done. (and above)
+ if pdbname:
+ output = [output, pdbname]
+
if len(solibs):
extra_bindings.append(('solibs', gyp.common.EncodePOSIXShellList(solibs)))
@@ -1611,13 +1622,13 @@ def _AddWinLinkRules(master_ninja, embed_manifest):
# Note that ldflags goes at the end so that it has the option of
# overriding default settings earlier in the command line.
Nico 2014/01/08 21:44:13 # The /PDB: argument must match the pdbname writte
exe_cmd = ('%s gyp-win-tool link-wrapper $arch '
- '$ld /nologo /OUT:$out /PDB:$out.pdb @$out.rsp' %
+ '$ld /nologo /OUT:$exe /PDB:$exe.pdb @$exe.rsp' %
sys.executable)
- exe_cmd = FullLinkCommand(exe_cmd, '$out', 'exe')
+ exe_cmd = FullLinkCommand(exe_cmd, '$exe', 'exe')
master_ninja.rule('link' + rule_name_suffix,
- description='LINK%s $out' % rule_name_suffix.upper(),
+ description='LINK%s $exe' % rule_name_suffix.upper(),
command=exe_cmd,
- rspfile='$out.rsp',
+ rspfile='$exe.rsp',
rspfile_content='$in_newline $libs $ldflags',
pool='link_pool')
@@ -2116,7 +2127,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
user_config)
else:
config_names = target_dicts[target_list[0]]['configurations'].keys()
- if params['parallel']:
+ if False: #params['parallel']:
Nico 2014/01/08 21:44:13 I assume you don't mean to land this part :-)
scottmg 2014/01/08 21:54:57 Ahem. I need to look into why the stack traces are
try:
pool = multiprocessing.Pool(len(config_names))
arglists = []
« no previous file with comments | « no previous file | pylib/gyp/msvs_emulation.py » ('j') | pylib/gyp/msvs_emulation.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698