Skip to content

Build and install libpython3.dll - #148

Merged
lazka merged 1 commit into
msys2-contrib:mingw-v3.11.4from
lazka:add-python3dll
Aug 22, 2023
Merged

Build and install libpython3.dll#148
lazka merged 1 commit into
msys2-contrib:mingw-v3.11.4from
lazka:add-python3dll

Conversation

@lazka

@lazka lazka commented Aug 21, 2023

Copy link
Copy Markdown
Member

This provides the limited ABI as a separate DLL, forwarding to the
real one. This makes linking with "-lpython3" work.

Fixes #147

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
lazka marked this pull request as ready for review August 21, 2023 17:38

@naveen521kk naveen521kk left a comment

Copy link
Copy Markdown
Member

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?

@lazka

lazka commented Aug 21, 2023

Copy link
Copy Markdown
Member Author

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..

@lazka

lazka commented Aug 21, 2023

Copy link
Copy Markdown
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
@lazka

lazka commented Aug 21, 2023

Copy link
Copy Markdown
Member Author

I've created #150 for the test

@lazka
lazka merged commit 8aeb46d into msys2-contrib:mingw-v3.11.4 Aug 22, 2023
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide a stable ABI python3.dll

2 participants