[3.9] bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a string (GH-24341) by miss-islington · Pull Request #24410 · python/cpython (original) (raw)

)

This is a partial backport of bpo-41100 changes e8b1c038b14b5fc8120aab62c9bf5fb840274cb6 and 96d906b144e6e6aa96c5ffebecbcc5d38034bbda for Python 3.8. We introduce the ability to build Python from source for arm64 on macOS, but we do not make a promise of support. This allows us to omit support for Universal2 binaries as well as weak-linking of symbols from the macOS SDK based on the deployment target, which are larger changes much more difficult to merge.

This also includes a backport of subsequent bpo-42688 change 7e729978fa08a360cbf936dc215ba7dd25a06a08 to fix build errors with external libffi.

On macOS system provided libraries are in a shared library cache and not at their usual location. This PR teaches distutils to search in the SDK, even if there was no "-sysroot" argument in the compiler flags. (cherry picked from commit 404a719)

macOS releases numbering has changed as of macOS 11 Big Sur. Previously, major releases were of the form 10.x, 10.x+1, 10.x+2, etc; as of Big Sur, they are now x, x+1, etc, so, for example, 10.15, 10.15.1, ..., 10.15.7, 11, 11.0.1, 11.1, ..., 12, 12.1, etc. Allow Python to build with single-digit deployment target values. Patch provided by FX Coudert. (cherry picked from commit 5291639)

Co-authored-by: Ronald Oussoren ronaldoussoren@mac.com Co-authored-by: FX Coudert fxcoudert@gmail.com Co-authored-by: Max Bélanger aeromax@gmail.com