summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorMatt Madison <matt@madison.systems>2017-09-13 14:54:06 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-14 11:35:45 +0100
commit05c439a325e0a7637e9eec369adb77eaf9c32846 (patch)
tree4b11d51b03950c3417373d3a6ec4db4ca926c2ae /meta/classes
parent5c068016555c8d5edd4752f9fb880bf156ffebf4 (diff)
downloadpoky-05c439a325e0a7637e9eec369adb77eaf9c32846.tar.gz
go.bbclass: add support linking against shared runtime
For architectures that support it, use the -linkshared build option to build packages against the shared Go runtime. (From OE-Core rev: 5624a773e4db3ad2251641e69b04dc380e74a4c7) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/go.bbclass11
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index 8d363e86a2..d805dc2713 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -31,7 +31,14 @@ DEPENDS_GOLANG_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk virtual/${
31 31
32DEPENDS_append = " ${DEPENDS_GOLANG}" 32DEPENDS_append = " ${DEPENDS_GOLANG}"
33 33
34export GOBUILDFLAGS ?= "-v" 34GO_LINKSHARED ?= "${@'-linkshared' if d.getVar('GO_DYNLINK') else ''}"
35GO_RPATH_LINK = "${@'-Wl,-rpath-link=${STAGING_DIR_TARGET}${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
36GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
37GO_RPATH_class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
38GO_RPATH_LINK_class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
39GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
40GO_LDFLAGS ?= '-ldflags="${GO_RPATH} -extldflags '${GO_EXTLDFLAGS}'"'
41export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS}"
35GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} " 42GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} "
36 43
37export GO = "${HOST_PREFIX}go" 44export GO = "${HOST_PREFIX}go"
@@ -81,7 +88,7 @@ go_do_configure() {
81go_do_compile() { 88go_do_compile() {
82 ${GO} env 89 ${GO} env
83 if [ -n "${GO_INSTALL}" ]; then 90 if [ -n "${GO_INSTALL}" ]; then
84 ${GO} install ${GOBUILDFLAGS} `go_list_packages` 91 ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} `go_list_packages`
85 fi 92 fi
86} 93}
87do_compile[cleandirs] = "${B}/bin ${B}/pkg" 94do_compile[cleandirs] = "${B}/bin ${B}/pkg"