Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Description
Bug report
Bug description:
Python includes shims for compiler tools on iOS to match GNU conventions for compiler names (e.g.,arm64-apple-ios-clang) to avoid encoding a user-specific location to a compiler in sysconfig, and to avoid issues with UNIX build tools that expect CC/CXX to be single arguments without spaces.
Using this approacharm64-apple-ios-clang expands internal asxcrun --sdk iphoneos clang -target arm64-apple-ios-clang
Unfortunately, Apple has 3 ways to define a minimum iOS version, in order of priority:
- the
IPHONEOS_DEPLOYMENT_TARGET=12.0environment variable - the
-mios-min-version=12.0command line argument - a version number encoded in a
-target arm64-apple-ios12.0-simulatorargument
If you specifyall three options, (1) will be ignored, and (2) will raise a warning if the version it specifies doesn't match the version specified by (3).
The problem arises if you specify-target arm64-apple-ios-simulator- which is what the shim currently encodes.
If the-target doesn't specify a version, this is interpreted as "no min version". An explicitly provided-mios-version-min definition will override this minimum without warning; but anyIPHONEOS_DEPLOYMENT_VERSION value will beignored.
Thus, using the compiler shims in an environment whereIPHONEOS_DEPLOYMENT_VERSION is defined will result in this value beingignored unless the minimum version is also passed in as a-mios-version-min argument.
CPython versions tested on:
3.13
Operating systems tested on:
Other