blob: f0bec7971903f87c5cf039284a1315aaabc187ab [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001inherit crosssdk
2
3DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils-crosssdk"
Brad Bishop19323692019-04-05 15:28:33 -04004PN = "go-crosssdk-${SDK_SYS}"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05005PROVIDES = "virtual/${TARGET_PREFIX}go-crosssdk"
6
Brad Bishopd7bf8c12018-02-25 22:55:05 -05007do_configure[noexec] = "1"
8
9do_compile() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050010 export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
11 export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050012 cd src
Brad Bishop316dfdd2018-06-25 12:45:53 -040013 ./make.bash --host-only --no-banner
Brad Bishopd7bf8c12018-02-25 22:55:05 -050014 cd ${B}
15}
Brad Bishop316dfdd2018-06-25 12:45:53 -040016do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
17do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050018
19make_wrapper() {
20 rm -f ${D}${bindir}/$2
21 cat <<END >${D}${bindir}/$2
22#!/bin/bash
23here=\`dirname \$0\`
24export GOARCH="${TARGET_GOARCH}"
25export GOOS="${TARGET_GOOS}"
26\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@"
27END
28 chmod +x ${D}${bindir}/$2
29}
30
31do_install() {
32 install -d ${D}${libdir}/go
33 install -d ${D}${libdir}/go/bin
34 install -d ${D}${libdir}/go/pkg/tool
35 install -d ${D}${bindir}
36 cp --preserve=mode,timestamps -R ${S}/pkg/tool/${BUILD_GOTUPLE} ${D}${libdir}/go/pkg/tool/
37 for f in ${B}/bin/*
38 do
39 base=`basename $f`
40 install -m755 $f ${D}${libdir}/go/bin
41 make_wrapper $base ${TARGET_PREFIX}$base
42 done
43}