| Index: build/android/gyp/create_stack_script.py
|
| diff --git a/build/android/gyp/create_stack_script.py b/build/android/gyp/create_stack_script.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..5655695872933b7a88bceb9f383af48d55b94b54
|
| --- /dev/null
|
| +++ b/build/android/gyp/create_stack_script.py
|
| @@ -0,0 +1,84 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2017 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +
|
| +import argparse
|
| +import os
|
| +import sys
|
| +import textwrap
|
| +
|
| +from util import build_utils
|
| +
|
| +SCRIPT_TEMPLATE = textwrap.dedent(
|
| + """\
|
| + #!/usr/bin/env python
|
| + #
|
| + # This file was generated by build/android/gyp/create_stack_script.py
|
| +
|
| + import os
|
| + import sys
|
| +
|
| + def main(argv):
|
| + script_directory = os.path.dirname(__file__)
|
| + resolve = lambda p: os.path.abspath(os.path.join(script_directory, p))
|
| + script_path = resolve('{script_path}')
|
| + script_args = {script_args}
|
| + script_path_args = {script_path_args}
|
| + for arg, path in script_path_args:
|
| + script_args.extend([arg, resolve(path)])
|
| + script_cmd = [script_path] + script_args + argv
|
| + print ' '.join(script_cmd)
|
| + os.execv(script_path, script_cmd)
|
| +
|
| + if __name__ == '__main__':
|
| + sys.exit(main(sys.argv[1:]))
|
| + """)
|
| +
|
| +
|
| +def main(args):
|
| +
|
| + parser = argparse.ArgumentParser()
|
| + build_utils.AddDepfileOption(parser)
|
| + parser.add_argument(
|
| + '--script-path',
|
| + help='Path to the wrapped script.')
|
| + parser.add_argument(
|
| + '--script-output-path',
|
| + help='Path to the output script.')
|
| + group = parser.add_argument_group('Path arguments')
|
| + group.add_argument('--output-directory')
|
| + group.add_argument('--packed-libs')
|
| +
|
| + args, script_args = parser.parse_known_args(build_utils.ExpandFileArgs(args))
|
| +
|
| + def relativize(p):
|
| + return os.path.relpath(p, os.path.dirname(args.script_output_path))
|
| +
|
| + script_path = relativize(args.script_path)
|
| +
|
| + script_path_args = []
|
| + if args.output_directory:
|
| + script_path_args.append(
|
| + ('--output-directory', relativize(args.output_directory)))
|
| + if args.packed_libs:
|
| + for p in build_utils.ParseGnList(args.packed_libs):
|
| + script_path_args.append(('--packed-lib', relativize(p)))
|
| +
|
| + with open(args.script_output_path, 'w') as script:
|
| + script.write(SCRIPT_TEMPLATE.format(
|
| + script_path=script_path,
|
| + script_args=script_args,
|
| + script_path_args=script_path_args))
|
| +
|
| + os.chmod(args.script_output_path, 0750)
|
| +
|
| + if args.depfile:
|
| + build_utils.WriteDepfile(args.depfile, args.script_output_path)
|
| +
|
| + return 0
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main(sys.argv[1:]))
|
|
|