package/go/go.mk provides a HOST_GO_TARGET_ENV which provides a useful
set of environment variables needed to build target Go packages.
For host packages, we simply have package/pkg-golang.mk defining
GO_HOST_ENV to specify CFLAGS/LDFLAGS, but that's it: we don't pass an
explicit path to the compiler, we don't pass GO111MODULE, GOCACHE,
GOROOT, etc.
This commit introduces a HOST_GO_HOST_ENV variable that provides the
appropriate set of environment variables to use when building host
golang packages.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
HOST_GO_CGO_ENABLED = 1
endif # BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+# For the convenience of host golang packages
+HOST_GO_HOST_ENV = \
+ GO111MODULE=off \
+ GOARCH="" \
+ GOCACHE="$(HOST_GO_HOST_CACHE)" \
+ GOROOT="$(HOST_GO_ROOT)" \
+ CC="$(HOST_CCNOCCACHE)" \
+ CXX="$(HOST_CXXNOCCACHE)" \
+ CGO_CFLAGS="$(HOST_CFLAGS)" \
+ CGO_CXXFLAGS="$(HOST_CXXFLAGS)" \
+ CGO_LDFLAGS="$(HOST_LDFLAGS)"
+
# The go build system is not compatible with ccache, so use
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
HOST_GO_MAKE_ENV = \
$(GO_COMMON_ENV)
GO_HOST_ENV = \
- CGO_CFLAGS="$(HOST_CFLAGS)" \
- CGO_LDFLAGS="$(HOST_LDFLAGS)" \
+ $(HOST_GO_HOST_ENV) \
$(GO_COMMON_ENV)
################################################################################