mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 18:32:12 +02:00
go: Extract common environment setup.
Add default values for go environment variables to go-common.inc. Override where appropriate in other go*.inc files, and use host/target tuples from goarch for setting CC flags. (From OE-Core rev: 1e3f040b1f68fa1f808851ecd9623544e935e9ad) Signed-off-by: Alex Kube <alexander.j.kube@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0dd3a42c3d
commit
d4aa199836
@@ -27,6 +27,16 @@ export GOTMPDIR ?= "${WORKDIR}/go-tmp"
|
||||
GOTMPDIR[vardepvalue] = ""
|
||||
export CGO_ENABLED = "1"
|
||||
|
||||
export GOHOSTOS ?= "${BUILD_GOOS}"
|
||||
export GOHOSTARCH ?= "${BUILD_GOARCH}"
|
||||
export GOROOT_BOOTSTRAP ?= "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOOS ?= "${TARGET_GOOS}"
|
||||
export GOARCH ?= "${TARGET_GOARCH}"
|
||||
export GOARM ?= "${TARGET_GOARM}"
|
||||
export GO386 ?= "${TARGET_GO386}"
|
||||
export GOMIPS ?= "${TARGET_GOMIPS}"
|
||||
export GOROOT_FINAL ?= "${libdir}/go"
|
||||
|
||||
do_compile_prepend() {
|
||||
BUILD_CC=${BUILD_CC}
|
||||
}
|
||||
|
||||
@@ -13,11 +13,7 @@ DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDP
|
||||
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
|
||||
"
|
||||
|
||||
export GOHOSTOS = "${BUILD_GOOS}"
|
||||
export GOHOSTARCH = "${BUILD_GOARCH}"
|
||||
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOTOOLDIR_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/${HOST_SYS}/go/pkg/tool/${BUILD_GOTUPLE}"
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
export CGO_CFLAGS = "${CFLAGS}"
|
||||
export CGO_LDFLAGS = "${LDFLAGS}"
|
||||
export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
|
||||
@@ -25,8 +21,8 @@ export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
export CC_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
export CXX_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
cd src
|
||||
./make.bash --host-only --no-banner
|
||||
cd ${B}
|
||||
|
||||
@@ -5,23 +5,14 @@ DEPENDS = "go-native"
|
||||
|
||||
PN = "go-cross-${TUNE_PKGARCH}"
|
||||
|
||||
export GOHOSTOS = "${BUILD_GOOS}"
|
||||
export GOHOSTARCH = "${BUILD_GOARCH}"
|
||||
export GOOS = "${TARGET_GOOS}"
|
||||
export GOARCH = "${TARGET_GOARCH}"
|
||||
export GOARM = "${TARGET_GOARM}"
|
||||
export GO386 = "${TARGET_GO386}"
|
||||
export GOMIPS = "${TARGET_GOMIPS}"
|
||||
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
export GOCACHE = "${B}/.cache"
|
||||
CC = "${@d.getVar('BUILD_CC').strip()}"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
export CC_FOR_${GOOS}_${GOARCH}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
|
||||
export CXX_FOR_${GOOS}_${GOARCh}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
|
||||
export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
|
||||
export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
|
||||
cd src
|
||||
./make.bash --host-only --no-banner
|
||||
cd ${B}
|
||||
|
||||
@@ -4,18 +4,11 @@ DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TA
|
||||
PN = "go-crosssdk-${SDK_SYS}"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}go-crosssdk"
|
||||
|
||||
export GOHOSTOS = "${BUILD_GOOS}"
|
||||
export GOHOSTARCH = "${BUILD_GOARCH}"
|
||||
export GOOS = "${TARGET_GOOS}"
|
||||
export GOARCH = "${TARGET_GOARCH}"
|
||||
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
|
||||
export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
|
||||
export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
|
||||
export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
|
||||
cd src
|
||||
./make.bash --host-only --no-banner
|
||||
cd ${B}
|
||||
|
||||
@@ -2,15 +2,6 @@ DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
|
||||
DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}go-runtime"
|
||||
|
||||
export GOHOSTOS = "${BUILD_GOOS}"
|
||||
export GOHOSTARCH = "${BUILD_GOARCH}"
|
||||
export GOOS = "${TARGET_GOOS}"
|
||||
export GOARCH = "${TARGET_GOARCH}"
|
||||
export GOARM = "${TARGET_GOARM}"
|
||||
export GO386 = "${TARGET_GO386}"
|
||||
export GOMIPS = "${TARGET_GOMIPS}"
|
||||
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
export CGO_CFLAGS = "${CFLAGS}"
|
||||
export CGO_CPPFLAGS = "${CPPFLAGS}"
|
||||
export CGO_CXXFLAGS = "${CXXFLAGS}"
|
||||
@@ -29,14 +20,14 @@ do_configure_libc-musl() {
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CC}"
|
||||
export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CXX}"
|
||||
export CC_FOR_${TARGET_GOTUPLE}="${CC}"
|
||||
export CXX_FOR_${TARGET_GOTUPLE}="${CXX}"
|
||||
|
||||
cd src
|
||||
./make.bash --target-only --no-banner std
|
||||
if [ -n "${GO_DYNLINK}" ]; then
|
||||
export GOTOOLDIR="${B}/pkg/tool/native_native"
|
||||
CC="$CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
|
||||
CC="$CC_FOR_${TARGET_GOTUPLE}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
|
||||
$GOTOOLDIR/go_bootstrap install -linkshared -buildmode=shared ${GO_SHLIB_LDFLAGS} std
|
||||
fi
|
||||
cd ${B}
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
|
||||
DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native"
|
||||
|
||||
export GOHOSTOS = "${BUILD_GOOS}"
|
||||
export GOHOSTARCH = "${BUILD_GOARCH}"
|
||||
export GOOS = "${TARGET_GOOS}"
|
||||
export GOARCH = "${TARGET_GOARCH}"
|
||||
export GOARM = "${TARGET_GOARM}"
|
||||
export GO386 = "${TARGET_GO386}"
|
||||
export GOMIPS = "${TARGET_GOMIPS}"
|
||||
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
export GOCACHE = "${B}/.cache"
|
||||
GO_LDFLAGS = ""
|
||||
GO_LDFLAGS_class-nativesdk = "-linkmode external"
|
||||
|
||||
Reference in New Issue
Block a user