-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-41100: add runtime checks for MACOSX_DEPLOYMENT_TARGET=10.10 #21576
bpo-41100: add runtime checks for MACOSX_DEPLOYMENT_TARGET=10.10 #21576
Conversation
In order to support a universal2 build, supporitng Mac OS 11 on arm64 and Mac OS on x86_64 going back to 10.10, we need to add in runtime checks for functions that will be detected as present by autoconf, because they are in the SDK, but which did not exist in Mac OS 10.10. This fixes all the instances of -WWunguarded-availability-new when building with MACOSX_DEPLOYMENT_TARGET=10.10
oops, this isn't quite right yet. |
im just new to github.. what does that mean? |
OK it's fixed now |
#define HAVE_PREADV_RUNTIME __builtin_available(macos 10.16, ios 14, tvos 14, watchos 7, *) | ||
#define HAVE_PWRITEV_RUNTIME __builtin_available(macos 10.16, ios 14, tvos 14, watchos 7, *) |
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.
Curious, what is the proper way to detect Big Sur, 10.16
or 11
?
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.
My understanding is that on current macs (with the Intel processor), upgrading to Big Sur will result in 10.16. However, on Apple Silicon, Big Sur will be 11.0.
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.
It's 11.0 for both Intel and Arm, however before the public disclosure it was marked as 10.16, so 10.16 appears in some of the headers like uio.h
, and will be recognized by _builtin_available
. I just copied 10.16 out of uio.h
, but it's confusing so I'll change it to 11.0.
superseded by #21577 |
In order to support a universal2 build, supporting Mac OS 11 on arm64 and Mac OS on
x86_64 going back to 10.10, we need to add in runtime checks for functions that will
be detected as present by autoconf, because they are in the SDK, but which did not
exist in Mac OS 10.10. This fixes all the instances of -WWunguarded-availability-new
when building with MACOSX_DEPLOYMENT_TARGET=10.10
https://bugs.python.org/issue41100