changeset 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
files master.cfg
diffstat 1 files changed, 112 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/master.cfg	Fri Aug 27 14:43:18 2021 -0400
+++ b/master.cfg	Fri Aug 27 21:35:11 2021 -0400
@@ -675,14 +675,16 @@
                   timeout = 14400)
 
 
-def mk_mxe_octave_compile_step (nice = 0, jobs = 8, opts = []):
-  make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs)],
+def mk_mxe_octave_compile_step (nice = 0, jobs = [1, 8], opts = []):
+  make_cmd = build_cmd_list (["make",
+                              "--jobs=" + str (jobs[0]),
+                              "JOBS=" + str (jobs[1])],
                              nice = nice, opts = opts)
   return Compile (command = make_cmd, workdir = "src", env = build_env,
                   timeout = 14400)
 
 
-def mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts):
+def mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
   factory = BuildFactory ()
 
   factory.addStep (mk_mxe_octave_hg_update_step (mxe_octave_hg_repo, mxe_branch))
@@ -695,7 +697,8 @@
   factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch,
                                                  opts = configure_opts))
 
-  factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs,
+  factory.addStep (mk_mxe_octave_compile_step (nice = nice,
+                                               jobs = build_octave_jobs,
                                                opts = "prerequisites"))
 
   if branch != "release":
@@ -704,19 +707,26 @@
     ## while.  Using ccache should help us significantly since we are
     ## typically rebuilding the same sets of packages repeatedly.
 
-    factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice, jobs = jobs,
+    factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice,
+                                                    jobs = build_octave_jobs,
                                                     branch = branch))
 
-  factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs,
-                                               opts = compile_opts))
+  factory.addStep (mk_mxe_octave_compile_step (nice = nice,
+                                               jobs = build_octave_jobs,
+                                               opts = build_octave_opts))
+
+  factory.addStep (mk_mxe_octave_compile_step (nice = nice,
+                                               jobs = build_pkg_jobs,
+                                               opts = build_pkg_opts))
 
   ## factory.addStep (mk_mxe_octave_test_step (nice = nice))
 
   return factory
 
 
-def mk_w32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts):
-  return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch,
+def mk_w32_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
+  return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
+                                branch, mxe_branch,
                                 configure_opts +
                                 ["--enable-qt5",
                                  "--enable-devel-tools",
@@ -724,11 +734,12 @@
                                  "--disable-64",
                                  "--disable-fortran-int64",
                                  "--disable-system-opengl"],
-                                compile_opts)
+                                build_octave_opts, build_pkg_opts)
 
 
-def mk_w64_32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts):
-  return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch,
+def mk_w64_32_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
+  return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
+                                branch, mxe_branch,
                                 configure_opts +
                                 ["--enable-qt5",
                                  "--enable-devel-tools",
@@ -736,11 +747,12 @@
                                  "--enable-64",
                                  "--disable-fortran-int64",
                                  "--disable-system-opengl"],
-                                compile_opts)
+                                build_octave_opts, build_pkg_opts)
 
 
-def mk_w64_64_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts):
-  return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch,
+def mk_w64_64_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, configure_opts, build_octave_opts, build_pkg_opts):
+  return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
+                                branch, mxe_branch,
                                 configure_opts +
                                 ["--enable-qt5",
                                  "--enable-devel-tools",
@@ -748,11 +760,12 @@
                                  "--enable-64",
                                  "--enable-fortran-int64",
                                  "--disable-system-opengl"],
-                                compile_opts)
+                                build_octave_opts, build_pkg_opts)
 
 
-def mk_native_factory (nice, jobs, branch, mxe_branch, compile_opts):
-  return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch,
+def mk_native_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, build_octave_opts, build_pkg_opts):
+  return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
+                                branch, mxe_branch,
                                 ["--enable-native-build",
                                  "--enable-qt5",
                                  "--enable-lib64-directory",
@@ -762,11 +775,12 @@
                                  "--enable-system-fontconfig",
                                  "--enable-system-gcc",
                                  "gnu-linux"],
-                                compile_opts)
+                                build_octave_opts, build_pkg_opts)
 
 
-def mk_native_all_factory (nice, jobs, branch, mxe_branch, compile_opts):
-  return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch,
+def mk_native_all_factory (nice, build_octave_jobs, build_pkg_jobs, branch, mxe_branch, build_octave_opts, build_pkg_opts):
+  return mk_mxe_octave_factory (nice, build_octave_jobs, build_pkg_jobs,
+                                branch, mxe_branch,
                                 ["--enable-native-build",
                                  "--enable-qt5",
                                  "--enable-lib64-directory",
@@ -777,71 +791,116 @@
                                  "--disable-system-gcc",
                                  "--disable-system-opengl",
                                  "gnu-linux"],
-                                compile_opts)
+                                build_octave_opts, build_pkg_opts)
+
 
+w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
+                              "default", "default",
+                              ["--enable-system-octave"],
+                              "default-octave",
+                              ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w32-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w32_factory (19, 16, "default", "default",
-                                                               ["--enable-system-octave"],
-                                                               ["nsis-installer", "7z-dist"])))
+                                     factory = w32_factory))
+
+w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
+                                    "default", "default",
+                                    ["--enable-system-octave"],
+                                    "default-octave",
+                                    ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w64-32-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w64_32_factory (19, 16, "default", "default",
-                                                                  ["--enable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+                                     factory = w64_32_factory))
+
+w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
+                                    "default", "default",
+                                    ["--enable-system-octave"],
+                                    "default-octave",
+                                    ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w64-64-on-debian",
                                      workernames = ["jwe-debian-x86_64-4"],
-                                     factory = mk_w64_64_factory (19, 16, "default", "default",
-                                                                  ["--enable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+                                     factory = w64_64_factory))
+
+w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
+                              "release", "release",
+                              ["--disable-system-octave"],
+                              "release-octave",
+                              ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w32-release-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w32_factory (19, 16, "release", "release",
-                                                               ["--disable-system-octave"],
-                                                               ["nsis-installer", "7z-dist"])))
+                                     factory = w32_factory))
+
+w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
+                                    "release", "release",
+                                    ["--disable-system-octave"],
+                                    "release-octave",
+                                    ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w64-32-release-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w64_32_factory (19, 16, "release", "release",
-                                                                  ["--disable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+                                     factory = w64_32_factory))
+
+w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
+                                    "release", "release",
+                                    ["--disable-system-octave"],
+                                    "release-octave",
+                                    ["nsis-installer", "7z-dist"])
 
-c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian",
-                                     workernames = ["jwe-debian-x86_64-4"],
-                                     factory = mk_w64_64_factory (19, 16, "release", "release",
-                                                                  ["--disable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+ c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian",
+                                      workernames = ["jwe-debian-x86_64-4"],
+                                      factory = w64_64_factory))
 
+w32_factory = mk_w32_factory (19, [1, 16], [8, 2],
+                              "stable", "release",
+                              ["--enable-system-octave"],
+                              "stable-octave",
+                              ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w32_factory (19, 16, "stable", "release",
-                                                               ["--enable-system-octave"],
-                                                               ["nsis-installer", "7z-dist"])))
+                                     factory = w32_factory))
+
+w64_32_factory = mk_w64_32_factory (19, [1, 16], [8, 2],
+                                    "stable", "release",
+                                    ["--enable-system-octave"],
+                                    "stable-octave",
+                                    ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_w64_32_factory (19, 16, "stable", "release",
-                                                                  ["--enable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+                                     factory = w64_32_factory))
+
+w64_64_factory = mk_w64_64_factory (19, [1, 16], [8, 2],
+                                    "stable", "release",
+                                    ["--enable-system-octave"],
+                                    "stable-octave",
+                                    ["nsis-installer", "7z-dist"])
 
 c["builders"].append (BuilderConfig (name = "w64-64-stable-on-debian",
                                      workernames = ["jwe-debian-x86_64-4"],
-                                     factory = mk_w64_64_factory (19, 16, "stable", "release",
-                                                                  ["--enable-system-octave"],
-                                                                  ["nsis-installer", "7z-dist"])))
+                                     factory = w64_64_factory))
+
+native_factory = mk_native_factory (19, [1, 16], [8, 2],
+                                    "default", "default",
+                                    "default-octave",
+                                    "tar-dist")
 
 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_native_factory (19, 8, "default", "default", "tar-dist")))
+                                     factory = native_factory))
+
+native_all_factory = mk_native_all_factory (19, [1, 16], [8, 2],
+                                            "default", "default",
+                                            "default-octave",
+                                            "tar-dist")
 
 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian",
                                      workernames = ["jwe-debian-x86_64-5"],
-                                     factory = mk_native_all_factory (19, 8, "default", "default", "tar-dist")))
+                                     factory = native_all_factory))
 
 
 ## PROJECT IDENTITY