blob: 9c9d1b41fe57c9c4147da0c5897f83863f977019 [file] [log] [blame] [edit]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Wrapper of pkg-config like command line to format output for gn.
Parses the output and filter the flags with a certain prefix like "-l", "-L",
so that it can be used in GN files easily.
Usage:
arg_prefix_filter_wrapper.py --prefix=-l gtest-config --libs
"""
from __future__ import print_function
import argparse
import shlex
import sys
import subprocess
def get_parser():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--prefix', type=str, default='-l')
return parser
def main(argv):
parser = get_parser()
opts, cmd_list = parser.parse_known_args(argv)
prefix_len = len(opts.prefix)
flags = shlex.split(subprocess.check_output(cmd_list, encoding='utf-8'))
filtered = [x[prefix_len:] for x in flags if x.startswith(opts.prefix)]
print('\n'.join(filtered))
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))