-
Notifications
You must be signed in to change notification settings - Fork 17
Build and install libpython3.dll #148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This provides the limited ABI as a separate DLL, forwarding to the real one. This makes linking with "-lpython3" work. Fixes python#147
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. Could we add a test for testing this?
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.. |
|
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. |
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 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
|
I've created #150 for the test |
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 provides the limited ABI as a separate DLL, forwarding to the
real one. This makes linking with "-lpython3" work.
Fixes #147