summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Madison <matt@madison.systems>2018-03-04 13:09:26 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-06 06:43:10 -0800
commitdc2e108efe79e24acd47724af1ef9e672f8b4400 (patch)
treee174dcf5b9aab027376dc859368a200be9fc62f6
parent7a4ca89b557648d9aae30b405f6be09b4a383abe (diff)
downloadpoky-dc2e108efe79e24acd47724af1ef9e672f8b4400.tar.gz
go: set GOMIPS envrionment variable
Go 1.10 adds support for selecting hard/soft float object code through the GOMIPS environment variable. (From OE-Core rev: f3cabc92dca3408da18f04e4af4051fba1f63c14) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/goarch.bbclass11
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian.inc1
-rw-r--r--meta/recipes-devtools/go/go-cross.inc2
-rw-r--r--meta/recipes-devtools/go/go-runtime.inc1
-rw-r--r--meta/recipes-devtools/go/go-target.inc1
5 files changed, 16 insertions, 0 deletions
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
index 922c0cc8f3..1021b94d4c 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes/goarch.bbclass
@@ -5,11 +5,13 @@ HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS'), d)}"
5HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}" 5HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}"
6HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}" 6HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
7HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}" 7HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
8HOST_GOMIPS = "${@go_map_mips(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
8HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}" 9HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
9TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}" 10TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}"
10TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}" 11TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}"
11TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" 12TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
12TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" 13TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
14TARGET_GOMIPS = "${@go_map_mips(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
13TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}" 15TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
14GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') == d.getVar('HOST_GOTUPLE')]}" 16GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') == d.getVar('HOST_GOTUPLE')]}"
15 17
@@ -78,6 +80,15 @@ def go_map_386(a, f, d):
78 return '387' 80 return '387'
79 return '' 81 return ''
80 82
83def go_map_mips(a, f, d):
84 import re
85 if a == 'mips' or a == 'mipsel':
86 if 'fpu-hard' in f:
87 return 'hardfloat'
88 else:
89 return 'softfloat'
90 return ''
91
81def go_map_os(o, d): 92def go_map_os(o, d):
82 if o.startswith('linux'): 93 if o.startswith('linux'):
83 return 'linux' 94 return 'linux'
diff --git a/meta/recipes-devtools/go/go-cross-canadian.inc b/meta/recipes-devtools/go/go-cross-canadian.inc
index e22914e7aa..4a43d831fa 100644
--- a/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -41,6 +41,7 @@ export GOARCH="${TARGET_GOARCH}"
41export GOOS="${TARGET_GOOS}" 41export GOOS="${TARGET_GOOS}"
42test -n "\$GOARM" || export GOARM="${TARGET_GOARM}" 42test -n "\$GOARM" || export GOARM="${TARGET_GOARM}"
43test -n "\$GO386" || export GO386="${TARGET_GO386}" 43test -n "\$GO386" || export GO386="${TARGET_GO386}"
44test -n "\$GOMIPS" || export GOMIPS="${TARGET_GOMIPS}"
44export GOTOOLDIR="\$native_goroot/pkg/tool/${HOST_GOTUPLE}" 45export GOTOOLDIR="\$native_goroot/pkg/tool/${HOST_GOTUPLE}"
45test -n "\$GOROOT" || export GOROOT="\$OECORE_TARGET_SYSROOT/${target_libdir}/go" 46test -n "\$GOROOT" || export GOROOT="\$OECORE_TARGET_SYSROOT/${target_libdir}/go"
46\$here/../../lib/${TARGET_SYS}/go/bin/$1 "\$@" 47\$here/../../lib/${TARGET_SYS}/go/bin/$1 "\$@"
diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc
index fe92651581..289ae77104 100644
--- a/meta/recipes-devtools/go/go-cross.inc
+++ b/meta/recipes-devtools/go/go-cross.inc
@@ -11,6 +11,7 @@ export GOOS = "${TARGET_GOOS}"
11export GOARCH = "${TARGET_GOARCH}" 11export GOARCH = "${TARGET_GOARCH}"
12export GOARM = "${TARGET_GOARM}" 12export GOARM = "${TARGET_GOARM}"
13export GO386 = "${TARGET_GO386}" 13export GO386 = "${TARGET_GO386}"
14export GOMIPS = "${TARGET_GOMIPS}"
14export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go" 15export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
15export GOROOT_FINAL = "${libdir}/go" 16export GOROOT_FINAL = "${libdir}/go"
16export GOCACHE = "off" 17export GOCACHE = "off"
@@ -40,6 +41,7 @@ export GOARCH="${TARGET_GOARCH}"
40export GOOS="${TARGET_GOOS}" 41export GOOS="${TARGET_GOOS}"
41export GOARM="\${GOARM:-${TARGET_GOARM}}" 42export GOARM="\${GOARM:-${TARGET_GOARM}}"
42export GO386="\${GO386:-${TARGET_GO386}}" 43export GO386="\${GO386:-${TARGET_GO386}}"
44export GOMIPS="\${GOMIPS:-${TARGET_GOMIPS}}"
43\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@" 45\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@"
44END 46END
45 chmod +x ${D}${bindir}/$2 47 chmod +x ${D}${bindir}/$2
diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc
index 7a3b415b3f..0fe4566360 100644
--- a/meta/recipes-devtools/go/go-runtime.inc
+++ b/meta/recipes-devtools/go/go-runtime.inc
@@ -8,6 +8,7 @@ export GOOS = "${TARGET_GOOS}"
8export GOARCH = "${TARGET_GOARCH}" 8export GOARCH = "${TARGET_GOARCH}"
9export GOARM = "${TARGET_GOARM}" 9export GOARM = "${TARGET_GOARM}"
10export GO386 = "${TARGET_GO386}" 10export GO386 = "${TARGET_GO386}"
11export GOMIPS = "${TARGET_GOMIPS}"
11export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go" 12export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
12export GOROOT_FINAL = "${libdir}/go" 13export GOROOT_FINAL = "${libdir}/go"
13export CGO_ENABLED = "1" 14export CGO_ENABLED = "1"
diff --git a/meta/recipes-devtools/go/go-target.inc b/meta/recipes-devtools/go/go-target.inc
index a53a314c78..141a456cca 100644
--- a/meta/recipes-devtools/go/go-target.inc
+++ b/meta/recipes-devtools/go/go-target.inc
@@ -8,6 +8,7 @@ export GOOS = "${TARGET_GOOS}"
8export GOARCH = "${TARGET_GOARCH}" 8export GOARCH = "${TARGET_GOARCH}"
9export GOARM = "${TARGET_GOARM}" 9export GOARM = "${TARGET_GOARM}"
10export GO386 = "${TARGET_GO386}" 10export GO386 = "${TARGET_GO386}"
11export GOMIPS = "${TARGET_GOMIPS}"
11export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go" 12export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
12export GOROOT_FINAL = "${libdir}/go" 13export GOROOT_FINAL = "${libdir}/go"
13export CGO_ENABLED = "1" 14export CGO_ENABLED = "1"