Skip to contentSkip to conversation

Enable go on musl and add native version for 1.8

PATCH New Khem Raj 1 participant 3 messages Mar 13, 2017

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover Enable go on musl and add native version for 1.8

The following changes since commit 86b09a7ed67a43a45c805f44778bed0bfdf57361:

u-boot: add option to specify FDT argument in extlinux.conf (2017-03-13 09:43:08 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/go
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=kraj/go

Khem Raj (2):
go: Enable on musl
go: add native recipes for 1.8

 meta/classes/go.bbclass                                  |  2 --
 meta/recipes-devtools/go/go-bootstrap-native_1.4.bb      |  3 +++
 meta/recipes-devtools/go/go-cross.inc                    |  2 --
 meta/recipes-devtools/go/go-native.inc                   | 16 +++++++++-------
 .../go/{go-native_1.4.bb => go-native_1.8.bb}            |  1 +
 meta/recipes-devtools/go/go.inc                          |  6 ++----
 6 files changed, 15 insertions(+), 15 deletions(-)
 create mode 100644 meta/recipes-devtools/go/go-bootstrap-native_1.4.bb
 rename meta/recipes-devtools/go/{go-native_1.4.bb => go-native_1.8.bb} (54%)
Signature · 1 line
2.12.0
author
#1 lore raw

PATCH 1/2 go: Enable on musl

Working fine for musl targets now

---
 meta/classes/go.bbclass               | 2 --
 meta/recipes-devtools/go/go-cross.inc | 2 --
 meta/recipes-devtools/go/go.inc       | 2 --
 3 files changed, 6 deletions(-)
meta/classes/go.bbclass +0 -2
index f1984604b0..42bbd73cf8 100644
@@ -1,7 +1,5 @@
 inherit goarch
 
-# Incompatible with musl, at least for now
-COMPATIBLE_HOST_libc-musl_class-target = "null"
 # x32 ABI is not supported on go compiler so far
 COMPATIBLE_HOST_linux-gnux32 = "null"
 # ppc32 is not supported in go compilers
meta/recipes-devtools/go/go-cross.inc +0 -2
index 054ce501bd..68f5efd6c0 100644
@@ -9,8 +9,6 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/go-cross:"
 GOROOT_FINAL = "${libdir}/go"
 export GOROOT_FINAL
 
-# Incompatible with musl, at least for now
-COMPATIBLE_HOST_libc-musl_class-target = "null"
 # x32 ABI is not supported on go compiler so far
 COMPATIBLE_HOST_linux-gnux32 = "null"
 # ppc32 is not supported in go compilers
meta/recipes-devtools/go/go.inc +0 -2
index 0c315afe06..1c94fc9c34 100644
@@ -5,8 +5,6 @@ DEPENDS += " go-native libgcc"
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_SYSROOT_STRIP = "1"
 
-# Incompatible with musl, at least for now
-COMPATIBLE_HOST_libc-musl_class-target = "null"
 # x32 ABI is not supported on go compiler so far
 COMPATIBLE_HOST_linux-gnux32 = "null"
 # ppc32 is not supported in go compilers
Signature · 1 line
2.12.0
author
#2 lore raw

PATCH 2/2 go: add native recipes for 1.8

In reply to Khem Raj
---
 meta/recipes-devtools/go/go-bootstrap-native_1.4.bb      |  3 +++
 meta/recipes-devtools/go/go-native.inc                   | 16 +++++++++-------
 .../go/{go-native_1.4.bb => go-native_1.8.bb}            |  1 +
 meta/recipes-devtools/go/go.inc                          |  4 ++--
 4 files changed, 15 insertions(+), 9 deletions(-)
 create mode 100644 meta/recipes-devtools/go/go-bootstrap-native_1.4.bb
 rename meta/recipes-devtools/go/{go-native_1.4.bb => go-native_1.8.bb} (54%)
meta/recipes-devtools/go/go-bootstrap-native_1.4.bb new file +3 -0
new file mode 100644
index 0000000000..3d4141e879
@@ -0,0 +1,3 @@
+BOOTSTRAP = "1.4"
+require go-native.inc
+require go-${PV}.inc
meta/recipes-devtools/go/go-native.inc +9 -7
index 89bc63459d..c1ada5121a 100644
@@ -1,8 +1,10 @@
 inherit native
 
+BOOTSTRAP ?= ""
 export GOOS = "${BUILD_GOOS}"
 export GOARCH = "${BUILD_GOARCH}"
-export GOROOT_FINAL = "${STAGING_LIBDIR_NATIVE}/go"
+export GOROOT_FINAL = "${STAGING_LIBDIR_NATIVE}/go${BOOTSTRAP}"
+export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go1.4"
 export CGO_ENABLED = "1"
 
 do_configure[noexec] = "1"
@@ -31,18 +33,18 @@ END
 }
 
 do_install() {
-	install -d ${D}${libdir}/go
-	cp -a ${B}/pkg ${D}${libdir}/go/
-	install -d ${D}${libdir}/go/src
+	install -d ${D}${libdir}/go${BOOTSTRAP}
+	cp -a ${B}/pkg ${D}${libdir}/go${BOOTSTRAP}/
+	install -d ${D}${libdir}/go${BOOTSTRAP}/src
 	(cd ${S}/src; for d in *; do \
-		[ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
+		[ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go${BOOTSTRAP}/src/; \
 	done)
 
-	install -d ${D}${bindir} ${D}${libdir}/go/bin
+	install -d ${D}${bindir} ${D}${libdir}/go${BOOTSTRAP}/bin
 	for f in ${B}/bin/*
 	do
 		base=`basename $f`
-		install -m755 $f ${D}${libdir}/go/bin
+		install -m755 $f ${D}${libdir}/go${BOOTSTRAP}/bin
 		make_wrapper $base $base
 	done
 }
meta/recipes-devtools/go/go-native_1.8.bb renamed from meta/recipes-devtools/go/go-native_1.4.bb +1 -0
similarity index 54%
rename from meta/recipes-devtools/go/go-native_1.4.bb
rename to meta/recipes-devtools/go/go-native_1.8.bb
index bbf3c0dd73..182fca27a0 100644
@@ -1,2 +1,3 @@
 require ${PN}.inc
 require go-${PV}.inc
+DEPENDS += "go-bootstrap-native"
meta/recipes-devtools/go/go.inc +2 -2
index 1c94fc9c34..0b0cbf19ad 100644
@@ -1,6 +1,6 @@
 inherit goarch
 # libgcc is required for the target specific libraries to build properly
-DEPENDS += " go-native libgcc"
+DEPENDS += "go-bootstrap-native libgcc"
 # Prevent runstrip from running because you get errors when the host arch != target arch
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_SYSROOT_STRIP = "1"
@@ -15,7 +15,7 @@ export GOHOSTARCH = "${BUILD_GOARCH}"
 export GOOS = "${TARGET_GOOS}"
 export GOARCH = "${TARGET_GOARCH}"
 export GOARM = "${TARGET_GOARM}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
+export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go1.4"
 export GOROOT_FINAL = "${libdir}/go"
 export CGO_ENABLED = "1"
 export CC_FOR_TARGET = "${CC}"
Signature · 1 line
2.12.0