summaryrefslogtreecommitdiff
path: root/tools/gyp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gyp')
-rw-r--r--tools/gyp/pylib/gyp/xcode_emulation.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
index c303313a30..9481423228 100644
--- a/tools/gyp/pylib/gyp/xcode_emulation.py
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py
@@ -495,7 +495,7 @@ class XcodeSettings(object):
# Since the CLT has no SDK paths anyway, returning None is the
# most sensible route and should still do the right thing.
try:
- return GetStdout(['xcrun', '--sdk', sdk, infoitem])
+ return GetStdoutQuiet(['xcrun', '--sdk', sdk, infoitem])
except:
pass
@@ -1394,7 +1394,7 @@ def XcodeVersion():
if XCODE_VERSION_CACHE:
return XCODE_VERSION_CACHE
try:
- version_list = GetStdout(['xcodebuild', '-version']).splitlines()
+ version_list = GetStdoutQuiet(['xcodebuild', '-version']).splitlines()
# In some circumstances xcodebuild exits 0 but doesn't return
# the right results; for example, a user on 10.7 or 10.8 with
# a bogus path set via xcode-select
@@ -1444,6 +1444,18 @@ def CLTVersion():
continue
+def GetStdoutQuiet(cmdlist):
+ """Returns the content of standard output returned by invoking |cmdlist|.
+ Ignores the stderr.
+ Raises |GypError| if the command return with a non-zero return code."""
+ job = subprocess.Popen(cmdlist, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ out = job.communicate()[0]
+ if job.returncode != 0:
+ raise GypError('Error %d running %s' % (job.returncode, cmdlist[0]))
+ return out.rstrip('\n')
+
+
def GetStdout(cmdlist):
"""Returns the content of standard output returned by invoking |cmdlist|.
Raises |GypError| if the command return with a non-zero return code."""