Skip to content

Commit

Permalink
pythongh-119679: Ensures correct import libraries are included in Win…
Browse files Browse the repository at this point in the history
…dows install packages (pythonGH-119790)
  • Loading branch information
zooba authored Jun 3, 2024
1 parent 4765e1f commit fd01271
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Ensures correct import libraries are included in Windows installs.
14 changes: 8 additions & 6 deletions PC/layout/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ def get_tcltk_lib(ns):


def get_layout(ns):
def in_build(f, dest="", new_name=None):
def in_build(f, dest="", new_name=None, no_lib=False):
n, _, x = f.rpartition(".")
n = new_name or n
src = ns.build / f
Expand All @@ -136,7 +136,7 @@ def in_build(f, dest="", new_name=None):
pdb = src.with_suffix(".pdb")
if pdb.is_file():
yield dest + n + ".pdb", pdb
if ns.include_dev:
if ns.include_dev and not no_lib:
lib = src.with_suffix(".lib")
if lib.is_file():
yield "libs/" + n + ".lib", lib
Expand Down Expand Up @@ -202,7 +202,9 @@ def in_build(f, dest="", new_name=None):

yield "LICENSE.txt", ns.build / "LICENSE.txt"

for dest, src in rglob(ns.build, "*.pyd"):
dest="" if ns.flat_dlls else "DLLs/"

for _, src in rglob(ns.build, "*.pyd"):
if ns.include_freethreaded:
if not src.match("*.cp*t-win*.pyd"):
continue
Expand All @@ -217,14 +219,14 @@ def in_build(f, dest="", new_name=None):
continue
if src in TCLTK_PYDS_ONLY and not ns.include_tcltk:
continue
yield from in_build(src.name, dest="" if ns.flat_dlls else "DLLs/")
yield from in_build(src.name, dest=dest, no_lib=True)

for dest, src in rglob(ns.build, "*.dll"):
for _, src in rglob(ns.build, "*.dll"):
if src.stem.endswith("_d") != bool(ns.debug) and src not in REQUIRED_DLLS:
continue
if src in EXCLUDE_FROM_DLLS:
continue
yield from in_build(src.name, dest="" if ns.flat_dlls else "DLLs/")
yield from in_build(src.name, no_lib=True)

if ns.zip_lib:
zip_name = PYTHON_ZIP_NAME
Expand Down
22 changes: 14 additions & 8 deletions Tools/msi/freethreaded/freethreaded_files.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@
<Component Id="freethreaded_python.dll" Directory="InstallDirectory" Guid="*">
<File Id="freethreaded_python.dll" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)t.dll" KeyPath="yes" />
</Component>
<Component Id="freethreaded_python_stable.lib" Directory="libs" Guid="*">
<File Id="freethreaded_python_stable.lib" Name="python$(var.MajorVersionNumber)t.lib" KeyPath="yes" />
</Component>
<Component Id="freethreaded_python.lib" Directory="libs" Guid="*">
<File Id="freethreaded_python.lib" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)t.lib" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
<Fragment>
Expand All @@ -69,8 +75,14 @@
<File Id="freethreaded_python_stable_d.dll" Name="python$(var.MajorVersionNumber)t_d.dll" KeyPath="yes" />
</Component>
<Component Id="freethreaded_python_d.dll" Directory="InstallDirectory" Guid="*">
<File Id="freethreaded_python_d.dll" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)_d.dll" KeyPath="yes" />
<File Id="freethreaded_python_d.pdb" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)_d.pdb" KeyPath="no" />
<File Id="freethreaded_python_d.dll" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)t_d.dll" KeyPath="yes" />
<File Id="freethreaded_python_d.pdb" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)t_d.pdb" KeyPath="no" />
</Component>
<Component Id="freethreaded_python_stable_d.lib" Directory="libs" Guid="*">
<File Id="freethreaded_python_stable_d.lib" Name="python$(var.MajorVersionNumber)t_d.lib" KeyPath="yes" />
</Component>
<Component Id="freethreaded_python_d.lib" Directory="libs" Guid="*">
<File Id="freethreaded_python_d.lib" Name="python$(var.MajorVersionNumber)$(var.MinorVersionNumber)t_d.lib" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
Expand Down Expand Up @@ -147,12 +159,6 @@

<?endforeach ?>

<Component Id="venvlauncher_d.exe" Directory="Lib_venv_scripts_nt__freethreaded" Guid="*">
<File Name="python_d.exe" Source="venvlauncher_d.exe" KeyPath="yes" />
</Component>
<Component Id="venvwlauncher_d.exe" Directory="Lib_venv_scripts_nt__freethreaded" Guid="*">
<File Name="pythonw_d.exe" Source="venvwlauncher_d.exe" KeyPath="yes" />
</Component>
<Component Id="venvlaunchert_d.pdb" Directory="Lib_venv_scripts_nt__freethreaded" Guid="*">
<File Name="venvlaunchert_d.pdb" KeyPath="yes" />
</Component>
Expand Down

0 comments on commit fd01271

Please sign in to comment.