summary refs log tree commit diff
path: root/pkgs/development/web/nodejs/no-xcode-v7.patch
blob: 05623b21f13f94dcb20351c219f327639364bacb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
index a173ff0..1fc821a 100644
--- a/tools/gyp/pylib/gyp/xcode_emulation.py
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py
@@ -507,9 +507,12 @@ class XcodeSettings(object):
   def _XcodePlatformPath(self, configname=None):
     sdk_root = self._SdkRoot(configname)
     if sdk_root not in XcodeSettings._platform_path_cache:
-      platform_path = self._GetSdkVersionInfoItem(sdk_root,
+      try:
+        platform_path = self._GetSdkVersionInfoItem(sdk_root,
                                                   '--show-sdk-platform-path')
-      XcodeSettings._platform_path_cache[sdk_root] = platform_path
+        XcodeSettings._platform_path_cache[sdk_root] = platform_path
+      except:
+        XcodeSettings._platform_path_cache[sdk_root] = None
     return XcodeSettings._platform_path_cache[sdk_root]
 
   def _SdkPath(self, configname=None):
@@ -520,10 +523,13 @@ class XcodeSettings(object):
 
   def _XcodeSdkPath(self, sdk_root):
     if sdk_root not in XcodeSettings._sdk_path_cache:
-      sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
-      XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
-      if sdk_root:
-        XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
+      try:
+        sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
+        XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
+        if sdk_root:
+          XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
+      except:
+        XcodeSettings._sdk_path_cache[sdk_root] = None
     return XcodeSettings._sdk_path_cache[sdk_root]
 
   def _AppendPlatformVersionMinFlags(self, lst):
@@ -653,10 +659,11 @@ class XcodeSettings(object):
       framework_root = sdk_root
     else:
       framework_root = ''
-    config = self.spec['configurations'][self.configname]
-    framework_dirs = config.get('mac_framework_dirs', [])
-    for directory in framework_dirs:
-      cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
+    if 'SDKROOT' in self._Settings():
+      config = self.spec['configurations'][self.configname]
+      framework_dirs = config.get('mac_framework_dirs', [])
+      for directory in framework_dirs:
+        cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
 
     self.configname = None
     return cflags
@@ -908,10 +915,11 @@ class XcodeSettings(object):
     sdk_root = self._SdkPath()
     if not sdk_root:
       sdk_root = ''
-    config = self.spec['configurations'][self.configname]
-    framework_dirs = config.get('mac_framework_dirs', [])
-    for directory in framework_dirs:
-      ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
+    if 'SDKROOT' in self._Settings():
+      config = self.spec['configurations'][self.configname]
+      framework_dirs = config.get('mac_framework_dirs', [])
+      for directory in framework_dirs:
+        ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
 
     platform_root = self._XcodePlatformPath(configname)
     if sdk_root and platform_root and self._IsXCTest():
@@ -1683,6 +1691,9 @@ def _NormalizeEnvVarReferences(str):
   """Takes a string containing variable references in the form ${FOO}, $(FOO),
   or $FOO, and returns a string with all variable references in the form ${FOO}.
   """
+  if str is None:
+    return ''
+
   # $FOO -> ${FOO}
   str = re.sub(r'\$([a-zA-Z_][a-zA-Z0-9_]*)', r'${\1}', str)