This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Simplify pyshellext.dll build
Type: enhancement Stage: resolved
Components: Windows Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: nnemkin, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2020-06-22 06:00 by nnemkin, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 21037 merged nnemkin, 2020-06-22 06:02
Messages (5)
msg372032 - (view) Author: Nikita Nemkin (nnemkin) * Date: 2020-06-22 06:00
pyshellext uses MIDL to generate a header, whose only purpose is to define a class GUID. MIDL generation step can be replaced with a simple #define. This doesn't really matter for VS, but other build systems (CMake, probably Meson too) will benefit.

pyshellext has separate .def files for debug and release builds. One .def file is sufficient, because LIBRARY statement is optional.
Using __declspec(dllexport) isn't an option, because Windows headers misdeclare DllCanUnloadNow and DllGetClassObject...
msg372122 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-06-22 21:30
Looks good, but I'll want to manually test this, as it's not covered by automated tests. (If you happen to know how to test drag-drop of multiple files and non-MBCS filenames in Explorer, would love to have some tests, but given the low churn on this part I suspect it's not worthwhile.)

Ping me in a week if I haven't gotten to this.
msg372218 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-06-23 23:32
New changeset bbf36e8903f8e86dcad8131c818e122537c30f9e by Nikita Nemkin in branch 'master':
bpo-41070: Simplify pyshellext.dll build (GH-21037)
https://github.com/python/cpython/commit/bbf36e8903f8e86dcad8131c818e122537c30f9e
msg372219 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-06-23 23:32
Thanks!
msg372239 - (view) Author: Nikita Nemkin (nnemkin) * Date: 2020-06-24 08:13
Thanks for reviewing my patches so quickly, Steve.

There's one last Windows-specific patch left (https://bugs.python.org/issue41038). Single-line change.
History
Date User Action Args
2022-04-11 14:59:32adminsetgithub: 85242
2020-06-24 08:13:13nnemkinsetmessages: + msg372239
2020-06-23 23:32:53steve.dowersetstatus: open -> closed
resolution: fixed
messages: + msg372219

stage: patch review -> resolved
2020-06-23 23:32:30steve.dowersetmessages: + msg372218
2020-06-22 21:30:50steve.dowersetassignee: steve.dower
messages: + msg372122
2020-06-22 06:02:19nnemkinsetkeywords: + patch
stage: patch review
pull_requests: + pull_request20209
2020-06-22 06:00:23nnemkincreate