xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/go/go-crosssdk.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1inherit crosssdk
2
3DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils-crosssdk"
4PN = "go-crosssdk-${SDK_SYS}"
5PROVIDES = "virtual/${TARGET_PREFIX}go-crosssdk"
6
7export GOCACHE = "${B}/.cache"
8
9do_configure[noexec] = "1"
10
11do_compile() {
12	export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
13	export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
14	cd src
15	./make.bash --host-only --no-banner
16	cd ${B}
17}
18do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
19
20make_wrapper() {
21    rm -f ${D}${bindir}/$2
22    cat <<END >${D}${bindir}/$2
23#!/bin/bash
24here=\`dirname \$0\`
25export GOARCH="${TARGET_GOARCH}"
26export GOOS="${TARGET_GOOS}"
27\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@"
28END
29    chmod +x ${D}${bindir}/$2
30}
31
32do_install() {
33	install -d ${D}${libdir}/go
34	install -d ${D}${libdir}/go/bin
35	install -d ${D}${libdir}/go/pkg/tool
36	install -d ${D}${bindir}
37	cp --preserve=mode,timestamps -R ${S}/pkg/tool/${BUILD_GOTUPLE} ${D}${libdir}/go/pkg/tool/
38	for f in ${B}/bin/*
39	do
40		base=`basename $f`
41		install -m755 $f ${D}${libdir}/go/bin
42		make_wrapper $base ${TARGET_PREFIX}$base
43	done
44}
45