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.') |
27 sys.exit(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 return subprocess.call([gn_path] + sys.argv[1:]) | 29 if not os.path.exists(gn_path): |
| 30 print >> sys.stderr, 'gn.py: Could not find gn executable at: %s' % gn_path |
| 31 return 2 |
| 32 else: |
| 33 return subprocess.call([gn_path] + sys.argv[1:]) |
30 | 34 |
31 | 35 |
32 if __name__ == '__main__': | 36 if __name__ == '__main__': |
33 sys.exit(main(sys.argv)) | 37 sys.exit(main(sys.argv)) |
OLD | NEW |