diff options
author | Matt Madison <matt@madison.systems> | 2017-09-13 14:54:06 -0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-14 11:35:45 +0100 |
commit | 05c439a325e0a7637e9eec369adb77eaf9c32846 (patch) | |
tree | 4b11d51b03950c3417373d3a6ec4db4ca926c2ae /meta/classes | |
parent | 5c068016555c8d5edd4752f9fb880bf156ffebf4 (diff) | |
download | poky-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.bbclass | 11 |
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 | ||
32 | DEPENDS_append = " ${DEPENDS_GOLANG}" | 32 | DEPENDS_append = " ${DEPENDS_GOLANG}" |
33 | 33 | ||
34 | export GOBUILDFLAGS ?= "-v" | 34 | GO_LINKSHARED ?= "${@'-linkshared' if d.getVar('GO_DYNLINK') else ''}" |
35 | GO_RPATH_LINK = "${@'-Wl,-rpath-link=${STAGING_DIR_TARGET}${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" | ||
36 | GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" | ||
37 | GO_RPATH_class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" | ||
38 | GO_RPATH_LINK_class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" | ||
39 | GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}" | ||
40 | GO_LDFLAGS ?= '-ldflags="${GO_RPATH} -extldflags '${GO_EXTLDFLAGS}'"' | ||
41 | export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS}" | ||
35 | GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} " | 42 | GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} " |
36 | 43 | ||
37 | export GO = "${HOST_PREFIX}go" | 44 | export GO = "${HOST_PREFIX}go" |
@@ -81,7 +88,7 @@ go_do_configure() { | |||
81 | go_do_compile() { | 88 | go_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 | } |
87 | do_compile[cleandirs] = "${B}/bin ${B}/pkg" | 94 | do_compile[cleandirs] = "${B}/bin ${B}/pkg" |