diff --git a/Misc/NEWS.d/next/macOS/2021-05-02-21-03-27.bpo-42119.Y7BSX_.rst b/Misc/NEWS.d/next/macOS/2021-05-02-21-03-27.bpo-42119.Y7BSX_.rst new file mode 100644 index 00000000000..7dd67a527eb --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2021-05-02-21-03-27.bpo-42119.Y7BSX_.rst @@ -0,0 +1,7 @@ +Fix check for macOS SDK paths when building Python. Narrow search to match +contents of SDKs, namely only files in ``/System/Library``, +``/System/IOSSupport``, and ``/usr`` other than ``/usr/local``. Previously, +anything under ``/System`` was assumed to be in an SDK which causes problems +with the new file system layout in 10.15+ where user file systems may appear +to be mounted under ``/System``. Paths in ``/Library`` were also +incorrectly treated as SDK locations. diff --git a/setup.py b/setup.py index ca0ed8363ef..3857e6887a9 100644 --- a/setup.py +++ b/setup.py @@ -227,11 +227,11 @@ def macosx_sdk_specified(): def is_macosx_sdk_path(path): """ - Returns True if 'path' can be located in an OSX SDK + Returns True if 'path' can be located in a macOS SDK """ return ( (path.startswith('/usr/') and not path.startswith('/usr/local')) - or path.startswith('/System/') - or path.startswith('/Library/') ) + or path.startswith('/System/Library') + or path.startswith('/System/iOSSupport') ) def grep_headers_for(function, headers):