--- pyobjc_setup.py.orig	2019-10-16 20:40:22.000000000 +1100
+++ pyobjc_setup.py	2019-10-24 20:40:00.000000000 +1100
@@ -207,14 +207,28 @@
     v = pl['ProductVersion']
     return '.'.join(v.split('.')[:2])
 
-def get_sdk_level():
-    cflags = get_config_var('CFLAGS')
-    cflags = shlex.split(cflags)
-    for i, val in enumerate(cflags):
-        if val == '-isysroot':
-            sdk = cflags[i+1]
+def get_sdk():
+    env_cflags = os.environ.get('CFLAGS', '')
+    config_cflags = get_config_var('CFLAGS')
+    sdk = None
+    for cflags_str in [env_cflags, config_cflags]:
+        cflags = shlex.split(cflags_str)
+        for i, val in enumerate(cflags):
+            if val == '-isysroot':
+                sdk = cflags[i+1]
+                break
+            elif val.find('-isysroot') == 0:
+                sdk = val[len('-isysroot'):]
+                break
+        if sdk:
             break
-    else:
+
+    return sdk
+
+def get_sdk_level():
+    sdk = get_sdk()
+
+    if not sdk:
         return None
 
     if sdk == '/':
@@ -223,7 +237,10 @@
     sdk = os.path.basename(sdk)
     assert sdk.startswith('MacOSX')
     assert sdk.endswith('.sdk')
-    return sdk[6:-4]
+    if sdk == 'MacOSX.sdk':
+        return get_os_level()
+    else:
+        return sdk[6:-4]
 
 class pyobjc_install_lib (install_lib.install_lib):
     def get_exclusions(self):
@@ -396,10 +413,10 @@
     if 'clang' in get_config_var('CC'):
         cflags.append('-Wno-deprecated-declarations')
 
-    CFLAGS = get_config_var('CFLAGS')
-    if '-isysroot' not in CFLAGS: # and os.path.exists('/usr/include/stdio.h'):
-        # We're likely on a system with de Xcode Command Line Tools.
-        # Explicitly use the most recent problems to avoid compile problems.
+    sdk = get_sdk()
+    if not sdk: # and os.path.exists('/usr/include/stdio.h'):
+        # We're likely on a system with the Xcode Command Line Tools.
+        # Explicitly use the most recent SDK to avoid compile problems.
         data = os.popen('/usr/bin/xcrun -sdk macosx --show-sdk-path').read()
         data = data.strip()
         if data: