mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
85 lines
2.3 KiB
Python
85 lines
2.3 KiB
Python
|
#!/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:]))
|