summaryrefslogtreecommitdiffstats
path: root/tools/generate_stubs/generate_stubs.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/generate_stubs/generate_stubs.py')
-rwxr-xr-xtools/generate_stubs/generate_stubs.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/tools/generate_stubs/generate_stubs.py b/tools/generate_stubs/generate_stubs.py
index 61d606b..424d24f 100755
--- a/tools/generate_stubs/generate_stubs.py
+++ b/tools/generate_stubs/generate_stubs.py
@@ -36,6 +36,7 @@ import os
import re
import string
import subprocess
+import sys
class Error(Exception):
@@ -439,6 +440,17 @@ def WriteWindowsDefFile(module_name, signatures, outfile):
outfile.write(' %s\n' % sig['name'])
+def QuietRun(args, filter=None, write_to=sys.stdout):
+ """Invoke |args| as command via subprocess.Popen, filtering lines starting
+ with |filter|."""
+ popen = subprocess.Popen(args, stdout=subprocess.PIPE)
+ out, _ = popen.communicate()
+ for line in out.splitlines():
+ if not filter or not line.startswith(filter):
+ write_to.write(line + '\n')
+ return popen.returncode
+
+
def CreateWindowsLib(module_name, signatures, intermediate_dir, outdir_path):
"""Creates a windows library file.
@@ -470,9 +482,10 @@ def CreateWindowsLib(module_name, signatures, intermediate_dir, outdir_path):
# Invoke the "lib" program on Windows to create stub .lib files for the
# generated definitions. These .lib files can then be used during
# delayloading of the dynamic libraries.
- ret = subprocess.call(['lib', '/nologo', '/machine:X86',
- '/def:' + def_file_path,
- '/out:' + lib_file_path])
+ ret = QuietRun(['lib', '/nologo', '/machine:X86',
+ '/def:' + def_file_path,
+ '/out:' + lib_file_path],
+ filter=' Creating library')
if ret != 0:
raise SubprocessError(
'Failed creating %s for %s' % (lib_file_path, def_file_path),