~mdw
/
cfd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mdwsetup.py (progoutput): Explicitly close the `stdout' pipe.
[cfd]
/
mdwsetup.py
diff --git
a/mdwsetup.py
b/mdwsetup.py
index
322e194
..
57832a2
100644
(file)
--- a/
mdwsetup.py
+++ b/
mdwsetup.py
@@
-74,8
+74,11
@@
def progoutput(command):
status zero.
"""
kid = SUB.Popen(command, stdout = SUB.PIPE)
status zero.
"""
kid = SUB.Popen(command, stdout = SUB.PIPE)
- out = kid.stdout.readline()
- junk = kid.stdout.read()
+ try:
+ out = kid.stdout.readline()
+ junk = kid.stdout.read()
+ finally:
+ kid.stdout.close()
if junk != '': raise ValueError \
("Child process `%s' produced unspected output %r" % (command, junk))
rc = kid.wait()
if junk != '': raise ValueError \
("Child process `%s' produced unspected output %r" % (command, junk))
rc = kid.wait()
@@
-104,11
+107,14
@@
def pkg_config(pkg, version):
spec = '%s >= %s' % (pkg, version)
spec = '%s >= %s' % (pkg, version)
- for word in progoutput(['pkg-config', '--cflags', spec]).split():
+ try: cflags = OS.environ["%s_CFLAGS" % pkg]
+ except KeyError: cflags = progoutput(['pkg-config', '--cflags', spec])
+ for word in cflags.split():
if word.startswith('-I'): INCLUDEDIRS.append(word[2:])
else: weird('CFLAGS', word)
if word.startswith('-I'): INCLUDEDIRS.append(word[2:])
else: weird('CFLAGS', word)
-
- for word in progoutput(['pkg-config', '--libs', spec]).split():
+ try: libs = OS.environ["%s_LIBS" % pkg]
+ except KeyError: libs = progoutput(['pkg-config', '--libs', spec])
+ for word in libs.split():
if word.startswith('-L'): LIBDIRS.append(word[2:])
elif word.startswith('-l'): LIBS.append(word[2:])
else: weird('LIBS', word)
if word.startswith('-L'): LIBDIRS.append(word[2:])
elif word.startswith('-l'): LIBS.append(word[2:])
else: weird('LIBS', word)