2
1

go-src.mk 1.4 KB

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