[libc++] Improve Python 3 compatibility for merge_archives.py
Popen.communicate() method in Python 2 returns a pair of strings, and in
Python 3 it returns a pair of byte-like objects unless universal_newlines
is set to True. This led to an error when using Python 3. With this patch,
merge_archives.py works fine with Python 3.
Thanks to Sergej Jaskiewicz for the patch.
Differential Revision: https://reviews.llvm.org/D66649
llvm-svn: 369764
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 344eee9227daa69b3ad919790da5a0edcf02c9cb
diff --git a/utils/merge_archives.py b/utils/merge_archives.py
index 5c04bc9..4c31854 100755
--- a/utils/merge_archives.py
+++ b/utils/merge_archives.py
@@ -50,7 +50,8 @@
'stdin': subprocess.PIPE,
'stdout': subprocess.PIPE,
'stderr': subprocess.PIPE,
- 'cwd': cwd
+ 'cwd': cwd,
+ 'universal_newlines': True
}
p = subprocess.Popen(cmd, **kwargs)
out, err = p.communicate()