diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2024-08-21 14:28:06 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-08-22 09:49:03 +0000 |
| commit | ea1cd5ff3029315c1f89b98b820ceeebfba0e4df (patch) | |
| tree | ead4b8475abce2fecb5a30f3cc1d6d62a2bac982 /pkg/build/freebsd.go | |
| parent | aa99fc3349e97ea596c31624efde306de4136241 (diff) | |
pkg/build: introduce the build jobs parameter
This parameter defines the number of cores dedicated to the kernel build
process. By default, it's equal to the number of available CPUs.
Diffstat (limited to 'pkg/build/freebsd.go')
| -rw-r--r-- | pkg/build/freebsd.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pkg/build/freebsd.go b/pkg/build/freebsd.go index 2f4aa1313..2c6e0fcc9 100644 --- a/pkg/build/freebsd.go +++ b/pkg/build/freebsd.go @@ -45,12 +45,12 @@ options DIAGNOSTIC return ImageDetails{}, err } objPrefix := filepath.Join(params.KernelDir, "obj") - output, err := ctx.make(params.KernelDir, objPrefix, "kernel-toolchain") + output, err := ctx.make(params.KernelDir, objPrefix, params.BuildJobs, "kernel-toolchain") if err != nil { return ImageDetails{}, err } - if _, err := ctx.make(params.KernelDir, objPrefix, "buildkernel", "WITH_EXTRA_TCP_STACKS=", - fmt.Sprintf("KERNCONF=%v", confFile)); err != nil { + if _, err := ctx.make(params.KernelDir, objPrefix, params.BuildJobs, "buildkernel", + "WITH_EXTRA_TCP_STACKS=", fmt.Sprintf("KERNCONF=%v", confFile)); err != nil { // The kernel-toolchain make target has to be built separately // because FreeBSD's build doesn't correctly order the two // targets. Its output is useful for debugging though, so @@ -121,16 +121,16 @@ sudo mdconfig -d -u ${md#md} func (ctx freebsd) clean(kernelDir, targetArch string) error { objPrefix := filepath.Join(kernelDir, "obj") - _, err := ctx.make(kernelDir, objPrefix, "cleanworld") + _, err := ctx.make(kernelDir, objPrefix, runtime.NumCPU(), "cleanworld") return err } -func (ctx freebsd) make(kernelDir, objPrefix string, makeArgs ...string) ([]byte, error) { +func (ctx freebsd) make(kernelDir, objPrefix string, jobs int, makeArgs ...string) ([]byte, error) { args := append([]string{ fmt.Sprintf("MAKEOBJDIRPREFIX=%v", objPrefix), "make", "-C", kernelDir, - "-j", strconv.Itoa(runtime.NumCPU()), + "-j", strconv.Itoa(jobs), }, makeArgs...) output, err := osutil.RunCmd(3*time.Hour, kernelDir, "sh", "-c", strings.Join(args, " ")) return output, err |
