Specific Behaviors¶
This page documents how our backend handles certain situations.
MACOSX_DEPLOYMENT_TARGET¶
Note
macOS versioning changed from macOS 11 onwards. For macOS 10.x, the
versioning scheme is 10.major.minor. From macOS 11, it is
major.minor.bugfix. Wheel tags and deployment targets are currently
designed to be for major versions only. Examples of the platform part
of tags that are currently accepted by, e.g., pip are:
macosx_10_9, macosx_10_13, macosx_11_0, macosx_12_0.
The target macOS version can be changed by setting the
MACOSX_DEPLOYMENT_TARGET environment variable.
If MACOSX_DEPLOYMENT_TARGET is set, we will use the selected version for the
wheel tag. Please use major versions only, so 10.13, 11, 12.
If MACOSX_DEPLOYMENT_TARGET is not set, the current macOS major version on
the build machine will be used instead (derived from platform.mac_ver()).
Note that another way of specifying the target macOS platform is to explicitly
use -mmacosx-version-min compile and link flags when invoking Clang or GCC.
It is not possible for meson-python to detect this though, so it will not
set the wheel tag to that flag automatically.