comparison master.cfg @ 44:a472775c2952

mxe: allow different job settings for building octave+deps and pkgs+dist files
author John W. Eaton <jwe@octave.org>
date Fri, 27 Aug 2021 21:35:11 -0400
parents e663de12c34d
children cfe2064ab06a
comparison
equal deleted inserted replaced
43:e663de12c34d 44:a472775c2952
673 nice = nice) 673 nice = nice)
674 return Compile (command = make_cmd, workdir = "src", env = build_env, 674 return Compile (command = make_cmd, workdir = "src", env = build_env,
675 timeout = 14400) 675 timeout = 14400)
676 676
677 677
678 def mk_mxe_octave_compile_step (nice = 0, jobs = 8, opts = []): 678 def mk_mxe_octave_compile_step (nice = 0, jobs = [1, 8], opts = []):
679 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs)], 679 make_cmd = build_cmd_list (["make",
680 "--jobs=" + str (jobs[0]),
681 "JOBS=" + str (jobs[1])],
680 nice = nice, opts = opts) 682 nice = nice, opts = opts)
681 return Compile (command = make_cmd, workdir = "src", env = build_env, 683 return Compile (command = make_cmd, workdir = "src", env = build_env,
682 timeout = 14400) 684 timeout = 14400)
683 685
684 686
685 def mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): 687 def mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
686 factory = BuildFactory () 688 factory = BuildFactory ()
687 689
688 factory.addStep (mk_mxe_octave_hg_update_step (mxe_octave_hg_repo, mxe_branch)) 690 factory.addStep (mk_mxe_octave_hg_update_step (mxe_octave_hg_repo, mxe_branch))
689 factory.addStep (mk_mxe_octave_bootstrap_step (nice = nice)) 691 factory.addStep (mk_mxe_octave_bootstrap_step (nice = nice))
690 ## Must run configure to ensure clean target will work, then must 692 ## Must run configure to ensure clean target will work, then must
693 opts = configure_opts)) 695 opts = configure_opts))
694 factory.addStep (mk_mxe_octave_clean_step (nice = nice)) 696 factory.addStep (mk_mxe_octave_clean_step (nice = nice))
695 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch, 697 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch,
696 opts = configure_opts)) 698 opts = configure_opts))
697 699
698 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs, 700 factory.addStep (mk_mxe_octave_compile_step (nice = nice,
701 jobs = build_octave_jobs,
699 opts = "prerequisites")) 702 opts = "prerequisites"))
700 703
701 if branch != "release": 704 if branch != "release":
702 ## Create a tarball file from an hg checkout, then build from that. 705 ## Create a tarball file from an hg checkout, then build from that.
703 ## This also builds all dependencies for Octave, so it can take a 706 ## This also builds all dependencies for Octave, so it can take a
704 ## while. Using ccache should help us significantly since we are 707 ## while. Using ccache should help us significantly since we are
705 ## typically rebuilding the same sets of packages repeatedly. 708 ## typically rebuilding the same sets of packages repeatedly.
706 709
707 factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice, jobs = jobs, 710 factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice,
711 jobs = build_octave_jobs,
708 branch = branch)) 712 branch = branch))
709 713
710 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs, 714 factory.addStep (mk_mxe_octave_compile_step (nice = nice,
711 opts = compile_opts)) 715 jobs = build_octave_jobs,
716 opts = build_octave_opts))
717
718 factory.addStep (mk_mxe_octave_compile_step (nice = nice,
719 jobs = build_pkg_jobs,
720 opts = build_pkg_opts))
712 721
713 ## factory.addStep (mk_mxe_octave_test_step (nice = nice)) 722 ## factory.addStep (mk_mxe_octave_test_step (nice = nice))
714 723
715 return factory 724 return factory
716 725
717 726
718 def mk_w32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): 727 def mk_w32_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
719 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, 728 return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
729 branch, mxe_branch,
720 configure_opts + 730 configure_opts +
721 ["--enable-qt5", 731 ["--enable-qt5",
722 "--enable-devel-tools", 732 "--enable-devel-tools",
723 "--disable-windows-64", 733 "--disable-windows-64",
724 "--disable-64", 734 "--disable-64",
725 "--disable-fortran-int64", 735 "--disable-fortran-int64",
726 "--disable-system-opengl"], 736 "--disable-system-opengl"],
727 compile_opts) 737 build_octave_opts, build_pkg_opts)
728 738
729 739
730 def mk_w64_32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): 740 def mk_w64_32_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
731 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, 741 return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
742 branch, mxe_branch,
732 configure_opts + 743 configure_opts +
733 ["--enable-qt5", 744 ["--enable-qt5",
734 "--enable-devel-tools", 745 "--enable-devel-tools",
735 "--enable-windows-64", 746 "--enable-windows-64",
736 "--enable-64", 747 "--enable-64",
737 "--disable-fortran-int64", 748 "--disable-fortran-int64",
738 "--disable-system-opengl"], 749 "--disable-system-opengl"],
739 compile_opts) 750 build_octave_opts, build_pkg_opts)
740 751
741 752
742 def mk_w64_64_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): 753 def mk_w64_64_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
743 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, 754 return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
755 branch, mxe_branch,
744 configure_opts + 756 configure_opts +
745 ["--enable-qt5", 757 ["--enable-qt5",
746 "--enable-devel-tools", 758 "--enable-devel-tools",
747 "--enable-windows-64", 759 "--enable-windows-64",
748 "--enable-64", 760 "--enable-64",
749 "--enable-fortran-int64", 761 "--enable-fortran-int64",
750 "--disable-system-opengl"], 762 "--disable-system-opengl"],
751 compile_opts) 763 build_octave_opts, build_pkg_opts)
752 764
753 765
754 def mk_native_factory (nice, jobs, branch, mxe_branch, compile_opts): 766 def mk_native_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, build_octave_opts, build_pkg_opts):
755 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, 767 return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
768 branch, mxe_branch,
756 ["--enable-native-build", 769 ["--enable-native-build",
757 "--enable-qt5", 770 "--enable-qt5",
758 "--enable-lib64-directory", 771 "--enable-lib64-directory",
759 "--enable-pic-flag", 772 "--enable-pic-flag",
760 "--disable-devel-tools", 773 "--disable-devel-tools",
761 "--enable-system-x11-libs", 774 "--enable-system-x11-libs",
762 "--enable-system-fontconfig", 775 "--enable-system-fontconfig",
763 "--enable-system-gcc", 776 "--enable-system-gcc",
764 "gnu-linux"], 777 "gnu-linux"],
765 compile_opts) 778 build_octave_opts, build_pkg_opts)
766 779
767 780
768 def mk_native_all_factory (nice, jobs, branch, mxe_branch, compile_opts): 781 def mk_native_all_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, build_octave_opts, build_pkg_opts):
769 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, 782 return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
783 branch, mxe_branch,
770 ["--enable-native-build", 784 ["--enable-native-build",
771 "--enable-qt5", 785 "--enable-qt5",
772 "--enable-lib64-directory", 786 "--enable-lib64-directory",
773 "--enable-pic-flag", 787 "--enable-pic-flag",
774 "--disable-devel-tools", 788 "--disable-devel-tools",
775 "--disable-system-x11-libs", 789 "--disable-system-x11-libs",
776 "--disable-system-fontconfig", 790 "--disable-system-fontconfig",
777 "--disable-system-gcc", 791 "--disable-system-gcc",
778 "--disable-system-opengl", 792 "--disable-system-opengl",
779 "gnu-linux"], 793 "gnu-linux"],
780 compile_opts) 794 build_octave_opts, build_pkg_opts)
781 795
796
797 w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
798 "default", "default",
799 ["--enable-system-octave"],
800 "default-octave",
801 ["nsis-installer", "7z-dist"])
782 802
783 c["builders"].append (BuilderConfig (name = "w32-on-debian", 803 c["builders"].append (BuilderConfig (name = "w32-on-debian",
784 workernames = ["jwe-debian-x86_64-5"], 804 workernames = ["jwe-debian-x86_64-5"],
785 factory = mk_w32_factory (19, 16, "default", "default", 805 factory = w32_factory))
786 ["--enable-system-octave"], 806
787 ["nsis-installer", "7z-dist"]))) 807 w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
808 "default", "default",
809 ["--enable-system-octave"],
810 "default-octave",
811 ["nsis-installer", "7z-dist"])
788 812
789 c["builders"].append (BuilderConfig (name = "w64-32-on-debian", 813 c["builders"].append (BuilderConfig (name = "w64-32-on-debian",
790 workernames = ["jwe-debian-x86_64-5"], 814 workernames = ["jwe-debian-x86_64-5"],
791 factory = mk_w64_32_factory (19, 16, "default", "default", 815 factory = w64_32_factory))
792 ["--enable-system-octave"], 816
793 ["nsis-installer", "7z-dist"]))) 817 w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
818 "default", "default",
819 ["--enable-system-octave"],
820 "default-octave",
821 ["nsis-installer", "7z-dist"])
794 822
795 c["builders"].append (BuilderConfig (name = "w64-64-on-debian", 823 c["builders"].append (BuilderConfig (name = "w64-64-on-debian",
796 workernames = ["jwe-debian-x86_64-4"], 824 workernames = ["jwe-debian-x86_64-4"],
797 factory = mk_w64_64_factory (19, 16, "default", "default", 825 factory = w64_64_factory))
798 ["--enable-system-octave"], 826
799 ["nsis-installer", "7z-dist"]))) 827 w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
828 "release", "release",
829 ["--disable-system-octave"],
830 "release-octave",
831 ["nsis-installer", "7z-dist"])
800 832
801 c["builders"].append (BuilderConfig (name = "w32-release-on-debian", 833 c["builders"].append (BuilderConfig (name = "w32-release-on-debian",
802 workernames = ["jwe-debian-x86_64-5"], 834 workernames = ["jwe-debian-x86_64-5"],
803 factory = mk_w32_factory (19, 16, "release", "release", 835 factory = w32_factory))
804 ["--disable-system-octave"], 836
805 ["nsis-installer", "7z-dist"]))) 837 w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
838 "release", "release",
839 ["--disable-system-octave"],
840 "release-octave",
841 ["nsis-installer", "7z-dist"])
806 842
807 c["builders"].append (BuilderConfig (name = "w64-32-release-on-debian", 843 c["builders"].append (BuilderConfig (name = "w64-32-release-on-debian",
808 workernames = ["jwe-debian-x86_64-5"], 844 workernames = ["jwe-debian-x86_64-5"],
809 factory = mk_w64_32_factory (19, 16, "release", "release", 845 factory = w64_32_factory))
810 ["--disable-system-octave"], 846
811 ["nsis-installer", "7z-dist"]))) 847 w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
812 848 "release", "release",
813 c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian", 849 ["--disable-system-octave"],
814 workernames = ["jwe-debian-x86_64-4"], 850 "release-octave",
815 factory = mk_w64_64_factory (19, 16, "release", "release", 851 ["nsis-installer", "7z-dist"])
816 ["--disable-system-octave"], 852
817 ["nsis-installer", "7z-dist"]))) 853 c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian",
818 854 workernames = ["jwe-debian-x86_64-4"],
855 factory = w64_64_factory))
856
857 w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
858 "stable", "release",
859 ["--enable-system-octave"],
860 "stable-octave",
861 ["nsis-installer", "7z-dist"])
819 862
820 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian", 863 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian",
821 workernames = ["jwe-debian-x86_64-5"], 864 workernames = ["jwe-debian-x86_64-5"],
822 factory = mk_w32_factory (19, 16, "stable", "release", 865 factory = w32_factory))
823 ["--enable-system-octave"], 866
824 ["nsis-installer", "7z-dist"]))) 867 w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
868 "stable", "release",
869 ["--enable-system-octave"],
870 "stable-octave",
871 ["nsis-installer", "7z-dist"])
825 872
826 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian", 873 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian",
827 workernames = ["jwe-debian-x86_64-5"], 874 workernames = ["jwe-debian-x86_64-5"],
828 factory = mk_w64_32_factory (19, 16, "stable", "release", 875 factory = w64_32_factory))
829 ["--enable-system-octave"], 876
830 ["nsis-installer", "7z-dist"]))) 877 w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
878 "stable", "release",
879 ["--enable-system-octave"],
880 "stable-octave",
881 ["nsis-installer", "7z-dist"])
831 882
832 c["builders"].append (BuilderConfig (name = "w64-64-stable-on-debian", 883 c["builders"].append (BuilderConfig (name = "w64-64-stable-on-debian",
833 workernames = ["jwe-debian-x86_64-4"], 884 workernames = ["jwe-debian-x86_64-4"],
834 factory = mk_w64_64_factory (19, 16, "stable", "release", 885 factory = w64_64_factory))
835 ["--enable-system-octave"], 886
836 ["nsis-installer", "7z-dist"]))) 887 native_factory = mk_native_factory (19, [1, 16], [8, 2],
888 "default", "default",
889 "default-octave",
890 "tar-dist")
837 891
838 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian", 892 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian",
839 workernames = ["jwe-debian-x86_64-5"], 893 workernames = ["jwe-debian-x86_64-5"],
840 factory = mk_native_factory (19, 8, "default", "default", "tar-dist"))) 894 factory = native_factory))
895
896 native_all_factory = mk_native_all_factory (19, [1, 16], [8, 2],
897 "default", "default",
898 "default-octave",
899 "tar-dist")
841 900
842 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian", 901 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian",
843 workernames = ["jwe-debian-x86_64-5"], 902 workernames = ["jwe-debian-x86_64-5"],
844 factory = mk_native_all_factory (19, 8, "default", "default", "tar-dist"))) 903 factory = native_all_factory))
845 904
846 905
847 ## PROJECT IDENTITY 906 ## PROJECT IDENTITY
848 907
849 ## the 'title' string will appear at the top of this buildbot 908 ## the 'title' string will appear at the top of this buildbot