Skip to content
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

Clean up _ctypes/libffi build, particularly on macOS #100540

Closed
zware opened this issue Dec 26, 2022 · 0 comments
Closed

Clean up _ctypes/libffi build, particularly on macOS #100540

zware opened this issue Dec 26, 2022 · 0 comments
Labels
3.12 bugs and security fixes build The build process and cross-build extension-modules C modules in the Modules dir OS-mac topic-ctypes

Comments

@zware
Copy link
Member

zware commented Dec 26, 2022

bpo-28491/gh-72677 was closed after bpo-41100/gh-85272, but Modules/_ctypes/libffi_osx wasn't actually removed, just made inaccessible to any build. In the course of figuring out whether it is in fact unused now, I also stumbled across Modules/_ctypes/darwin, which also appears to be a dlfcn.h shim for Mac OS X 10.2 and earlier, and as far as I can tell has been unused for years. And, of course, with no local copy of libffi on any platform anymore, there's no need for --with-system-ffi to stick around, which also pointed me towards a needless -DMACOSX in the macOS build of _ctypes. I'll be attaching a series of PRs for 3.12 (only) removing all of these, each of which can be done independently.

Linked PRs

@zware zware added OS-mac topic-ctypes extension-modules C modules in the Modules dir build The build process and cross-build 3.12 bugs and security fixes labels Dec 26, 2022
zware added a commit to zware/cpython that referenced this issue Dec 26, 2022
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
zware added a commit to zware/cpython that referenced this issue Dec 26, 2022
The define was only used to protect a `#pragma clang diagnostic`
setting, which is already better guarded by `__clang__` anwyay.
zware added a commit to zware/cpython that referenced this issue Dec 26, 2022
It was an ancient, modified copy of libffi that has not been in use
since pythonGH-22855.
zware added a commit to zware/cpython that referenced this issue Dec 26, 2022
It has had no effect on non-macOS platforms for a long time, and has had
the non-obvious effect of invoking `pkg_config` and not setting
`-DUSING_APPLE_OS_LIBFFI` on macOS since pythonGH-22855.
zware added a commit to zware/cpython that referenced this issue Dec 27, 2022
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
zware added a commit that referenced this issue Dec 28, 2022
The define was only used to protect a `#pragma clang diagnostic`
setting, which is already better guarded by `__clang__` anwyay.
zware added a commit that referenced this issue Dec 28, 2022
…00544)

It has had no effect on non-macOS platforms for a long time, and has had
the non-obvious effect of invoking `pkg_config` and not setting
`-DUSING_APPLE_OS_LIBFFI` on macOS since GH-22855.
zware added a commit to zware/cpython that referenced this issue Dec 28, 2022
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
zware added a commit that referenced this issue Dec 28, 2022
It was an ancient, modified copy of libffi that has not been in use
since GH-22855.
zware added a commit to zware/cpython that referenced this issue Dec 28, 2022
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
zware added a commit that referenced this issue Dec 29, 2022
)

As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
@zware zware closed this as completed Dec 30, 2022
GalaxySnail added a commit to GalaxySnail/rixx-pkgbuilds that referenced this issue Sep 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.12 bugs and security fixes build The build process and cross-build extension-modules C modules in the Modules dir OS-mac topic-ctypes
Projects
None yet
Development

No branches or pull requests

1 participant