Skip to content

Commit

Permalink
Merge pull request #5828 from radarhere/macos_sdk_path
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk committed Nov 12, 2021
2 parents 24f0bbf + 2ce7dd5 commit 4fca3b4
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions setup.py
Expand Up @@ -404,6 +404,27 @@ def _remove_extension(self, name):
self.extensions.remove(extension)
break

def get_macos_sdk_path(self):
try:
sdk_path = (
subprocess.check_output(["xcrun", "--show-sdk-path"])
.strip()
.decode("latin1")
)
except Exception:
sdk_path = None
if (
not sdk_path
or sdk_path == "/Applications/Xcode.app/Contents/Developer"
"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
):
commandlinetools_sdk_path = (
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"
)
if os.path.exists(commandlinetools_sdk_path):
sdk_path = commandlinetools_sdk_path
return sdk_path

def build_extensions(self):

library_dirs = []
Expand Down Expand Up @@ -531,17 +552,7 @@ def build_extensions(self):
_add_directory(library_dirs, "/usr/X11/lib")
_add_directory(include_dirs, "/usr/X11/include")

# SDK install path
sdk_path = "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"
if not os.path.exists(sdk_path):
try:
sdk_path = (
subprocess.check_output(["xcrun", "--show-sdk-path"])
.strip()
.decode("latin1")
)
except Exception:
sdk_path = None
sdk_path = self.get_macos_sdk_path()
if sdk_path:
_add_directory(library_dirs, os.path.join(sdk_path, "usr", "lib"))
_add_directory(include_dirs, os.path.join(sdk_path, "usr", "include"))
Expand Down

0 comments on commit 4fca3b4

Please sign in to comment.