mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 22:36:09 +03:00
44 lines
1.3 KiB
Python
Executable File
44 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright 2016 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.
|
|
|
|
"""Runs a compilation command.
|
|
|
|
This script exists to avoid using complex shell commands in
|
|
gcc_toolchain.gni's tool("cxx") and tool("cc") in case the host running the
|
|
compiler does not have a POSIX-like shell (e.g. Windows).
|
|
"""
|
|
|
|
import argparse
|
|
import sys
|
|
|
|
import wrapper_utils
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument('--resource-whitelist',
|
|
help='Generate a resource whitelist for this target.',
|
|
metavar='PATH')
|
|
parser.add_argument('command', nargs=argparse.REMAINDER,
|
|
help='Compilation command')
|
|
args = parser.parse_args()
|
|
|
|
returncode, stderr = wrapper_utils.CaptureCommandStderr(
|
|
wrapper_utils.CommandToRun(args.command))
|
|
|
|
used_resources = wrapper_utils.ExtractResourceIdsFromPragmaWarnings(stderr)
|
|
sys.stderr.write(stderr)
|
|
|
|
if args.resource_whitelist:
|
|
with open(args.resource_whitelist, 'w') as f:
|
|
if used_resources:
|
|
f.write('\n'.join(str(resource) for resource in used_resources))
|
|
f.write('\n')
|
|
|
|
return returncode
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|