summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-03-07 16:10:56 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-03-09 14:43:11 +0000
commit66d57c6ed49669c9012d9ea831b5783b3168bb7f (patch)
tree9cccb8cc72f39b70fb41538907f0deb6e05b7726 /meta
parente53aa46f435d68706d042af17bf629a16f18556c (diff)
downloadpoky-66d57c6ed49669c9012d9ea831b5783b3168bb7f.tar.gz
go-1.9: Drop the recipes
We now have 1.11 and 1.12 (From OE-Core rev: 277162917331b235863eec31cbe82c101f0e4efe) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/go/go-1.9.inc27
-rw-r--r--meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch32
-rw-r--r--meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch67
-rw-r--r--meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch92
-rw-r--r--meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch68
-rw-r--r--meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch41
-rw-r--r--meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch36
-rw-r--r--meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch46
-rw-r--r--meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch33
-rw-r--r--meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch47
-rw-r--r--meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch43
-rw-r--r--meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch40
-rw-r--r--meta/recipes-devtools/go/go-1.9/set-external-linker.patch111
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.9.bb12
-rw-r--r--meta/recipes-devtools/go/go-cross_1.9.bb10
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.9.bb11
-rw-r--r--meta/recipes-devtools/go/go-native_1.9.bb4
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.9.bb23
-rw-r--r--meta/recipes-devtools/go/go_1.9.bb28
19 files changed, 0 insertions, 771 deletions
diff --git a/meta/recipes-devtools/go/go-1.9.inc b/meta/recipes-devtools/go/go-1.9.inc
deleted file mode 100644
index ba1eaa051a..0000000000
--- a/meta/recipes-devtools/go/go-1.9.inc
+++ /dev/null
@@ -1,27 +0,0 @@
1require go-common.inc
2
3GO_BASEVERSION = "1.9"
4GO_MINOR = ".7"
5PV .= "${GO_MINOR}"
6
7FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
10
11SRC_URI += "\
12 file://0001-make.bash-quote-CC_FOR_TARGET.patch \
13 file://0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch \
14 file://0003-make.bash-better-separate-host-and-target-builds.patch \
15 file://0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch \
16 file://0005-cmd-go-make-GOROOT-precious-by-default.patch \
17 file://0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch \
18 file://0007-ld-add-soname-to-shareable-objects.patch \
19 file://0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch \
20 file://0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch \
21 file://0010-make.bash-override-CC-when-building-dist-and-go_boot.patch \
22 file://0011-use-GOBUILDMODE-to-set-buildmode.patch \
23"
24SRC_URI_append_libc-musl = " file://set-external-linker.patch"
25
26SRC_URI[main.md5sum] = "3c2cf876ed6612a022574a565206c6ea"
27SRC_URI[main.sha256sum] = "582814fa45e8ecb0859a208e517b48aa0ad951e3b36c7fff203d834e0ef27722"
diff --git a/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch b/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch
deleted file mode 100644
index 7800975e48..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From d24734ad44006791fd48fc45ea34fe608ff672fb Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:04:23 -0700
4Subject: [PATCH 1/7] make.bash: quote CC_FOR_TARGET
5
6For OE cross-builds, $CC_FOR_TARGET has more than
7one word and needs to be quoted.
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12Signed-off-by: Matt Madison <matt@madison.systems>
13---
14 src/make.bash | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/src/make.bash b/src/make.bash
18index 71e7531..dcf3256 100755
19--- a/src/make.bash
20+++ b/src/make.bash
21@@ -175,7 +175,7 @@ echo "##### Building packages and commands for $GOOS/$GOARCH."
22
23 old_bin_files=$(cd $GOROOT/bin && echo *)
24
25-CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
26+CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
27
28 # Check that there are no new files in $GOROOT/bin other than go and gofmt
29 # and $GOOS_$GOARCH (a directory used when cross-compiling).
30--
312.7.4
32
diff --git a/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch b/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch
deleted file mode 100644
index a4e42261c3..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From a7170d32a13aead608abd18996f6dab2e2a631b5 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:06:37 -0700
4Subject: [PATCH 2/7] cmd/go: fix CC and CXX environment variable construction
5
6For OE cross-builds, CC and CXX have multiple words, and
7we need their complete definitions when setting up the
8environment during Go builds.
9
10Upstream-Status: Pending
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13Signed-off-by: Matt Madison <matt@madison.systems>
14---
15 src/cmd/go/internal/envcmd/env.go | 4 ++--
16 src/cmd/go/internal/work/build.go | 12 ++++++++++++
17 2 files changed, 14 insertions(+), 2 deletions(-)
18
19diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
20index 43d4334..529d21d 100644
21--- a/src/cmd/go/internal/envcmd/env.go
22+++ b/src/cmd/go/internal/envcmd/env.go
23@@ -74,10 +74,10 @@ func MkEnv() []cfg.EnvVar {
24 }
25
26 cmd := b.GccCmd(".")
27- env = append(env, cfg.EnvVar{Name: "CC", Value: cmd[0]})
28+ env = append(env, cfg.EnvVar{Name: "CC", Value: strings.Join(b.GccCmdForReal(), " ")})
29 env = append(env, cfg.EnvVar{Name: "GOGCCFLAGS", Value: strings.Join(cmd[3:], " ")})
30 cmd = b.GxxCmd(".")
31- env = append(env, cfg.EnvVar{Name: "CXX", Value: cmd[0]})
32+ env = append(env, cfg.EnvVar{Name: "CXX", Value: strings.Join(b.GxxCmdForReal(), " ")})
33
34 if cfg.BuildContext.CgoEnabled {
35 env = append(env, cfg.EnvVar{Name: "CGO_ENABLED", Value: "1"})
36diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
37index 7d667ff..85df0b3 100644
38--- a/src/cmd/go/internal/work/build.go
39+++ b/src/cmd/go/internal/work/build.go
40@@ -3127,12 +3127,24 @@ func (b *Builder) GccCmd(objdir string) []string {
41 return b.ccompilerCmd("CC", cfg.DefaultCC, objdir)
42 }
43
44+// gccCmd returns a gcc command line prefix
45+// defaultCC is defined in zdefaultcc.go, written by cmd/dist.
46+func (b *Builder) GccCmdForReal() []string {
47+ return envList("CC", cfg.DefaultCC)
48+}
49+
50 // gxxCmd returns a g++ command line prefix
51 // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
52 func (b *Builder) GxxCmd(objdir string) []string {
53 return b.ccompilerCmd("CXX", cfg.DefaultCXX, objdir)
54 }
55
56+// gxxCmd returns a g++ command line prefix
57+// defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
58+func (b *Builder) GxxCmdForReal() []string {
59+ return envList("CXX", cfg.DefaultCXX)
60+}
61+
62 // gfortranCmd returns a gfortran command line prefix.
63 func (b *Builder) gfortranCmd(objdir string) []string {
64 return b.ccompilerCmd("FC", "gfortran", objdir)
65--
662.7.4
67
diff --git a/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch b/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch
deleted file mode 100644
index ffd9f2359c..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch
+++ /dev/null
@@ -1,92 +0,0 @@
1From 31e88f06af7ab787d8fe0c1ca625193e1799e167 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:12:04 -0700
4Subject: [PATCH 3/7] make.bash: better separate host and target builds
5
6Fore OE cross-builds, the simple checks in make.bash are
7insufficient for distinguishing host and target build
8environments, so add some options for telling the
9script which parts are being built.
10
11Upstream-Status: Pending
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14Signed-off-by: Matt Madison <matt@madison.systems>
15---
16 src/make.bash | 51 ++++++++++++++++++++++++++++-----------------------
17 1 file changed, 28 insertions(+), 23 deletions(-)
18
19diff --git a/src/make.bash b/src/make.bash
20index dcf3256..9553623 100755
21--- a/src/make.bash
22+++ b/src/make.bash
23@@ -156,13 +156,22 @@ if [ "$1" = "--no-clean" ]; then
24 buildall=""
25 shift
26 fi
27-./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
28+do_host_build="yes"
29+do_target_build="yes"
30+if [ "$1" = "--target-only" ]; then
31+ do_host_build="no"
32+ shift
33+elif [ "$1" = "--host-only" ]; then
34+ do_target_build="no"
35+ shift
36+fi
37
38-# Delay move of dist tool to now, because bootstrap may clear tool directory.
39-mv cmd/dist/dist "$GOTOOLDIR"/dist
40-echo
41+if [ "$do_host_build" = "yes" ]; then
42+ ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
43+ # Delay move of dist tool to now, because bootstrap may clear tool directory.
44+ mv cmd/dist/dist "$GOTOOLDIR"/dist
45+ echo
46
47-if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
48 echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
49 # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
50 # use the host compiler, CC, from `cmd/dist/dist env` instead.
51@@ -171,24 +180,20 @@ if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
52 echo
53 fi
54
55-echo "##### Building packages and commands for $GOOS/$GOARCH."
56-
57-old_bin_files=$(cd $GOROOT/bin && echo *)
58-
59-CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
60-
61-# Check that there are no new files in $GOROOT/bin other than go and gofmt
62-# and $GOOS_$GOARCH (a directory used when cross-compiling).
63-(cd $GOROOT/bin && for f in *; do
64- if ! expr " $old_bin_files go gofmt ${GOOS}_${GOARCH} " : ".* $f " >/dev/null 2>/dev/null; then
65- echo 1>&2 "ERROR: unexpected new file in $GOROOT/bin: $f"
66- exit 1
67- fi
68-done)
69-
70-echo
71-
72-rm -f "$GOTOOLDIR"/go_bootstrap
73+if [ "$do_target_build" = "yes" ]; then
74+ GO_INSTALL="${GO_TARGET_INSTALL:-std cmd}"
75+ echo "##### Building packages and commands for $GOOS/$GOARCH."
76+ if [ "$GOHOSTOS" = "$GOOS" -a "$GOHOSTARCH" = "$GOARCH" -a "$do_host_build" = "yes" ]; then
77+ rm -rf ./host-tools
78+ mkdir ./host-tools
79+ mv "$GOTOOLDIR"/* ./host-tools
80+ GOTOOLDIR="$PWD/host-tools"
81+ fi
82+ GOTOOLDIR="$GOTOOLDIR" CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v ${GO_INSTALL}
83+ echo
84+
85+ rm -f "$GOTOOLDIR"/go_bootstrap
86+fi
87
88 if [ "$1" != "--no-banner" ]; then
89 "$GOTOOLDIR"/dist banner
90--
912.7.4
92
diff --git a/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
deleted file mode 100644
index 180b06a4d3..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1From 1369178b497b12088ec4c2794606cc9f14cc327c Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:15:03 -0700
4Subject: [PATCH 4/7] cmd/go: allow GOTOOLDIR to be overridden in the
5 environment
6
7For OE cross-builds, host-side tools reside in the native
8GOROOT, not the target GOROOT. Allow GOTOOLDIR to be set
9in the environment to allow that split, rather than always
10computing GOTOOLDIR relative to the GOROOT setting.
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15Signed-off-by: Matt Madison <matt@madison.systems>
16---
17 src/cmd/go/internal/cfg/cfg.go | 7 ++++++-
18 src/cmd/go/internal/work/build.go | 2 +-
19 src/go/build/build.go | 2 +-
20 3 files changed, 8 insertions(+), 3 deletions(-)
21
22diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
23index b3ad1ce..c1dc974 100644
24--- a/src/cmd/go/internal/cfg/cfg.go
25+++ b/src/cmd/go/internal/cfg/cfg.go
26@@ -91,7 +91,12 @@ func init() {
27 // as the tool directory does not move based on environment variables.
28 // This matches the initialization of ToolDir in go/build,
29 // except for using GOROOT rather than runtime.GOROOT().
30- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
31+ s := os.Getenv("GOTOOLDIR")
32+ if s == "" {
33+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
34+ } else {
35+ build.ToolDir = s
36+ }
37 }
38
39 func findGOROOT() string {
40diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
41index 85df0b3..7b9a69e 100644
42--- a/src/cmd/go/internal/work/build.go
43+++ b/src/cmd/go/internal/work/build.go
44@@ -1337,7 +1337,7 @@ func (b *Builder) build(a *Action) (err error) {
45 }
46
47 var cgoExe string
48- if a.cgo != nil && a.cgo.Target != "" {
49+ if a.cgo != nil && a.cgo.Target != "" && os.Getenv("GOTOOLDIR") == "" {
50 cgoExe = a.cgo.Target
51 } else {
52 cgoExe = base.Tool("cgo")
53diff --git a/src/go/build/build.go b/src/go/build/build.go
54index fd89871..e16145b 100644
55--- a/src/go/build/build.go
56+++ b/src/go/build/build.go
57@@ -1588,7 +1588,7 @@ func init() {
58 }
59
60 // ToolDir is the directory containing build tools.
61-var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
62+var ToolDir = envOr("GOTOOLDIR", filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH))
63
64 // IsLocalImport reports whether the import path is
65 // a local import path, like ".", "..", "./foo", or "../foo".
66--
672.7.4
68
diff --git a/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch b/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch
deleted file mode 100644
index 6e93bcb6ce..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 44f961975dac6cf464a77b5f6dd0c47cc192c4fd Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:19:52 -0700
4Subject: [PATCH 5/7] cmd/go: make GOROOT precious by default
5
6For OE builds, we never want packages that have
7already been installed into the build root to be
8modified, so prevent the go build tool from checking
9if they should be rebuilt.
10
11Also add an environment variable to override this
12behavior, just for building the Go runtime.
13
14Upstream-Status: Pending
15
16Signed-off-by: Matt Madison <matt@madison.systems>
17---
18 src/cmd/go/internal/load/pkg.go | 7 +++++++
19 1 file changed, 7 insertions(+)
20
21diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
22index 60de666..2660d3f 100644
23--- a/src/cmd/go/internal/load/pkg.go
24+++ b/src/cmd/go/internal/load/pkg.go
25@@ -1530,6 +1530,13 @@ func isStale(p *Package) (bool, string) {
26 return true, "build ID mismatch"
27 }
28
29+ // For OE builds, make anything in GOROOT non-stale,
30+ // to prevent a package build from overwriting the
31+ // build root.
32+ if p.Goroot && os.Getenv("GOROOT_OVERRIDE") != "1" {
33+ return false, "GOROOT-resident packages do not get rebuilt"
34+ }
35+
36 // Package is stale if a dependency is.
37 for _, p1 := range p.Internal.Deps {
38 if p1.Stale {
39--
402.7.4
41
diff --git a/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch b/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch
deleted file mode 100644
index f0f564044b..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From aae74d1045ca03306ba4159206ee3bac72bcdfbb Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:23:23 -0700
4Subject: [PATCH 6/7] make.bash: add GOTOOLDIR_BOOTSTRAP environment variable
5
6For cross-canadian builds, we need to use the native
7GOTOOLDIR during the bootstrap phase, so provide a way
8to pass that setting into the build script.
9
10Upstream-Status: Pending
11
12Signed-off-by: Matt Madison <matt@madison.systems>
13---
14 src/make.bash | 3 ++-
15 1 file changed, 2 insertions(+), 1 deletion(-)
16
17diff --git a/src/make.bash b/src/make.bash
18index 9553623..2e6fb05 100755
19--- a/src/make.bash
20+++ b/src/make.bash
21@@ -172,10 +172,11 @@ if [ "$do_host_build" = "yes" ]; then
22 mv cmd/dist/dist "$GOTOOLDIR"/dist
23 echo
24
25+ GOTOOLDIR_BOOTSTRAP="${GOTOOLDIR_BOOTSTRAP:-$GOTOOLDIR}"
26 echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
27 # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
28 # use the host compiler, CC, from `cmd/dist/dist env` instead.
29- CC=$CC GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \
30+ CC=$CC GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH GOTOOLDIR="$GOTOOLDIR_BOOTSTRAP" \
31 "$GOTOOLDIR"/go_bootstrap install -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
32 echo
33 fi
34--
352.7.4
36
diff --git a/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch b/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch
deleted file mode 100644
index 6459782d81..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From e957c3458d53e37bf416f51d2f8bf54c195e50f5 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Wed, 13 Sep 2017 08:27:02 -0700
4Subject: [PATCH 7/7] ld: add soname to shareable objects
5
6Shared library handling in OE depends on the inclusion
7of an soname header, so update the go linker to add that
8header for both internal and external linking.
9
10Upstream-Status: Pending
11
12Signed-off-by: Matt Madison <matt@madison.systems>
13---
14 src/cmd/link/internal/ld/lib.go | 3 +++
15 1 file changed, 3 insertions(+)
16
17diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
18index 0234105..0b9e2d0 100644
19--- a/src/cmd/link/internal/ld/lib.go
20+++ b/src/cmd/link/internal/ld/lib.go
21@@ -1124,12 +1124,14 @@ func (l *Link) hostlink() {
22 // Pass -z nodelete to mark the shared library as
23 // non-closeable: a dlclose will do nothing.
24 argv = append(argv, "-shared", "-Wl,-z,nodelete")
25+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
26 }
27 case BuildmodeShared:
28 if UseRelro() {
29 argv = append(argv, "-Wl,-z,relro")
30 }
31 argv = append(argv, "-shared")
32+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
33 case BuildmodePlugin:
34 if Headtype == objabi.Hdarwin {
35 argv = append(argv, "-dynamiclib")
36@@ -1138,6 +1140,7 @@ func (l *Link) hostlink() {
37 argv = append(argv, "-Wl,-z,relro")
38 }
39 argv = append(argv, "-shared")
40+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
41 }
42 }
43
44--
452.7.4
46
diff --git a/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch b/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch
deleted file mode 100644
index 0977c78350..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 03e6c339d4fb712fbb8c4ca6ef2fc7100dcdb3d7 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Thu, 14 Sep 2017 05:38:10 -0700
4Subject: [PATCH 8/8] make.bash: add GOHOSTxx indirection for cross-canadian
5 builds
6
7Add environment variables for specifying the host OS/arch
8that we are building the compiler for, so it can differ from
9the build host OS/arch.
10
11Upstream-Status: Pending
12
13Signed-off-by: Matt Madison <matt@madison.systems>
14---
15 src/make.bash | 2 ++
16 1 file changed, 2 insertions(+)
17
18diff --git a/src/make.bash b/src/make.bash
19index 2e6fb05..0bdadc6 100755
20--- a/src/make.bash
21+++ b/src/make.bash
22@@ -173,6 +173,8 @@ if [ "$do_host_build" = "yes" ]; then
23 echo
24
25 GOTOOLDIR_BOOTSTRAP="${GOTOOLDIR_BOOTSTRAP:-$GOTOOLDIR}"
26+ GOHOSTOS="${GOHOSTOS_CROSS:-$GOHOSTOS}"
27+ GOHOSTARCH="${GOHOSTARCH_CROSS:-$GOHOSTARCH}"
28 echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
29 # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
30 # use the host compiler, CC, from `cmd/dist/dist env` instead.
31--
322.7.4
33
diff --git a/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch b/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch
deleted file mode 100644
index aa5fcfdd23..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From aae44527c8065d54f6acaf87c82cba1ac96fae59 Mon Sep 17 00:00:00 2001
2From: Ian Lance Taylor <iant@golang.org>
3Date: Fri, 18 Aug 2017 17:46:03 -0700
4Subject: [PATCH] cmd/go: -buildmode=pie forces external linking mode on all
5 systems
6
7The go tool assumed that -buildmode=pie implied internal linking on
8linux-amd64. However, that was changed by CL 36417 for issue #18968.
9
10Fixes #21452
11
12Change-Id: I8ed13aea52959cc5c53223f4c41ba35329445545
13Reviewed-on: https://go-review.googlesource.com/57231
14Run-TryBot: Ian Lance Taylor <iant@golang.org>
15TryBot-Result: Gobot Gobot <gobot@golang.org>
16Reviewed-by: Avelino <t@avelino.xxx>
17Reviewed-by: Rob Pike <r@golang.org>
18---
19Upstream-Status: Backport
20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21
22 src/cmd/go/internal/load/pkg.go | 7 ++++---
23 1 file changed, 4 insertions(+), 3 deletions(-)
24
25diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
26index 2660d3f..d40773b 100644
27--- a/src/cmd/go/internal/load/pkg.go
28+++ b/src/cmd/go/internal/load/pkg.go
29@@ -954,11 +954,12 @@ func (p *Package) load(stk *ImportStack, bp *build.Package, err error) *Package
30
31 if cfg.BuildContext.CgoEnabled && p.Name == "main" && !p.Goroot {
32 // Currently build modes c-shared, pie (on systems that do not
33- // support PIE with internal linking mode), plugin, and
34- // -linkshared force external linking mode, as of course does
35+ // support PIE with internal linking mode (currently all
36+ // systems: issue #18968)), plugin, and -linkshared force
37+ // external linking mode, as of course does
38 // -ldflags=-linkmode=external. External linking mode forces
39 // an import of runtime/cgo.
40- pieCgo := cfg.BuildBuildmode == "pie" && (cfg.BuildContext.GOOS != "linux" || cfg.BuildContext.GOARCH != "amd64")
41+ pieCgo := cfg.BuildBuildmode == "pie"
42 linkmodeExternal := false
43 for i, a := range cfg.BuildLdflags {
44 if a == "-linkmode=external" {
45--
462.14.1
47
diff --git a/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch b/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch
deleted file mode 100644
index 83fd78c3d7..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 21d83dd9499e5be30eea28dd7034d1ea2a01c838 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Tue, 14 Nov 2017 07:38:42 -0800
4Subject: [PATCH 10/10] make.bash: override CC when building dist and
5 go_bootstrap
6
7For cross-canadian builds, dist and go_bootstrap
8run on the build host, so CC needs to point to the
9build host's C compiler. Add a BUILD_CC environment
10for this, falling back to $CC if not present.
11
12Upstream-Status: Pending
13
14Signed-off-by: Matt Madison <matt@madison.systems>
15---
16 src/make.bash | 4 ++--
17 1 file changed, 2 insertions(+), 2 deletions(-)
18
19diff --git a/src/make.bash b/src/make.bash
20index 0bdadc6..f199349 100755
21--- a/src/make.bash
22+++ b/src/make.bash
23@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
24 exit 1
25 fi
26 rm -f cmd/dist/dist
27-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
28+CC=${BUILD_CC:-${CC}} GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
29
30 # -e doesn't propagate out of eval, so check success by hand.
31 eval $(./cmd/dist/dist env -p || echo FAIL=true)
32@@ -167,7 +167,7 @@ elif [ "$1" = "--host-only" ]; then
33 fi
34
35 if [ "$do_host_build" = "yes" ]; then
36- ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
37+ CC=${BUILD_CC:-${CC}} ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
38 # Delay move of dist tool to now, because bootstrap may clear tool directory.
39 mv cmd/dist/dist "$GOTOOLDIR"/dist
40 echo
41--
422.7.4
43
diff --git a/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch b/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch
deleted file mode 100644
index da93dc5c14..0000000000
--- a/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From b928fafab1d9425aae9341806bd2f6178ba1da1f Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Fri, 26 Oct 2018 16:32:50 +0800
4Subject: [PATCH] use GOBUILDMODE to set buildmode
5
6While building go itself, the go build system does not support
7to set `-buildmode=pie' from environment.
8
9Add GOBUILDMODE to support it which make PIE executables the default
10build mode, as PIE executables are required as of Yocto
11
12Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI
13Upstream-Status: Denied [upstream choose antoher solution: `17a256b
14cmd/go: -buildmode=pie for android/arm']
15
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
17---
18 src/cmd/go/internal/work/build.go | 6 +++++-
19 1 file changed, 5 insertions(+), 1 deletion(-)
20
21diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
22index b276de5..1683e7e 100644
23--- a/src/cmd/go/internal/work/build.go
24+++ b/src/cmd/go/internal/work/build.go
25@@ -211,7 +211,11 @@ func AddBuildFlags(cmd *base.Command) {
26
27 cmd.Flag.Var((*base.StringsFlag)(&buildAsmflags), "asmflags", "")
28 cmd.Flag.Var(buildCompiler{}, "compiler", "")
29- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
30+ if bm := os.Getenv("GOBUILDMODE"); bm != "" {
31+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "")
32+ } else {
33+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
34+ }
35 cmd.Flag.Var((*base.StringsFlag)(&buildGcflags), "gcflags", "")
36 cmd.Flag.Var((*base.StringsFlag)(&buildGccgoflags), "gccgoflags", "")
37 cmd.Flag.StringVar(&cfg.BuildContext.InstallSuffix, "installsuffix", "", "")
38--
392.7.4
40
diff --git a/meta/recipes-devtools/go/go-1.9/set-external-linker.patch b/meta/recipes-devtools/go/go-1.9/set-external-linker.patch
deleted file mode 100644
index d6bd7fa39c..0000000000
--- a/meta/recipes-devtools/go/go-1.9/set-external-linker.patch
+++ /dev/null
@@ -1,111 +0,0 @@
1Change the dynamic linker hardcoding to use musl when not using glibc
2this should be applied conditional to musl being the system C library
3
4Upstream-Status: Inappropriate [Real Fix should be portable across libcs]
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Index: go/src/cmd/link/internal/amd64/obj.go
9===================================================================
10--- go.orig/src/cmd/link/internal/amd64/obj.go
11+++ go/src/cmd/link/internal/amd64/obj.go
12@@ -67,7 +67,7 @@ func Init() {
13 ld.Thearch.Append64 = ld.Append64l
14 ld.Thearch.TLSIEtoLE = tlsIEtoLE
15
16- ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2"
17+ ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1"
18 ld.Thearch.Freebsddynld = "/libexec/ld-elf.so.1"
19 ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
20 ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
21Index: go/src/cmd/link/internal/arm/obj.go
22===================================================================
23--- go.orig/src/cmd/link/internal/arm/obj.go
24+++ go/src/cmd/link/internal/arm/obj.go
25@@ -63,7 +63,7 @@ func Init() {
26 ld.Thearch.Append32 = ld.Append32l
27 ld.Thearch.Append64 = ld.Append64l
28
29- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.3" // 2 for OABI, 3 for EABI
30+ ld.Thearch.Linuxdynld = "/lib/ld-musl-armhf.so.1"
31 ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
32 ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
33 ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
34Index: go/src/cmd/link/internal/arm64/obj.go
35===================================================================
36--- go.orig/src/cmd/link/internal/arm64/obj.go
37+++ go/src/cmd/link/internal/arm64/obj.go
38@@ -62,7 +62,7 @@ func Init() {
39 ld.Thearch.Append32 = ld.Append32l
40 ld.Thearch.Append64 = ld.Append64l
41
42- ld.Thearch.Linuxdynld = "/lib/ld-linux-aarch64.so.1"
43+ ld.Thearch.Linuxdynld = "/lib/ld-musl-aarch64.so.1"
44
45 ld.Thearch.Freebsddynld = "XXX"
46 ld.Thearch.Openbsddynld = "XXX"
47Index: go/src/cmd/link/internal/mips/obj.go
48===================================================================
49--- go.orig/src/cmd/link/internal/mips/obj.go
50+++ go/src/cmd/link/internal/mips/obj.go
51@@ -77,7 +77,7 @@ func Init() {
52 ld.Thearch.Append64 = ld.Append64b
53 }
54
55- ld.Thearch.Linuxdynld = "/lib/ld.so.1"
56+ ld.Thearch.Linuxdynld = "/lib/ld-musl-mipsle.so.1"
57
58 ld.Thearch.Freebsddynld = "XXX"
59 ld.Thearch.Openbsddynld = "XXX"
60Index: go/src/cmd/link/internal/mips64/obj.go
61===================================================================
62--- go.orig/src/cmd/link/internal/mips64/obj.go
63+++ go/src/cmd/link/internal/mips64/obj.go
64@@ -75,7 +75,7 @@ func Init() {
65 ld.Thearch.Append64 = ld.Append64b
66 }
67
68- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
69+ ld.Thearch.Linuxdynld = "/lib64/ld-musl-mips64le.so.1"
70
71 ld.Thearch.Freebsddynld = "XXX"
72 ld.Thearch.Openbsddynld = "XXX"
73Index: go/src/cmd/link/internal/ppc64/obj.go
74===================================================================
75--- go.orig/src/cmd/link/internal/ppc64/obj.go
76+++ go/src/cmd/link/internal/ppc64/obj.go
77@@ -77,7 +77,7 @@ func Init() {
78 }
79
80 // TODO(austin): ABI v1 uses /usr/lib/ld.so.1
81- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
82+ ld.Thearch.Linuxdynld = "/lib/ld-musl-powerpc64le.so.1"
83
84 ld.Thearch.Freebsddynld = "XXX"
85 ld.Thearch.Openbsddynld = "XXX"
86Index: go/src/cmd/link/internal/s390x/obj.go
87===================================================================
88--- go.orig/src/cmd/link/internal/s390x/obj.go
89+++ go/src/cmd/link/internal/s390x/obj.go
90@@ -62,7 +62,7 @@ func Init() {
91 ld.Thearch.Append32 = ld.Append32b
92 ld.Thearch.Append64 = ld.Append64b
93
94- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
95+ ld.Thearch.Linuxdynld = "/lib/ld-musl-s390x.so.1"
96
97 // not relevant for s390x
98 ld.Thearch.Freebsddynld = "XXX"
99Index: go/src/cmd/link/internal/x86/obj.go
100===================================================================
101--- go.orig/src/cmd/link/internal/x86/obj.go
102+++ go/src/cmd/link/internal/x86/obj.go
103@@ -63,7 +63,7 @@ func Init() {
104 ld.Thearch.Append32 = ld.Append32l
105 ld.Thearch.Append64 = ld.Append64l
106
107- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.2"
108+ ld.Thearch.Linuxdynld = "/lib/ld-musl-i386.so.1"
109 ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
110 ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
111 ld.Thearch.Netbsddynld = "/usr/libexec/ld.elf_so"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.9.bb b/meta/recipes-devtools/go/go-cross-canadian_1.9.bb
deleted file mode 100644
index 367a967056..0000000000
--- a/meta/recipes-devtools/go/go-cross-canadian_1.9.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1require go-cross-canadian.inc
2require go-${PV}.inc
3
4export GOHOSTOS_CROSS = "${HOST_GOOS}"
5export GOHOSTARCH_CROSS = "${HOST_GOARCH}"
6export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
7export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
8
9do_compile_prepend() {
10 export GOBIN="${B}/bin"
11 export TMPDIR="$GOTMPDIR"
12}
diff --git a/meta/recipes-devtools/go/go-cross_1.9.bb b/meta/recipes-devtools/go/go-cross_1.9.bb
deleted file mode 100644
index 4739c7d5c4..0000000000
--- a/meta/recipes-devtools/go/go-cross_1.9.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require go-cross.inc
2require go-${PV}.inc
3
4export CC_FOR_TARGET = "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
5export CXX_FOR_TARGET = "${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
6
7do_compile_prepend() {
8 export GOBIN="${B}/bin"
9 export TMPDIR="$GOTMPDIR"
10}
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.9.bb b/meta/recipes-devtools/go/go-crosssdk_1.9.bb
deleted file mode 100644
index 3ac629bd41..0000000000
--- a/meta/recipes-devtools/go/go-crosssdk_1.9.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1require go-crosssdk.inc
2require go-${PV}.inc
3
4export CC_FOR_TARGET = "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
5export CXX_FOR_TARGET = "${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
6export GO_INSTALL = "cmd"
7
8do_compile_prepend() {
9 export GOBIN="${B}/bin"
10 export TMPDIR="$GOTMPDIR"
11}
diff --git a/meta/recipes-devtools/go/go-native_1.9.bb b/meta/recipes-devtools/go/go-native_1.9.bb
deleted file mode 100644
index 8621e1df32..0000000000
--- a/meta/recipes-devtools/go/go-native_1.9.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require ${PN}.inc
2require go-${PV}.inc
3
4GOMAKEARGS = "--host-only --no-banner"
diff --git a/meta/recipes-devtools/go/go-runtime_1.9.bb b/meta/recipes-devtools/go/go-runtime_1.9.bb
deleted file mode 100644
index d5279ea897..0000000000
--- a/meta/recipes-devtools/go/go-runtime_1.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1require go-${PV}.inc
2require go-runtime.inc
3
4export GO_TARGET_INSTALL = "std"
5export CC_FOR_TARGET = "${CC}"
6export CXX_FOR_TARGET = "${CXX}"
7
8do_compile() {
9 export GOBIN="${B}/bin"
10 export TMPDIR="$GOTMPDIR"
11 export CC=$BUILD_CC
12
13 cd src
14 CGO_CFLAGS="${BUILD_CFLAGS}" CGO_LDFLAGS="${BUILD_LDFLAGS}" ./make.bash --host-only
15 cp ${B}/pkg/tool/${BUILD_GOTUPLE}/go_bootstrap ${B}
16 rm -rf ${B}/pkg/${TARGET_GOTUPLE}
17 ./make.bash --target-only
18 if [ -n "${GO_DYNLINK}" ]; then
19 cp ${B}/go_bootstrap ${B}/pkg/tool/${BUILD_GOTUPLE}
20 GO_FLAGS="-buildmode=shared" GO_LDFLAGS="-extldflags \"${LDFLAGS}\"" ./make.bash --target-only
21 fi
22 cd ${B}
23}
diff --git a/meta/recipes-devtools/go/go_1.9.bb b/meta/recipes-devtools/go/go_1.9.bb
deleted file mode 100644
index c23ea0c1ae..0000000000
--- a/meta/recipes-devtools/go/go_1.9.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1require go-${PV}.inc
2require go-target.inc
3
4export GO_TARGET_INSTALL = "cmd"
5export GO_FLAGS = "-a"
6export CC_FOR_TARGET = "${CC}"
7export CXX_FOR_TARGET = "${CXX}"
8export GOBUILDMODE=""
9
10do_compile() {
11 export GOBIN="${B}/bin"
12 export TMPDIR="$GOTMPDIR"
13 export CC=$BUILD_CC
14
15 cd src
16 ./make.bash
17 cd ${B}
18}
19
20# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips
21# doesn't support -buildmode=pie, so skip the QA checking for mips and its
22# variants.
23python() {
24 if 'mips' in d.getVar('TARGET_ARCH'):
25 d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
26 else:
27 d.setVar('GOBUILDMODE', 'pie')
28}