go-src.mk 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ################################################################################
  2. #
  3. # go-src
  4. #
  5. ################################################################################
  6. GO_SRC_SITE = https://storage.googleapis.com/golang
  7. GO_SRC_SOURCE = go$(GO_VERSION).src.tar.gz
  8. GO_SRC_DL_SUBDIR = go
  9. GO_SRC_LICENSE = BSD-3-Clause
  10. GO_SRC_LICENSE_FILES = LICENSE
  11. GO_SRC_CPE_ID_VENDOR = golang
  12. HOST_GO_SRC_PROVIDES = host-go
  13. HOST_GO_SRC_DEPENDENCIES = \
  14. host-go-bootstrap-stage3 \
  15. $(HOST_GO_DEPENDENCIES_CGO)
  16. ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
  17. HOST_GO_SRC_CROSS_ENV = \
  18. CC_FOR_TARGET="$(TARGET_CC)" \
  19. CXX_FOR_TARGET="$(TARGET_CXX)" \
  20. GOOS="linux" \
  21. GOARCH=$(GO_GOARCH) \
  22. $(if $(GO_GO386),GO386=$(GO_GO386)) \
  23. $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
  24. GO_ASSUME_CROSSCOMPILING=1
  25. endif
  26. # The go build system is not compatible with ccache, so use
  27. # HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
  28. HOST_GO_SRC_MAKE_ENV = \
  29. GO111MODULE=off \
  30. GOCACHE=$(HOST_GO_HOST_CACHE) \
  31. GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
  32. GOROOT_FINAL=$(HOST_GO_ROOT) \
  33. GOROOT="$(@D)" \
  34. GOBIN="$(@D)/bin" \
  35. GOOS=linux \
  36. CC=$(HOSTCC_NOCCACHE) \
  37. CXX=$(HOSTCXX_NOCCACHE) \
  38. CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
  39. $(HOST_GO_SRC_CROSS_ENV)
  40. define HOST_GO_SRC_BUILD_CMDS
  41. cd $(@D)/src && \
  42. $(HOST_GO_SRC_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
  43. endef
  44. define HOST_GO_SRC_INSTALL_CMDS
  45. $(GO_BINARIES_INSTALL)
  46. endef
  47. $(eval $(host-generic-package))