X-Git-Url: https://git.distorted.org.uk/~mdw/cfd/blobdiff_plain/9429175415841de9e19e0caf04ba4bed4c3a4989..f3c13bfa1db49e33489169ac92153e7a7d1c3110:/mdwsetup.py diff --git a/mdwsetup.py b/mdwsetup.py index 322e194..57832a2 100644 --- a/mdwsetup.py +++ b/mdwsetup.py @@ -74,8 +74,11 @@ def progoutput(command): 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() @@ -104,11 +107,14 @@ def pkg_config(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) - - 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)