Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
BPO-41100: macOS branch#21564
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
BPO-41100: macOS branch#21564
Uh oh!
There was an error while loading.Please reload this page.
Conversation
We should consider just dropping support for macOS 10.4 hereto simplify the code.
This is support for ctypes on macOS/arm64 basedon PR 21249 by Lawrence D'Anna (Apple).Changes:- changed __builtin_available tests from 11.0 to 10.15- added test to setup.py for ffi_closure_alloc and use that in malloc_closure.c- Minor change in the code path for ffi_prep_closure_var (coding style change)
The preprocessor guard in the old version doesn't work, andisn't really needed (10.4 only supported 32-bit code whereunsigned long is the same as uint32_t).
This also adds an option to stop building after compiling the3th-party dependencies, as well as a script for archiving thosedependencies. This makes it easier to work on the build.There are three changes to build-installer.py related to universal2support:1. Add 'universal2' information to build-installer.py;2. Building OpenSSL for arm64 requires a patch at this time;3. For some reason I had to patch the Tcl build to avoid a build error.
Needed because my previous workaround doesn't work anymore.This uses a private API, that should be made public later...
| } | ||
| }else | ||
| #endif | ||
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.
this will fail for variadic functions on Mac OS 10.14 and below, because it will not call eitherffi_prep_cif_var norffi_prep_cif
| (is_macosx_at_least((10,15))or'-arch arm64'insysconfig.get_config_var("CFLAGS"))): | ||
| self.use_system_libffi=True | ||
| else: | ||
| self.use_system_libffi='--with-system-ffi'insysconfig.get_config_var("CONFIG_ARGS") |
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.
I thought you said you wanted to get rid ofself.use_system_libffi and just use the system unconditionally.
Apply changes frompython#21564to the Python 3.8.5 source code
mattip commentedSep 29, 2020
PyPy gota report that |
lawrence-danna-apple commentedSep 29, 2020
That function has not been deleted. In the stack-trace you link to it looks like thelibrary is None, so I'm guessing it's a manifestation ofthis |
mattip commentedSep 29, 2020
Thanks, sorry for commenting in the wrong place. |
ned-deily commentedOct 26, 2020
This PR has been included in and superseded byGH-22855, |
This PR will (but does not yet) contain all changes needed to build and run on macOS 11, including "Apple Silicon" hardware.
This merges some earlier patches as well as contributions by Apple.