Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: native_client_sdk/src/build_tools/build_sdk.py

Issue 10824092: [NaCl SDK] Build gtest on buildbots, but don't include it in the SDK. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: changes so i can land Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | native_client_sdk/src/build_tools/generate_make.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 """Entry point for both build and try bots 6 """Entry point for both build and try bots
7 7
8 This script is invoked from XXX, usually without arguments 8 This script is invoked from XXX, usually without arguments
9 to package an SDK. It automatically determines whether 9 to package an SDK. It automatically determines whether
10 this SDK is for mac, win, linux. 10 this SDK is for mac, win, linux.
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 stdout, _ = process.communicate() 525 stdout, _ = process.communicate()
526 526
527 # Parse environment from "set" command above. 527 # Parse environment from "set" command above.
528 # It looks like this: 528 # It looks like this:
529 # KEY1=VALUE1\r\n 529 # KEY1=VALUE1\r\n
530 # KEY2=VALUE2\r\n 530 # KEY2=VALUE2\r\n
531 # ... 531 # ...
532 return dict(line.split('=') for line in stdout.split('\r\n')[:-1]) 532 return dict(line.split('=') for line in stdout.split('\r\n')[:-1])
533 533
534 534
535 def BuildStepBuildLibraries(pepperdir, platform): 535 def BuildStepBuildLibraries(pepperdir, platform, directory):
536 buildbot_common.BuildStep('Build Libraries') 536 buildbot_common.BuildStep('Build Libraries')
537 src_dir = os.path.join(pepperdir, 'src') 537 src_dir = os.path.join(pepperdir, directory)
538 makefile = os.path.join(src_dir, 'Makefile') 538 makefile = os.path.join(src_dir, 'Makefile')
539 if os.path.isfile(makefile): 539 if os.path.isfile(makefile):
540 print "\n\nMake: " + src_dir 540 print "\n\nMake: " + src_dir
541 if platform == 'win': 541 if platform == 'win':
542 # We need to modify the environment to build host on Windows. 542 # We need to modify the environment to build host on Windows.
543 env = GetWindowsEnvironment() 543 env = GetWindowsEnvironment()
544 else: 544 else:
545 env = os.environ 545 env = os.environ
546 546
547 buildbot_common.Run(['make', '-j8'], 547 buildbot_common.Run(['make', '-j8'],
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 print "\n\nMake: " + example_dir 623 print "\n\nMake: " + example_dir
624 if platform == 'win': 624 if platform == 'win':
625 # We need to modify the environment to build host on Windows. 625 # We need to modify the environment to build host on Windows.
626 env = GetWindowsEnvironment() 626 env = GetWindowsEnvironment()
627 else: 627 else:
628 env = os.environ 628 env = os.environ
629 629
630 buildbot_common.Run(['make', '-j8'], 630 buildbot_common.Run(['make', '-j8'],
631 cwd=os.path.abspath(example_dir), shell=True, env=env) 631 cwd=os.path.abspath(example_dir), shell=True, env=env)
632 632
633 TEST_EXAMPLE_LIST = [
634 ]
635
636 TEST_LIBRARY_LIST = [
637 'gtest',
638 ]
639
640 def BuildStepCopyTests(pepperdir, toolchains, build_experimental):
641 buildbot_common.BuildStep('Copy Tests')
642
643 testingdir = os.path.join(pepperdir, 'testing')
644 buildbot_common.RemoveDir(testingdir)
645 buildbot_common.MakeDir(testingdir)
646
647 args = ['--dstroot=%s' % pepperdir, '--master']
648 for toolchain in toolchains:
649 args.append('--' + toolchain)
650
651 for example in TEST_EXAMPLE_LIST:
652 dsc = os.path.join(SDK_EXAMPLE_DIR, example, 'example.dsc')
653 args.append(dsc)
654
655 for library in TEST_LIBRARY_LIST:
656 dsc = os.path.join(SDK_LIBRARY_DIR, library, 'library.dsc')
657 args.append(dsc)
658
659 if build_experimental:
660 args.append('--experimental')
661
662 if generate_make.main(args):
663 buildbot_common.ErrorExit('Failed to build tests.')
664
633 665
634 def BuildStepTestExamples(pepperdir, platform, pepper_ver): 666 def BuildStepTestExamples(pepperdir, platform, pepper_ver):
635 buildbot_common.BuildStep('Test Examples') 667 buildbot_common.BuildStep('Test Examples')
636 env = copy.copy(os.environ) 668 env = copy.copy(os.environ)
637 env['PEPPER_VER'] = pepper_ver 669 env['PEPPER_VER'] = pepper_ver
638 env['NACL_SDK_ROOT'] = pepperdir 670 env['NACL_SDK_ROOT'] = pepperdir
639 671
640 pyauto_script = os.path.join(SRC_DIR, 'chrome', 'test', 'functional', 672 pyauto_script = os.path.join(SRC_DIR, 'chrome', 'test', 'functional',
641 'nacl_sdk.py') 673 'nacl_sdk.py')
642 pyauto_script_args = ['nacl_sdk.NaClSDKTest.NaClSDKExamples'] 674 pyauto_script_args = ['nacl_sdk.NaClSDKTest.NaClSDKExamples']
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 if 'pnacl' in toolchains: 781 if 'pnacl' in toolchains:
750 tarname = 'p' + tarname 782 tarname = 'p' + tarname
751 tarfile = os.path.join(SERVER_DIR, tarname) 783 tarfile = os.path.join(SERVER_DIR, tarname)
752 784
753 if options.release: 785 if options.release:
754 pepper_ver = options.release 786 pepper_ver = options.release
755 print 'Building PEPPER %s at %s' % (pepper_ver, clnumber) 787 print 'Building PEPPER %s at %s' % (pepper_ver, clnumber)
756 788
757 if options.only_examples: 789 if options.only_examples:
758 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental) 790 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental)
759 BuildStepBuildLibraries(pepperdir, platform) 791 BuildStepBuildLibraries(pepperdir, platform, 'src')
760 BuildStepBuildExamples(pepperdir, platform) 792 BuildStepBuildExamples(pepperdir, platform)
793 BuildStepCopyTests(pepperdir, toolchains, options.build_experimental)
794 BuildStepBuildLibraries(pepperdir, platform, 'testing')
761 if options.test_examples: 795 if options.test_examples:
762 BuildStepTestExamples(pepperdir, platform, pepper_ver) 796 BuildStepTestExamples(pepperdir, platform, pepper_ver)
763 elif options.only_updater: 797 elif options.only_updater:
764 build_updater.BuildUpdater(OUT_DIR) 798 build_updater.BuildUpdater(OUT_DIR)
765 else: # Build everything. 799 else: # Build everything.
766 BuildStepBuildToolsTests() 800 BuildStepBuildToolsTests()
767 801
768 BuildStepDownloadToolchains(platform) 802 BuildStepDownloadToolchains(platform)
769 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) 803 BuildStepCleanPepperDirs(pepperdir, pepperdir_old)
770 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) 804 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools'])
771 BuildStepCopyTextFiles(pepperdir, pepper_ver, clnumber) 805 BuildStepCopyTextFiles(pepperdir, pepper_ver, clnumber)
772 BuildStepUntarToolchains(pepperdir, platform, arch, toolchains) 806 BuildStepUntarToolchains(pepperdir, platform, arch, toolchains)
773 BuildStepBuildToolchains(pepperdir, platform, arch, pepper_ver, toolchains) 807 BuildStepBuildToolchains(pepperdir, platform, arch, pepper_ver, toolchains)
774 InstallHeaders(os.path.join(pepperdir, 'include'), None, 'libs') 808 InstallHeaders(os.path.join(pepperdir, 'include'), None, 'libs')
775 BuildStepCopyBuildHelpers(pepperdir, platform) 809 BuildStepCopyBuildHelpers(pepperdir, platform)
776 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental) 810 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental)
777 811
778 # Ship with libraries prebuilt, so run that first. 812 # Ship with libraries prebuilt, so run that first.
779 BuildStepBuildLibraries(pepperdir, platform) 813 BuildStepBuildLibraries(pepperdir, platform, 'src')
780 814
781 if not options.skip_tar: 815 if not options.skip_tar:
782 BuildStepTarBundle(pepper_ver, tarfile) 816 BuildStepTarBundle(pepper_ver, tarfile)
783 build_updater.BuildUpdater(OUT_DIR) 817 build_updater.BuildUpdater(OUT_DIR)
784 818
785 # BuildStepTestUpdater downloads the bundle to its own directory. Build 819 # BuildStepTestUpdater downloads the bundle to its own directory. Build
786 # the examples and test from this directory instead of the original. 820 # the examples and test from this directory instead of the original.
787 pepperdir = BuildStepTestUpdater(platform, pepper_ver, clnumber, tarfile) 821 pepperdir = BuildStepTestUpdater(platform, pepper_ver, clnumber, tarfile)
788 BuildStepBuildExamples(pepperdir, platform) 822 BuildStepBuildExamples(pepperdir, platform)
823 BuildStepCopyTests(pepperdir, toolchains, options.build_experimental)
824 BuildStepBuildLibraries(pepperdir, platform, 'testing')
789 if options.test_examples: 825 if options.test_examples:
790 BuildStepTestExamples(pepperdir, platform, pepper_ver) 826 BuildStepTestExamples(pepperdir, platform, pepper_ver)
791 827
792 # Archive on non-trybots. 828 # Archive on non-trybots.
793 if options.archive or buildbot_common.IsSDKBuilder(): 829 if options.archive or buildbot_common.IsSDKBuilder():
794 BuildStepArchiveBundle(pepper_ver, clnumber, tarfile) 830 BuildStepArchiveBundle(pepper_ver, clnumber, tarfile)
795 BuildStepArchiveSDKTools() 831 BuildStepArchiveSDKTools()
796 832
797 return 0 833 return 0
798 834
799 835
800 if __name__ == '__main__': 836 if __name__ == '__main__':
801 sys.exit(main(sys.argv)) 837 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/src/build_tools/generate_make.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698