mirror of
https://git.yoctoproject.org/poky
synced 2026-04-22 15:32:14 +02:00
go.bbclass: Enable parallel build
The parallel build is based on PARALLEL_MAKE variable but can be overriden setting the GO_PARALLEL_BUILD one. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang (From OE-Core rev: 7a40ea8fc358aa134ad86862591329f94d0f3718) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7a7f0e846f
commit
6640f4070e
@@ -1,11 +1,31 @@
|
||||
inherit goarch
|
||||
|
||||
def get_go_parallel_make(d):
|
||||
pm = (d.getVar('PARALLEL_MAKE') or '').split()
|
||||
# look for '-j' and throw other options (e.g. '-l') away
|
||||
# because they might have a different meaning in golang
|
||||
while pm:
|
||||
opt = pm.pop(0)
|
||||
if opt == '-j':
|
||||
v = pm.pop(0)
|
||||
elif opt.startswith('-j'):
|
||||
v = opt[2:].strip()
|
||||
else:
|
||||
continue
|
||||
|
||||
return '-p %d' % int(v)
|
||||
|
||||
return ""
|
||||
|
||||
GO_PARALLEL_BUILD ?= "${@get_go_parallel_make(d)}"
|
||||
|
||||
GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
GOROOT = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
|
||||
GOBIN_FINAL_class-native = "${GOROOT_FINAL}/bin"
|
||||
GOBIN_FINAL = "${GOROOT_FINAL}/${GO_BUILD_BINDIR}"
|
||||
|
||||
export GOBUILDFLAGS ?= "-v"
|
||||
GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} "
|
||||
|
||||
export GOOS = "${TARGET_GOOS}"
|
||||
export GOARCH = "${TARGET_GOARCH}"
|
||||
|
||||
Reference in New Issue
Block a user