Build and install libpython3.dll - #148
Merged
Merged
Conversation
This provides the limited ABI as a separate DLL, forwarding to the real one. This makes linking with "-lpython3" work. Fixes python#147
lazka
added a commit
to lazka/MINGW-packages
that referenced
this pull request
Aug 21, 2023
This makes distutils link against python3 instead of python3.x when py_limited_api is set on the extension. With MSVC this is solved via pragma, which doesn't have an alternative with our toolchains. This depends on libpython3.dll being installed, so msys2-contrib/cpython-mingw#148
lazka
marked this pull request as ready for review
August 21, 2023 17:38
naveen521kk
approved these changes
Aug 21, 2023
naveen521kk
left a comment
Member
There was a problem hiding this comment.
lgtm. Could we add a test for testing this?
Member
Author
yeah, I'm not quite sure how to best approach this. With msys2/MINGW-packages#18232 I could build an extension with setuptools, but how do I check if it worked? hm.. |
Member
Author
|
ok, I have something. I'll create a separate PR though as the test depends on the setuptools patch, and the setup tools patch depends on this. |
lazka
added a commit
to lazka/cpython
that referenced
this pull request
Aug 21, 2023
This builds the test module twice, once normally and once for the limited API. In the later case we check at runtime if libpython3.dll is loaded, to make sure we are actually linked against it and not against libpython3.x.dll. This depends on both: * msys2-contrib#148 * msys2/MINGW-packages#18232
lazka
added a commit
to lazka/cpython
that referenced
this pull request
Aug 21, 2023
This builds the test module twice, once normally and once for the limited API. In the later case we check at runtime if libpython3.dll is loaded, to make sure we are actually linked against it and not against libpython3.x.dll. This depends on both: * msys2-contrib#148 * msys2/MINGW-packages#18232
Member
Author
|
I've created #150 for the test |
lazka
added a commit
to lazka/MINGW-packages
that referenced
this pull request
Aug 22, 2023
lazka
added a commit
to lazka/cpython
that referenced
this pull request
Aug 23, 2023
This builds the test module twice, once normally and once for the limited API. In the later case we check at runtime if libpython3.dll is loaded, to make sure we are actually linked against it and not against libpython3.x.dll. This depends on both: * msys2-contrib#148 * msys2/MINGW-packages#18232
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This provides the limited ABI as a separate DLL, forwarding to the
real one. This makes linking with "-lpython3" work.
Fixes #147