changeset 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 33264c660fca
children 1fa686cc72e8
files windows-dev/Configure.py
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/windows-dev/Configure.py	Sun Jan 16 09:46:57 2022 +0100
+++ b/windows-dev/Configure.py	Sun Jan 16 12:21:14 2022 +0100
@@ -377,7 +377,7 @@
 n.newline()
 if tool.msvc:
     # XXX TBD: in "release" builds use /pdbaltpath:$out.pdb
-    n.rule("link-pyextension", "$link /nologo $ldflags $ldlibpath /implib:$out.lib /pdb:$out.pdb /out:$out $in $ldlibs")
+    n.rule("link-pyextension", "$link /nologo $ldflags $ldlibpath /implib:$out.lib /pdb:$out.pdb /pdbaltpath:$pdbaltpath /out:$out $in $ldlibs")
 else:
     n.rule("link-pyextension", "$link $cppdefines $ccwarnings $ccflags $ldflags -o $out $in $ldlibpath $ldlibs")
 n.newline()
@@ -392,7 +392,9 @@
 linkinputs = [pathmod.normpath("$intdir/$intsubdir/"+make_obj_name(f, host.objext))
               for f in speedups_sources]
 linkoutput = "$outdir/_speedups" + host.pydext
+linkvariables = {"intsubdir": "speedups"}
 if tool.msvc:
+    linkvariables["pdbaltpath"] = os.path.basename(linkoutput) + ".pdb"
     implicit_outputs = [
         pathmod.normpath(linkoutput + ".pdb"),
         pathmod.normpath(linkoutput + ".lib")]
@@ -404,5 +406,5 @@
         "link-pyextension",
         inputs=linkinputs,
         implicit_outputs=implicit_outputs,
-        variables={"intsubdir": "speedups"})
+        variables=linkvariables)
 n.newline()