OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """This script is a wrapper around the GN binary that is pulled from Google | 6 """This script is a wrapper around the GN binary that is pulled from Google |
7 Cloud Storage when you sync Chrome. The binaries go into platform-specific | 7 Cloud Storage when you sync Chrome. The binaries go into platform-specific |
8 subdirectories in the source tree. | 8 subdirectories in the source tree. |
9 | 9 |
10 This script makes there be one place for forwarding to the correct platform's | 10 This script makes there be one place for forwarding to the correct platform's |
11 binary. It will also automatically try to find the gn binary when run inside | 11 binary. It will also automatically try to find the gn binary when run inside |
12 the chrome source tree, so users can just type "gn" on the command line | 12 the chrome source tree, so users can just type "gn" on the command line |
13 (normally depot_tools is on the path).""" | 13 (normally depot_tools is on the path).""" |
14 | 14 |
15 import gclient_utils | 15 import gclient_utils |
16 import os | 16 import os |
17 import subprocess | 17 import subprocess |
18 import sys | 18 import sys |
19 | 19 |
20 | 20 |
21 def main(args): | 21 def main(args): |
22 bin_path = gclient_utils.GetBuildtoolsPlatformBinaryPath() | 22 bin_path = gclient_utils.GetBuildtoolsPlatformBinaryPath() |
23 if not bin_path: | 23 if not bin_path: |
24 print >> sys.stderr, ('gn.py: Could not find checkout in any parent of ' | 24 print >> sys.stderr, ('gn.py: Could not find checkout in any parent of ' |
25 'the current path.\nThis must be run inside a ' | 25 'the current path.\nThis must be run inside a ' |
26 'checkout.') | 26 'checkout to have access to buildtools.') |
27 return 1 | 27 return 1 |
28 gn_path = os.path.join(bin_path, 'gn' + gclient_utils.GetExeSuffix()) | 28 gn_path = os.path.join(bin_path, 'gn' + gclient_utils.GetExeSuffix()) |
29 if not os.path.exists(gn_path): | 29 if not os.path.exists(gn_path): |
30 print >> sys.stderr, 'gn.py: Could not find gn executable at: %s' % gn_path | 30 print >> sys.stderr, 'gn.py: Could not find gn executable at: %s' % gn_path |
31 return 2 | 31 return 2 |
32 else: | 32 else: |
33 return subprocess.call([gn_path] + args[1:]) | 33 return subprocess.call([gn_path] + args[1:]) |
34 | 34 |
35 | 35 |
36 if __name__ == '__main__': | 36 if __name__ == '__main__': |
37 try: | 37 try: |
38 sys.exit(main(sys.argv)) | 38 sys.exit(main(sys.argv)) |
39 except KeyboardInterrupt: | 39 except KeyboardInterrupt: |
40 sys.stderr.write('interrupted\n') | 40 sys.stderr.write('interrupted\n') |
41 sys.exit(1) | 41 sys.exit(1) |
OLD | NEW |