1234567891011121314151617181920212223242526272829303132333435363738 |
- #===----------------------------------------------------------------------===##
- #
- # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- # See https://llvm.org/LICENSE.txt for license information.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- #
- #===----------------------------------------------------------------------===##
- """run.py is a utility for running a program.
- It can perform code signing, forward arguments to the program, and return the
- program's error code.
- """
- import subprocess
- import sys
- def main():
- codesign_ident = sys.argv[1]
- # Ignore 'run.py' and the codesigning identity.
- argv = sys.argv[2:]
- exec_path = argv[0]
- # Do any necessary codesigning.
- if codesign_ident:
- sign_cmd = ['xcrun', 'codesign', '-f', '-s', codesign_ident, exec_path]
- cs_rc = subprocess.call(sign_cmd, env={})
- if cs_rc != 0:
- sys.stderr.write('Failed to codesign: ' + exec_path)
- return cs_rc
- return subprocess.call(argv)
- if __name__ == '__main__':
- exit(main())
|