1*4882a593SmuzhiyunDEPENDS = "virtual/${TUNE_PKGARCH}-go go-native" 2*4882a593SmuzhiyunDEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native" 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunDEBUG_PREFIX_MAP = "\ 5*4882a593Smuzhiyun -fdebug-prefix-map=${STAGING_DIR_HOST}= \ 6*4882a593Smuzhiyun -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ 7*4882a593Smuzhiyun" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunexport CGO_CFLAGS = "${CFLAGS}" 10*4882a593Smuzhiyunexport CGO_CPPFLAGS = "${CPPFLAGS}" 11*4882a593Smuzhiyunexport CGO_CXXFLAGS = "${CXXFLAGS}" 12*4882a593Smuzhiyun# Filter out -fdebug-prefix-map options as they clash with the GO's build system 13*4882a593Smuzhiyunexport CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunexport GOCACHE = "${B}/.cache" 16*4882a593SmuzhiyunGO_LDFLAGS = "" 17*4882a593SmuzhiyunGO_LDFLAGS:class-nativesdk = "-linkmode external" 18*4882a593Smuzhiyunexport GO_LDFLAGS 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunCC:append:class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}" 21*4882a593Smuzhiyun 22*4882a593Smuzhiyundo_configure[noexec] = "1" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyundo_compile() { 25*4882a593Smuzhiyun export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CC}" 26*4882a593Smuzhiyun export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CXX}" 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun cd src 29*4882a593Smuzhiyun ./make.bash --target-only --no-banner 30*4882a593Smuzhiyun cd ${B} 31*4882a593Smuzhiyun} 32*4882a593Smuzhiyundo_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg" 33*4882a593Smuzhiyun 34*4882a593Smuzhiyundo_install() { 35*4882a593Smuzhiyun install -d ${D}${libdir}/go/pkg/tool 36*4882a593Smuzhiyun cp --preserve=mode,timestamps -R ${B}/pkg/tool/${TARGET_GOTUPLE} ${D}${libdir}/go/pkg/tool/ 37*4882a593Smuzhiyun install -d ${D}${libdir}/go/src 38*4882a593Smuzhiyun cp --preserve=mode,timestamps -R ${S}/src/cmd ${D}${libdir}/go/src/ 39*4882a593Smuzhiyun find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; 40*4882a593Smuzhiyun install -d ${D}${libdir}/go/bin 41*4882a593Smuzhiyun install -d ${D}${bindir} 42*4882a593Smuzhiyun for f in ${B}/${GO_BUILD_BINDIR}/*; do 43*4882a593Smuzhiyun name=`basename $f` 44*4882a593Smuzhiyun install -m 0755 $f ${D}${libdir}/go/bin/ 45*4882a593Smuzhiyun ln -sf ../${baselib}/go/bin/$name ${D}${bindir}/ 46*4882a593Smuzhiyun done 47*4882a593Smuzhiyun rm -rf ${D}${libdir}/go/src 48*4882a593Smuzhiyun} 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunPACKAGES = "${PN} ${PN}-dev" 51*4882a593SmuzhiyunFILES:${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}" 52*4882a593SmuzhiyunRDEPENDS:${PN} = "go-runtime" 53*4882a593SmuzhiyunINSANE_SKIP:${PN} = "ldflags" 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunBBCLASSEXTEND = "nativesdk" 56