2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
14 sys
.path
.append(os
.path
.join(build_sdk
.SDK_SRC_DIR
, 'tools'))
19 parser
= optparse
.OptionParser()
20 parser
.add_option('--copy',
21 help='Only copy the files, don\'t build.',
23 parser
.add_option('--clobber-examples',
24 help='Don\'t examples directory before copying new files',
26 parser
.add_option('--test-examples',
27 help='Run the pyauto tests for examples.', action
='store_true')
28 parser
.add_option('--experimental',
29 help='build experimental examples and libraries', action
='store_true')
30 parser
.add_option('-t', '--toolchain',
31 help='Build using toolchain. Can be passed more than once.',
33 parser
.add_option('--gyp',
34 help='Use gyp to build examples/libraries/Makefiles.',
37 options
, args
= parser
.parse_args(args
[1:])
39 valid_toolchains
= ['newlib', 'glibc', 'pnacl', 'host']
40 if not options
.toolchain
:
41 toolchains
= valid_toolchains
43 invalid_toolchains
= set(options
.toolchain
) - set(valid_toolchains
)
44 if invalid_toolchains
:
45 print 'Ignoring invalid toolchains: %s' % (', '.join(invalid_toolchains
),)
46 toolchains
= list(set(options
.toolchain
) - invalid_toolchains
)
48 pepper_ver
= str(int(build_utils
.ChromeMajorVersion()))
49 pepperdir
= os
.path
.join(build_sdk
.OUT_DIR
, 'pepper_' + pepper_ver
)
50 platform
= getos
.GetPlatform()
52 build_sdk
.options
= options
54 build_sdk
.BuildStepCopyBuildHelpers(pepperdir
, platform
)
55 build_sdk
.BuildStepCopyExamples(pepperdir
, toolchains
, options
.experimental
,
56 options
.clobber_examples
)
57 test_sdk
.BuildStepCopyTests(pepperdir
, toolchains
, options
.experimental
,
58 options
.clobber_examples
)
62 # False = don't clean after building the libraries directory.
63 build_sdk
.BuildStepBuildLibraries(pepperdir
, platform
, 'src', False)
64 test_sdk
.BuildStepBuildExamples(pepperdir
, platform
)
65 test_sdk
.BuildStepBuildTests(pepperdir
, platform
)
66 if options
.test_examples
:
67 test_sdk
.BuildStepRunPyautoTests(pepperdir
, platform
, pepper_ver
)
72 if __name__
== '__main__':
73 sys
.exit(main(sys
.argv
))