OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. | |
3 # | |
4 # Use of this source code is governed by a BSD-style license | |
5 # that can be found in the LICENSE file in the root of the source | |
6 # tree. An additional intellectual property rights grant can be found | |
7 # in the file PATENTS. All contributing project authors may | |
8 # be found in the AUTHORS file in the root of the source tree. | |
9 | |
10 """Builds the AppRTC collider using the golang toolchain. | |
11 | |
12 The golang toolchain is downloaded by download_apprtc.py. We use that here | |
13 to build the AppRTC collider server. | |
14 | |
15 This script needs to know the path to the 'src' directory in apprtc, the | |
16 root directory of 'go' and the output_dir. | |
17 """ | |
18 | |
19 import os | |
20 import shutil | |
21 import subprocess | |
22 import sys | |
23 | |
24 import utils | |
25 | |
26 | |
27 USAGE_STR = "Usage: {} <apprtc_src_dir> <go_dir> <output_dir>" | |
28 | |
29 | |
30 def main(argv): | |
31 if len(argv) != 4: | |
32 return USAGE_STR.format(argv[0]) | |
33 | |
34 apprtc_dir = os.path.abspath(argv[1]) | |
35 go_root_dir = os.path.abspath(argv[2]) | |
36 golang_workspace = os.path.abspath(argv[3]) | |
37 | |
38 utils.RemoveDirectory(golang_workspace) | |
39 | |
40 golang_workspace_src = os.path.join(golang_workspace, 'src') | |
41 | |
42 collider_dir = os.path.join(apprtc_dir, 'collider') | |
43 shutil.copytree(collider_dir, golang_workspace_src) | |
44 | |
45 golang_binary = 'go%s' % ('.exe' if utils.GetPlatform() == 'win' else '') | |
46 golang_path = os.path.join(go_root_dir, 'bin', golang_binary) | |
47 | |
48 golang_env = os.environ.copy() | |
49 golang_env['GOROOT'] = go_root_dir | |
50 golang_env['GOPATH'] = golang_workspace | |
51 collider_exec = os.path.join(golang_workspace, 'collidermain') | |
52 subprocess.check_call([golang_path, 'build', '-o', collider_exec, | |
53 'collidermain'], env=golang_env) | |
54 | |
55 | |
56 if __name__ == '__main__': | |
57 sys.exit(main(sys.argv)) | |
OLD | NEW |