at 16.09-beta 2.6 kB view raw
1diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py 2index 407ead0..8bf64e7 100644 3--- a/tools/gyp/pylib/gyp/xcode_emulation.py 4+++ b/tools/gyp/pylib/gyp/xcode_emulation.py 5@@ -446,10 +446,16 @@ class XcodeSettings(object): 6 7 def _XcodeSdkPath(self, sdk_root): 8 if sdk_root not in XcodeSettings._sdk_path_cache: 9- sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path') 10- XcodeSettings._sdk_path_cache[sdk_root] = sdk_path 11- if sdk_root: 12- XcodeSettings._sdk_root_cache[sdk_path] = sdk_root 13+ try: 14+ sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path') 15+ XcodeSettings._sdk_path_cache[sdk_root] = sdk_path 16+ if sdk_root: 17+ XcodeSettings._sdk_root_cache[sdk_path] = sdk_root 18+ except: 19+ # if this fails it's because xcodebuild failed, which means 20+ # the user is probably on a CLT-only system, where there 21+ # is no valid SDK root 22+ XcodeSettings._sdk_path_cache[sdk_root] = None 23 return XcodeSettings._sdk_path_cache[sdk_root] 24 25 def _AppendPlatformVersionMinFlags(self, lst): 26@@ -572,10 +578,11 @@ class XcodeSettings(object): 27 framework_root = sdk_root 28 else: 29 framework_root = '' 30- config = self.spec['configurations'][self.configname] 31- framework_dirs = config.get('mac_framework_dirs', []) 32- for directory in framework_dirs: 33- cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root)) 34+ if 'SDKROOT' in self._Settings(): 35+ config = self.spec['configurations'][self.configname] 36+ framework_dirs = config.get('mac_framework_dirs', []) 37+ for directory in framework_dirs: 38+ cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root)) 39 40 self.configname = None 41 return cflags 42@@ -826,10 +833,11 @@ class XcodeSettings(object): 43 sdk_root = self._SdkPath() 44 if not sdk_root: 45 sdk_root = '' 46- config = self.spec['configurations'][self.configname] 47- framework_dirs = config.get('mac_framework_dirs', []) 48- for directory in framework_dirs: 49- ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) 50+ if 'SDKROOT' in self._Settings(): 51+ config = self.spec['configurations'][self.configname] 52+ framework_dirs = config.get('mac_framework_dirs', []) 53+ for directory in framework_dirs: 54+ ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) 55 56 is_extension = self._IsIosAppExtension() or self._IsIosWatchKitExtension() 57 if sdk_root and is_extension: