annotate libcxx/utils/run.py @ 167:e037d1dd7369

...
author anatofuz
date Tue, 24 Mar 2020 17:35:46 +0900
parents 1d019706d866
children 0572611fdcc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 #===----------------------------------------------------------------------===##
anatofuz
parents:
diff changeset
2 #
anatofuz
parents:
diff changeset
3 # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
anatofuz
parents:
diff changeset
4 # See https://llvm.org/LICENSE.txt for license information.
anatofuz
parents:
diff changeset
5 # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
anatofuz
parents:
diff changeset
6 #
anatofuz
parents:
diff changeset
7 #===----------------------------------------------------------------------===##
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 """run.py is a utility for running a program.
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 It can perform code signing, forward arguments to the program, and return the
anatofuz
parents:
diff changeset
12 program's error code.
anatofuz
parents:
diff changeset
13 """
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 import subprocess
anatofuz
parents:
diff changeset
16 import sys
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 def main():
anatofuz
parents:
diff changeset
20 codesign_ident = sys.argv[1]
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 # Ignore 'run.py' and the codesigning identity.
anatofuz
parents:
diff changeset
23 argv = sys.argv[2:]
anatofuz
parents:
diff changeset
24
anatofuz
parents:
diff changeset
25 exec_path = argv[0]
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 # Do any necessary codesigning.
anatofuz
parents:
diff changeset
28 if codesign_ident:
anatofuz
parents:
diff changeset
29 sign_cmd = ['xcrun', 'codesign', '-f', '-s', codesign_ident, exec_path]
anatofuz
parents:
diff changeset
30 cs_rc = subprocess.call(sign_cmd, env={})
anatofuz
parents:
diff changeset
31 if cs_rc != 0:
anatofuz
parents:
diff changeset
32 sys.stderr.write('Failed to codesign: ' + exec_path)
anatofuz
parents:
diff changeset
33 return cs_rc
anatofuz
parents:
diff changeset
34
anatofuz
parents:
diff changeset
35 return subprocess.call(argv)
anatofuz
parents:
diff changeset
36
anatofuz
parents:
diff changeset
37 if __name__ == '__main__':
anatofuz
parents:
diff changeset
38 exit(main())