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