| Index: build/gn_run_binary.py | 
| diff --git a/build/gn_run_binary.py b/build/gn_run_binary.py | 
| old mode 100644 | 
| new mode 100755 | 
| index 4767bc6ee0c1e66651a9fb81e2b5bb562a4d4bb0..5d3ba453558c3d858f9b4a271f6616133ff09188 | 
| --- a/build/gn_run_binary.py | 
| +++ b/build/gn_run_binary.py | 
| @@ -1,3 +1,4 @@ | 
| +#!/usr/bin/env python | 
| # Copyright 2014 The Chromium Authors. All rights reserved. | 
| # Use of this source code is governed by a BSD-style license that can be | 
| # found in the LICENSE file. | 
| @@ -21,15 +22,26 @@ def run_command(command): | 
| return ("Command failed: " + ' '.join(command) + "\n" + | 
| "output: " + e.output) | 
|  | 
| -# Unless the path is absolute, this script is designed to run binaries produced | 
| -# by the current build. We always prefix it with "./" to avoid picking up system | 
| -# versions that might also be on the path. | 
| -if os.path.isabs(sys.argv[1]): | 
| -  path = sys.argv[1] | 
| -else: | 
| -  path = './' + sys.argv[1] | 
| +def main(argv): | 
| +  # Unless the path is absolute, this script is designed to run binaries | 
| +  # produced by the current build. We always prefix it with "./" to avoid | 
| +  # picking up system versions that might also be on the path. | 
| +  if os.path.isabs(argv[1]): | 
| +    path = argv[1] | 
| +  else: | 
| +    path = './' + argv[1] | 
|  | 
| -# The rest of the arguements are passed directly to the executable. | 
| -args = [path] + sys.argv[2:] | 
| +  if not os.path.isfile(path): | 
| +    print "Binary not found: " + path | 
| +    return 0 | 
| + | 
| +  # The rest of the arguements are passed directly to the executable. | 
| +  args = [path] + argv[2:] | 
| + | 
| +  result = run_command(args) | 
| +  if result != 0: | 
| +    print result | 
| +  return 0 | 
|  | 
| -sys.exit(run_command(args)) | 
| +if __name__ == '__main__': | 
| +  sys.exit(main(sys.argv)) | 
|  |