| OLD | NEW | 
|    1 #!/usr/bin/env python |    1 #!/usr/bin/env python | 
|    2 # Copyright 2014 The Chromium Authors. All rights reserved. |    2 # Copyright 2014 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 a simple script to make building/testing Mojo components easier. |    6 # This a simple script to make building/testing Mojo components easier. | 
|    7  |    7  | 
|    8 import argparse |    8 import argparse | 
|    9 from copy import deepcopy |    9 from copy import deepcopy | 
|   10 import os |   10 import os | 
|   11 import subprocess |   11 import subprocess | 
|   12 import sys |   12 import sys | 
|   13  |   13  | 
|   14 from get_test_list import GetTestList |   14 from get_test_list import GetTestList | 
|   15 from mopy.config import Config |   15 from mopy.config import Config | 
|   16 from mopy.paths import Paths |   16 from mopy.paths import Paths | 
|   17 from mopy.gn import GNArgsForConfig, ParseGNConfig, CommandLineForGNArgs |   17 from mopy.gn import GNArgsForConfig, ParseGNConfig, CommandLineForGNArgs | 
|   18  |   18  | 
|   19  |   19  | 
|   20 def _args_to_config(args): |   20 def _args_to_config(args): | 
|   21   # Default to host OS. |   21   # Default to host OS. | 
|   22   target_os = None |   22   target_os = None | 
|   23   if args.android: |   23   if args.android: | 
|   24     target_os = Config.OS_ANDROID |   24     target_os = Config.OS_ANDROID | 
|   25   elif args.chromeos: |   25   elif args.chromeos: | 
|   26     target_os = Config.OS_CHROMEOS |   26     target_os = Config.OS_CHROMEOS | 
|   27  |   27  | 
|   28   target_arch = args.target_arch |   28   target_cpu = args.target_cpu | 
|   29  |   29  | 
|   30   additional_args = {} |   30   additional_args = {} | 
|   31  |   31  | 
|   32   if 'clang' in args: |   32   if 'clang' in args: | 
|   33     additional_args['is_clang'] = args.clang |   33     additional_args['is_clang'] = args.clang | 
|   34  |   34  | 
|   35   if 'asan' in args and args.asan: |   35   if 'asan' in args and args.asan: | 
|   36     additional_args['sanitizer'] = Config.SANITIZER_ASAN |   36     additional_args['sanitizer'] = Config.SANITIZER_ASAN | 
|   37  |   37  | 
|   38   # Additional non-standard config entries: |   38   # Additional non-standard config entries: | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
|   57  |   57  | 
|   58   if 'builder_name' in args: |   58   if 'builder_name' in args: | 
|   59     additional_args['builder_name'] = args.builder_name |   59     additional_args['builder_name'] = args.builder_name | 
|   60   if 'build_number' in args: |   60   if 'build_number' in args: | 
|   61     additional_args['build_number'] = args.build_number |   61     additional_args['build_number'] = args.build_number | 
|   62   if 'master_name' in args: |   62   if 'master_name' in args: | 
|   63     additional_args['master_name'] = args.master_name |   63     additional_args['master_name'] = args.master_name | 
|   64   if 'test_results_server' in args: |   64   if 'test_results_server' in args: | 
|   65     additional_args['test_results_server'] = args.test_results_server |   65     additional_args['test_results_server'] = args.test_results_server | 
|   66  |   66  | 
|   67   return Config(target_os=target_os, target_arch=target_arch, |   67   return Config(target_os=target_os, target_cpu=target_cpu, | 
|   68                 is_debug=args.debug, dcheck_always_on=args.dcheck_always_on, |   68                 is_debug=args.debug, dcheck_always_on=args.dcheck_always_on, | 
|   69                 **additional_args) |   69                 **additional_args) | 
|   70  |   70  | 
|   71  |   71  | 
|   72 def _get_out_dir(config): |   72 def _get_out_dir(config): | 
|   73   paths = Paths(config) |   73   paths = Paths(config) | 
|   74   return paths.SrcRelPath(paths.build_dir) |   74   return paths.SrcRelPath(paths.build_dir) | 
|   75  |   75  | 
|   76  |   76  | 
|   77 def sync(config): |   77 def sync(config): | 
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  184                            default=True, action='store_true') |  184                            default=True, action='store_true') | 
|  185   debug_group.add_argument('--release', help='Release build', default=False, |  185   debug_group.add_argument('--release', help='Release build', default=False, | 
|  186                            dest='debug', action='store_false') |  186                            dest='debug', action='store_false') | 
|  187  |  187  | 
|  188   os_group = parent_parser.add_mutually_exclusive_group() |  188   os_group = parent_parser.add_mutually_exclusive_group() | 
|  189   os_group.add_argument('--android', help='Build for Android', |  189   os_group.add_argument('--android', help='Build for Android', | 
|  190                         action='store_true') |  190                         action='store_true') | 
|  191   os_group.add_argument('--chromeos', help='Build for ChromeOS', |  191   os_group.add_argument('--chromeos', help='Build for ChromeOS', | 
|  192                         action='store_true') |  192                         action='store_true') | 
|  193  |  193  | 
|  194   parent_parser.add_argument('--target-arch', |  194   parent_parser.add_argument('--target-cpu', | 
|  195                              help='CPU architecture to build for.', |  195                              help='CPU architecture to build for.', | 
|  196                              choices=['x64', 'x86', 'arm']) |  196                              choices=['x64', 'x86', 'arm']) | 
|  197  |  197  | 
|  198   parent_parser.add_argument('--nacl', help='Add in NaCl', default=False, |  198   parent_parser.add_argument('--nacl', help='Add in NaCl', default=False, | 
|  199                              action='store_true') |  199                              action='store_true') | 
|  200  |  200  | 
|  201   subparsers = parser.add_subparsers() |  201   subparsers = parser.add_subparsers() | 
|  202  |  202  | 
|  203   sync_parser = subparsers.add_parser('sync', parents=[parent_parser], |  203   sync_parser = subparsers.add_parser('sync', parents=[parent_parser], | 
|  204       help='Sync using gclient (does not run gn).') |  204       help='Sync using gclient (does not run gn).') | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  244       help='Run NaCl unit tests (does not build).') |  244       help='Run NaCl unit tests (does not build).') | 
|  245   nacltest_parser.set_defaults(func=nacltest) |  245   nacltest_parser.set_defaults(func=nacltest) | 
|  246  |  246  | 
|  247   args = parser.parse_args() |  247   args = parser.parse_args() | 
|  248   config = _args_to_config(args) |  248   config = _args_to_config(args) | 
|  249   return args.func(config) |  249   return args.func(config) | 
|  250  |  250  | 
|  251  |  251  | 
|  252 if __name__ == '__main__': |  252 if __name__ == '__main__': | 
|  253   sys.exit(main()) |  253   sys.exit(main()) | 
| OLD | NEW |