Fix building `cffi` for macOS with Apple Silicon support + backwards compatibility
Fixes #474 (closed).
We use cffi
extensively in our app, which we deploy on macOS 10.10+. To natively support Apple Silicon, we need to:
- Build a fat binary with
x86_64
andarm64
- Link against the platform-provided
libffi
using the macOS SDK - Set
MACOSX_DEPLOYMENT_TARGET=10.10
and properly deal withunguarded-availability
warnings.
This patch alters cffi
to support the above. We remove CFFI_TRUST_LIBFFI
in favor of function-specific checks, which have to be at runtime to deal with deployment on various versions of macOS. This borrows from the approach used in https://github.com/python/cpython/pull/21249 to add support for this in CPython.
Edited by Max Bélanger