1#!/usr/bin/env python 2# Copyright 2019 The Chromium Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import os 7import re 8import sys 9 10from util import build_utils 11 12sys.path.append( 13 os.path.abspath( 14 os.path.join(os.path.dirname(__file__), '..', '..', 'util'))) 15 16import generate_wrapper 17 18_WRAPPED_PATH_LIST_RE = re.compile(r'@WrappedPathList\(([^,]+), ([^)]+)\)') 19 20 21def ExpandWrappedPathLists(args): 22 expanded_args = [] 23 for arg in args: 24 m = _WRAPPED_PATH_LIST_RE.match(arg) 25 if m: 26 for p in build_utils.ParseGnList(m.group(2)): 27 expanded_args.extend([m.group(1), '@WrappedPath(%s)' % p]) 28 else: 29 expanded_args.append(arg) 30 return expanded_args 31 32 33def main(raw_args): 34 parser = generate_wrapper.CreateArgumentParser() 35 expanded_raw_args = build_utils.ExpandFileArgs(raw_args) 36 expanded_raw_args = ExpandWrappedPathLists(expanded_raw_args) 37 args = parser.parse_args(expanded_raw_args) 38 return generate_wrapper.Wrap(args) 39 40 41if __name__ == '__main__': 42 sys.exit(main(sys.argv[1:])) 43