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