f.close()
print "=== PASSED %s ===" % (assertions, )
return 0
+
+def process_options(output, allowed_flags):
+ for option in output.split():
+ for flag in allowed_flags:
+ if not option.startswith(flag):
+ continue
+ yield option
+ break
def process_packages(parser, options, packages):
args = ['pkg-config', '--cflags']
sys.exit(1)
# Some pkg-config files on Windows have options we don't understand,
# so we explicitly filter to only the ones we need.
- options_whitelist = ['-I', '-D', '-U', '-l', '-L']
- def filter_option(opt):
- for optstart in options_whitelist:
- if opt.startswith(optstart):
- return True
- return False
- output = output.split()
- filtered_output = filter(filter_option, output)
+ options_whitelist = ['-I', '-D', '-U', '-l', '-L']
+ filtered_output = list(process_options(output, options_whitelist))
pkg_options, unused = parser.parse_args(filtered_output)
options.cpp_includes.extend(pkg_options.cpp_includes)
options.cpp_defines.extend(pkg_options.cpp_defines)
stdout=subprocess.PIPE).communicate()[0]
if output is None:
sys.exit(1)
- output = output.split()
- filtered_output = filter(filter_option, output)
+ filtered_output = list(process_options(output, options_whitelist))
pkg_options, unused = parser.parse_args(filtered_output)
options.library_paths.extend(pkg_options.library_paths)