mirror of
https://git.yoctoproject.org/poky
synced 2026-02-15 21:23:04 +01:00
There is little point in having "crosssdk" suffex added to the virtual provider within gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it allowing some of the special case overriding to be removed. This also allows removal of some of the MLPREFIX usage since again, the triplet also covers this. (From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
56 lines
1.8 KiB
PHP
56 lines
1.8 KiB
PHP
DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
|
|
DEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go go-native"
|
|
|
|
DEBUG_PREFIX_MAP = "\
|
|
-fdebug-prefix-map=${STAGING_DIR_HOST}= \
|
|
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
|
|
"
|
|
|
|
export CGO_CFLAGS = "${CFLAGS}"
|
|
export CGO_CPPFLAGS = "${CPPFLAGS}"
|
|
export CGO_CXXFLAGS = "${CXXFLAGS}"
|
|
# Filter out -fdebug-prefix-map options as they clash with the GO's build system
|
|
export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
|
|
|
|
export GOCACHE = "${B}/.cache"
|
|
GO_LDFLAGS = ""
|
|
GO_LDFLAGS:class-nativesdk = " -linkmode external"
|
|
export GO_LDFLAGS
|
|
export GOBUILDFLAGS = "-gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -trimpath"
|
|
CC:append:class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
|
|
|
|
do_configure[noexec] = "1"
|
|
|
|
do_compile() {
|
|
export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CC}"
|
|
export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CXX}"
|
|
|
|
cd src
|
|
./make.bash --target-only --no-banner
|
|
cd ${B}
|
|
}
|
|
do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
|
|
|
|
do_install() {
|
|
install -d ${D}${libdir}/go/pkg/tool
|
|
cp --preserve=mode,timestamps -R ${B}/pkg/tool/${TARGET_GOTUPLE} ${D}${libdir}/go/pkg/tool/
|
|
install -d ${D}${libdir}/go/src
|
|
cp --preserve=mode,timestamps -R ${S}/src/cmd ${D}${libdir}/go/src/
|
|
find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
|
|
install -d ${D}${libdir}/go/bin
|
|
install -d ${D}${bindir}
|
|
for f in ${B}/${GO_BUILD_BINDIR}/*; do
|
|
name=`basename $f`
|
|
install -m 0755 $f ${D}${libdir}/go/bin/
|
|
ln -sf ../${baselib}/go/bin/$name ${D}${bindir}/
|
|
done
|
|
rm -rf ${D}${libdir}/go/src
|
|
}
|
|
|
|
PACKAGES = "${PN} ${PN}-dev"
|
|
FILES:${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
|
|
RDEPENDS:${PN} = "go-runtime"
|
|
INSANE_SKIP:${PN} = "ldflags"
|
|
|
|
BBCLASSEXTEND = "nativesdk"
|