dart-sdk/tools/dartium/build.py

56 lines
1.5 KiB
Python
Executable file

#!/usr/bin/env python
#
# Copyright 2010 Google Inc. All Rights Reserved.
# This file is used by the buildbot.
import optparse
import os.path
import utils
ALL_TARGETS = [
'content_shell',
'chrome',
'blink_tests',
]
def main():
parser = optparse.OptionParser()
parser.add_option('--target', dest='target',
default='all',
action='store', type='string',
help='Target (%s)' % ', '.join(ALL_TARGETS))
parser.add_option('--mode', dest='mode',
action='store', type='string',
help='Build mode (Debug or Release)')
parser.add_option('--clobber', dest='clobber',
action='store_true',
help='Clobber the output directory')
parser.add_option('-j', '--jobs', dest='jobs',
action='store',
help='Number of jobs')
(options, args) = parser.parse_args()
mode = options.mode
if options.jobs:
jobs = options.jobs
else:
jobs = utils.guessCpus()
if not (mode in ['Debug', 'Release']):
raise Exception('Invalid build mode')
if options.target == 'all':
targets = ALL_TARGETS
else:
targets = [options.target]
if options.clobber:
utils.runCommand(['rm', '-rf', 'out'])
utils.runCommand(['ninja',
'-j%s' % jobs,
'-C',
os.path.join('out', mode)]
+ targets)
if __name__ == '__main__':
main()