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 = [] |