Skip to content

Commit f163c2e

Browse files
committed
windows: annotate pathcch dependency for pythoncore
This dependency was added in Python 3.9 as part of bpo-39401 / Git commit 6a65eba44bfd82ccc8bed4b5c6dd6637549955d5. The backport to Python 3.8 introduced run-time sniffing of the symbol to avoid the hard library dependency. This commit adds pathcch as a dependency for pythoncore. No attention is made to the Python version, effectively meaning we now require Windows 8 since this library is only available on Windows 8. I'm fine with not claiming support for Windows 7: that makes our support story simpler. This should fix issues with missing symbols for e.g. PathCchCanonicalizeEx when relinking a new library from the PYTHON.json metadata.
1 parent c3fa21f commit f163c2e

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

cpython-windows/build.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,6 +1753,9 @@ def find_additional_dependencies(project: pathlib.Path):
17531753
{"name": "shlwapi", "system": True},
17541754
{"name": "version", "system": True},
17551755
{"name": "ws2_32", "system": True},
1756+
# pathcch is Windows 8+ only. Python 3.9 dropped support for Windows 7.
1757+
# So this dependency is technically incorrect on Python 3.8.
1758+
{"name": "pathcch", "system": True},
17561759
# In addition to the ones explicitly in the project, there are some
17571760
# implicit link libraries not present. We list those as well.
17581761
{"name": "Ole32", "system": True},

docs/running.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ Linux system.
7676
Windows
7777
-------
7878

79+
Windows distributions require Windows 8 or Windows Server 2012 or newer. (The
80+
official Python distributions support Windows 7 up to Python 3.8 and dropped
81+
support for Windows 7 with Python 3.9. However, we've decided to drop
82+
support for Windows 7 from our Windows distributions.)
83+
7984
Windows binaries have a dependency on the Microsoft Visual C++ Redistributable,
8085
likely from MSVC 2015 (``vcruntime140.dll``). This dependency is not
8186
provided in the distribution and will need to be provided by downstream

0 commit comments

Comments
 (0)