X-Git-Url: https://git.distorted.org.uk/~mdw/cfd/blobdiff_plain/207202a314beb383030b3feb979afec12a27d5ce..ab5cf08d58804d59e0b8f785881d770acfedbf4e:/mdwsetup.py diff --git a/mdwsetup.py b/mdwsetup.py index a1f56b6..06990a8 100644 --- a/mdwsetup.py +++ b/mdwsetup.py @@ -97,22 +97,24 @@ def pkg_config(pkg, version): library-directory names are in LIBDIRS; and the library names themselves are in LIBS. """ - spec = '%s >= %s' % (pkg, version) + def weird(what, word): raise ValueError \ ("Unexpected `%s' item `%s' from package `%s'" % (what, word, pkg)) - for word in progoutput(['pkg-config', '--cflags', spec]).split(): - if word.startswith('-I'): - INCLUDEDIRS.append(word[2:]) - else: - weird('--cflags', word) - for word in progoutput(['pkg-config', '--libs', spec]).split(): - if word.startswith('-L'): - LIBDIRS.append(word[2:]) - elif word.startswith('-l'): - LIBS.append(word[2:]) - else: - weird('--libs', word) + + spec = '%s >= %s' % (pkg, version) + + 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) + 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) ###-------------------------------------------------------------------------- ### Substituting variables in files.