aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build/freebsd.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2024-08-21 14:28:06 +0200
committerAleksandr Nogikh <nogikh@google.com>2024-08-22 09:49:03 +0000
commitea1cd5ff3029315c1f89b98b820ceeebfba0e4df (patch)
treeead4b8475abce2fecb5a30f3cc1d6d62a2bac982 /pkg/build/freebsd.go
parentaa99fc3349e97ea596c31624efde306de4136241 (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.go12
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