chiark
/
gitweb
/
~mdw
/
runlisp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mdwsetup.py (progoutput): Only read one byte to decide whether there is more.
[runlisp]
/
mdwsetup.py
diff --git
a/mdwsetup.py
b/mdwsetup.py
index 322e194b6614de559c1d3037c811e419fe292302..0210714cbac542d91b5c525f14f851e23ecbbb89 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(1)
+ 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)