X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/6f9cf5797c442bf17bb814743a57a695759842cc..f3c13bfa1db49e33489169ac92153e7a7d1c3110:/mdwsetup.py diff --git a/mdwsetup.py b/mdwsetup.py index 45772fb..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,14 +107,17 @@ 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(): + else: weird('CFLAGS', word) + 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) + else: weird('LIBS', word) ###-------------------------------------------------------------------------- ### Substituting variables in files.