All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amy Fong <amy.fong@windriver.com>
To: meta-virtualization@yoctoproject.org
Subject: [PATCH 1/5] Add golang-cross
Date: Fri, 27 Feb 2015 16:40:33 -0500	[thread overview]
Message-ID: <20150227214033.GA2255@windriver.com> (raw)
In-Reply-To: <20150227214013.GA2160@windriver.com>

From a3a4b6a7595215b69f6e7f30cd010ab19b1ab54c Mon Sep 17 00:00:00 2001
From: Amy Fong <amy.fong@windriver.com>
Date: Fri, 27 Feb 2015 15:58:44 -0500
Subject: [PATCH 1/5] Add golang-cross

This package is derived from meta-golang:
https://github.com/digitallumens/meta-golang.git
commit 3fa6c8af6b4762de2f4e6740e327a5a71c29e6e1

In the meta-golang version, golang depends on a gcc-cross that causes
conflicts with our toolchain. So the golang-cross recipe was extracted
and then the following changes were made to work in wrlinux:

- our TARGET_ARCH is x86-64, golang-cross wants amd64

- in the former recipe, compile fails because it can't find header files
  and libraries because --sysroot is dropped. So I redefined the target
  cc and target cxx as cc and cxx at the start of the compile rule since
  cc gets redefined in there somewhere.

Signed-off-by: Amy Fong <amy.fong@windriver.com>
---
 recipes-devtools/go/golang-1.3.inc      |  4 +++
 recipes-devtools/go/golang-cross.inc    | 56 +++++++++++++++++++++++++++++++++
 recipes-devtools/go/golang-cross_1.3.bb |  3 ++
 3 files changed, 63 insertions(+)
 create mode 100644 recipes-devtools/go/golang-1.3.inc
 create mode 100644 recipes-devtools/go/golang-cross.inc
 create mode 100644 recipes-devtools/go/golang-cross_1.3.bb

diff --git a/recipes-devtools/go/golang-1.3.inc b/recipes-devtools/go/golang-1.3.inc
new file mode 100644
index 0000000..5c507b4
--- /dev/null
+++ b/recipes-devtools/go/golang-1.3.inc
@@ -0,0 +1,4 @@
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=591778525c869cdde0ab5a1bf283cd81"
+SRC_URI[md5sum] = "4b66d7249554181c314f139ea78920b1"
+SRC_URI[sha256sum] = "eb983e6c5b2b9838f482c5442b1ac1856f610f2b21f3c123b3fedb48ffc35382"
diff --git a/recipes-devtools/go/golang-cross.inc b/recipes-devtools/go/golang-cross.inc
new file mode 100644
index 0000000..9330572
--- /dev/null
+++ b/recipes-devtools/go/golang-cross.inc
@@ -0,0 +1,56 @@
+DESCRIPTION = "Go Programming Language Cross Compiler."
+HOMEPAGE = "golang.org"
+# DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc"
+DEPENDS = "libgcc"
+PROVIDES = "virtual/${TARGET_PREFIX}golang"
+SRC_URI = "http://golang.org/dl/go${PV}.src.tar.gz"
+S="${WORKDIR}/go"
+
+do_compile () {
+	export CC_FOR_TARGET="${CC}"
+	export CXX_FOR_TARGET="${CXX}"
+	# the above should set the right sysroot option, else...:
+	# export CGO_CFLAGS="--sysroot=${STAGING_DIR_HOST}"
+	# export CGO_LDFLAGS="--sysroot=${STAGING_DIR_HOST}"
+
+	export CC="${BUILD_CC}"
+	export GOROOT_FINAL="${libdir}/go"
+	export GOARCH="${TARGET_ARCH}"
+
+	# supported amd64, 386, arm
+	if [ "${TARGET_ARCH}" = "x86_64" ]; then
+		export GOARCH="amd64"
+	fi
+
+	if [ "${TARGET_ARCH}" = "arm" ]
+	then
+		if [ `echo ${TUNE_PKGARCH} | cut -c 1-7` = "cortexa" ]
+		then
+			echo GOARM 7
+			export GOARM="7"
+		fi
+	fi
+	export GOOS="linux"
+	export GO_GCFLAGS=""
+	export GO_LDFLAGS=""
+	export GO_CCFLAGS=""
+	export CGO_ENABLED="1"
+	#export CC_FOR_TARGET="${TARGET_SYS}-gcc"
+	#export CXX_FOR_TARGET="${TARGET_SYS}-g++"
+	echo GOARCH ${GOARCH}
+	echo CC_FOR_TARGET ${CC_FOR_TARGET}
+
+	cd src
+	sh -x ./make.bash
+}
+
+do_install () {
+	# Install the executables into build system
+	mkdir -p ${D}${bindir}
+	cp -a bin/go ${D}${bindir}/
+	mkdir -p ${D}${libdir}/go
+	cp -a pkg ${D}${libdir}/go/
+	cp -a include ${D}${libdir}/go/
+	cp -a api ${D}${libdir}/go/
+	cp -a src ${D}${libdir}/go/
+}
diff --git a/recipes-devtools/go/golang-cross_1.3.bb b/recipes-devtools/go/golang-cross_1.3.bb
new file mode 100644
index 0000000..8813298
--- /dev/null
+++ b/recipes-devtools/go/golang-cross_1.3.bb
@@ -0,0 +1,3 @@
+inherit cross
+require golang-cross.inc
+require golang-${PV}.inc
-- 
2.1.4



  reply	other threads:[~2015-02-27 21:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-27 21:40 [PATCH 0/5] Package docker + docker-registry Amy Fong
2015-02-27 21:40 ` Amy Fong [this message]
2015-02-27 21:41 ` [PATCH 3/5] Package docker-registry Amy Fong
2015-02-27 21:41 ` [PATCH 4/5] Add cgroup-lite Amy Fong
2015-02-27 21:41 ` [PATCH 5/5] Add python packages needed for docker-registry Amy Fong
2015-03-01  4:36 ` [PATCH 2/5] Package docker Amy Fong
2015-03-02 20:40 ` [PATCH 0/5] Package docker + docker-registry Bruce Ashfield
2015-03-09 18:33   ` Amy Fong
2015-03-11 18:39     ` M. Asselstine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150227214033.GA2255@windriver.com \
    --to=amy.fong@windriver.com \
    --cc=meta-virtualization@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.