gn: Fix issue with finding llvm when using python3
With python3, subprocess output is a byte sequence. This needs to be
decoded to string so that the string functions work. Fix it so we can
find LLVM when building perfetto.
Also fix 'print' operator which is a function in python3.
Bug: 147789115
Signed-off-by: Joel Fernandes <joelaf@google.com>
Change-Id: I4ab9b3c248d471e7ab5a27559152a1954ca43108
diff --git a/gn/standalone/toolchain/linux_find_llvm.py b/gn/standalone/toolchain/linux_find_llvm.py
index 858185c..3a957fe 100644
--- a/gn/standalone/toolchain/linux_find_llvm.py
+++ b/gn/standalone/toolchain/linux_find_llvm.py
@@ -22,7 +22,7 @@
for clang in ('clang', 'clang-3.8', 'clang-3.5'):
if subprocess.call(['which', clang], stdout=devnull, stderr=devnull) != 0:
continue
- res = subprocess.check_output([clang, '-print-search-dirs'])
+ res = subprocess.check_output([clang, '-print-search-dirs']).decode("utf-8")
for line in res.splitlines():
if not line.startswith('libraries:'):
continue
@@ -30,11 +30,11 @@
for lib in libs:
if '/clang/' not in lib or not os.path.isdir(lib + '/lib'):
continue
- print os.path.abspath(lib)
- print clang
- print clang.replace('clang', 'clang++')
+ print(os.path.abspath(lib))
+ print(clang)
+ print(clang.replace('clang', 'clang++'))
return 0
- print 'Could not find the LLVM lib dir'
+ print('Could not find the LLVM lib dir')
return 1