comparison windows-dev/Configure.py @ 631:8efdb6357428

Implement /PDBALTPATH for Windows (cross-)builds
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 16 Jan 2022 12:21:14 +0100
parents 9107ff0c5a63
children
comparison
equal deleted inserted replaced
630:33264c660fca 631:8efdb6357428
375 deps=tool.dependencies, 375 deps=tool.dependencies,
376 depfile="$intdir/_deps") 376 depfile="$intdir/_deps")
377 n.newline() 377 n.newline()
378 if tool.msvc: 378 if tool.msvc:
379 # XXX TBD: in "release" builds use /pdbaltpath:$out.pdb 379 # XXX TBD: in "release" builds use /pdbaltpath:$out.pdb
380 n.rule("link-pyextension", "$link /nologo $ldflags $ldlibpath /implib:$out.lib /pdb:$out.pdb /out:$out $in $ldlibs") 380 n.rule("link-pyextension", "$link /nologo $ldflags $ldlibpath /implib:$out.lib /pdb:$out.pdb /pdbaltpath:$pdbaltpath /out:$out $in $ldlibs")
381 else: 381 else:
382 n.rule("link-pyextension", "$link $cppdefines $ccwarnings $ccflags $ldflags -o $out $in $ldlibpath $ldlibs") 382 n.rule("link-pyextension", "$link $cppdefines $ccwarnings $ccflags $ldflags -o $out $in $ldlibpath $ldlibs")
383 n.newline() 383 n.newline()
384 384
385 n.comment("_speedups") 385 n.comment("_speedups")
390 variables={"intsubdir": "speedups"}) 390 variables={"intsubdir": "speedups"})
391 n.newline() 391 n.newline()
392 linkinputs = [pathmod.normpath("$intdir/$intsubdir/"+make_obj_name(f, host.objext)) 392 linkinputs = [pathmod.normpath("$intdir/$intsubdir/"+make_obj_name(f, host.objext))
393 for f in speedups_sources] 393 for f in speedups_sources]
394 linkoutput = "$outdir/_speedups" + host.pydext 394 linkoutput = "$outdir/_speedups" + host.pydext
395 linkvariables = {"intsubdir": "speedups"}
395 if tool.msvc: 396 if tool.msvc:
397 linkvariables["pdbaltpath"] = os.path.basename(linkoutput) + ".pdb"
396 implicit_outputs = [ 398 implicit_outputs = [
397 pathmod.normpath(linkoutput + ".pdb"), 399 pathmod.normpath(linkoutput + ".pdb"),
398 pathmod.normpath(linkoutput + ".lib")] 400 pathmod.normpath(linkoutput + ".lib")]
399 if not tool.clang: 401 if not tool.clang:
400 implicit_outputs.append(pathmod.normpath(linkoutput + ".exp")) 402 implicit_outputs.append(pathmod.normpath(linkoutput + ".exp"))
402 implicit_outputs = None 404 implicit_outputs = None
403 n.build(linkoutput, 405 n.build(linkoutput,
404 "link-pyextension", 406 "link-pyextension",
405 inputs=linkinputs, 407 inputs=linkinputs,
406 implicit_outputs=implicit_outputs, 408 implicit_outputs=implicit_outputs,
407 variables={"intsubdir": "speedups"}) 409 variables=linkvariables)
408 n.newline() 410 n.newline()