Decode return values from subprocess.check_output (#173)
diff --git a/build/ninja/android.py b/build/ninja/android.py
index 82fba80..7d0a1fa 100644
--- a/build/ninja/android.py
+++ b/build/ninja/android.py
@@ -81,7 +81,7 @@
else:
self.hostarchname = 'windows-x86'
elif self.host.is_linux():
- localarch = subprocess.check_output(['uname', '-m']).strip()
+ localarch = toolchain.check_output(['uname', '-m'])
if localarch == 'x86_64':
self.hostarchname = 'linux-x86_64'
else:
diff --git a/build/ninja/clang.py b/build/ninja/clang.py
index f3fb9ce..a6d2127 100644
--- a/build/ninja/clang.py
+++ b/build/ninja/clang.py
@@ -250,15 +250,15 @@
self.linkflags += ['-isysroot', '$sysroot']
self.cflags += ['-fembed-bitcode-marker']
- platformpath = subprocess.check_output(['xcrun', '--sdk', sdk, '--show-sdk-platform-path']).strip()
+ platformpath = toolchain.check_output(['xcrun', '--sdk', sdk, '--show-sdk-platform-path'])
localpath = platformpath + "/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
- self.sysroot = subprocess.check_output(['xcrun', '--sdk', sdk, '--show-sdk-path']).strip()
+ self.sysroot = toolchain.check_output(['xcrun', '--sdk', sdk, '--show-sdk-path'])
- self.ccompiler = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'clang']).strip()
- self.archiver = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'libtool']).strip()
+ self.ccompiler = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'clang'])
+ self.archiver = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'libtool'])
self.linker = deploytarget + " " + self.ccompiler
- self.lipo = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'lipo']).strip()
+ self.lipo = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'lipo'])
self.mflags += list(self.cflags) + ['-fobjc-arc', '-fno-objc-exceptions', '-x', 'objective-c']
self.cflags += ['-x', 'c']
@@ -480,7 +480,7 @@
localframeworks += list(variables['frameworks'])
if len(localframeworks) > 0:
localvariables += [('frameworks', self.make_frameworks(list(localframeworks)))]
-
+
libpaths = []
if 'libpaths' in variables:
libpaths = variables['libpaths']
diff --git a/build/ninja/toolchain.py b/build/ninja/toolchain.py
index 727c858..dd5f4ac 100644
--- a/build/ninja/toolchain.py
+++ b/build/ninja/toolchain.py
@@ -14,6 +14,11 @@
import android
import xcode
+
+def check_output(args):
+ import subprocess
+ return subprocess.check_output(args).decode().strip()
+
def supported_toolchains():
return ['msvc', 'gcc', 'clang', 'intel']
diff --git a/build/ninja/xcode.py b/build/ninja/xcode.py
index 8e158d9..3af3761 100644
--- a/build/ninja/xcode.py
+++ b/build/ninja/xcode.py
@@ -34,13 +34,13 @@
sdk = 'iphoneos'
deploytarget = 'IPHONEOS_DEPLOYMENT_TARGET=' + self.deploymenttarget
- platformpath = subprocess.check_output(['xcrun', '--sdk', sdk, '--show-sdk-platform-path']).strip()
+ platformpath = toolchain.check_output(['xcrun', '--sdk', sdk, '--show-sdk-platform-path'])
localpath = platformpath + "/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
- self.plist = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'plutil']).strip()
- self.xcassets = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'actool']).strip()
- self.xib = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'ibtool']).strip()
- self.dsymutil = "PATH=" + localpath + " " + subprocess.check_output(['xcrun', '--sdk', sdk, '-f', 'dsymutil']).strip()
+ self.plist = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'plutil'])
+ self.xcassets = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'actool'])
+ self.xib = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'ibtool'])
+ self.dsymutil = "PATH=" + localpath + " " + toolchain.check_output(['xcrun', '--sdk', sdk, '-f', 'dsymutil'])
self.plistcmd = 'build/ninja/plist.py --exename $exename --prodname $prodname --bundle $bundleidentifier --target $target --deploymenttarget $deploymenttarget --output $outpath $in'
if self.target.is_macos():