Browse Source

golang: Set/reset default platform options for target Go compiler

Because the first stage for building target Go is actually a host build,
the default platform options (GO386, GOARM, etc.) are detected from the
host. These values are written to a source file and kept when building
the second stage.

This modifies this source file to set the appropriate values for the
target platform, and reset values for other platforms to their
cross-compiling / most compatible defaults.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
lilik-openwrt-22.03
Jeffery To 5 years ago
parent
commit
da3fb97b9c
1 changed files with 12 additions and 0 deletions
  1. +12
    -0
      lang/golang/golang/Makefile

+ 12
- 0
lang/golang/golang/Makefile View File

@ -197,6 +197,13 @@ endef
EXTERNAL_BOOTSTRAP_DIR:=$(call qstrip,$(CONFIG_GOLANG_EXTERNAL_BOOTSTRAP_ROOT))
USE_DEFAULT_BOOTSTRAP:=$(if $(EXTERNAL_BOOTSTRAP_DIR),,1)
PKG_GO_ZBOOTSTRAP_MODS:= \
s/defaultGO386 = `[^`]*`/defaultGO386 = `$(if $(GO_386),$(GO_386),387)`/; \
s/defaultGOARM = `[^`]*`/defaultGOARM = `$(if $(GO_ARM),$(GO_ARM),5)`/; \
s/defaultGOMIPS = `[^`]*`/defaultGOMIPS = `$(if $(GO_MIPS),$(GO_MIPS),hardfloat)`/; \
s/defaultGOMIPS64 = `[^`]*`/defaultGOMIPS64 = `$(if $(GO_MIPS64),$(GO_MIPS64),hardfloat)`/; \
s/defaultGOPPC64 = `[^`]*`/defaultGOPPC64 = `power8`/;
PKG_GO_LDFLAGS= \
-buildid '$(SOURCE_DATE_EPOCH)'
@ -323,6 +330,11 @@ define Build/Compile
PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH \
)
ifneq ($(PKG_GO_ZBOOTSTRAP_MODS),)
$(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' \
$(PKG_BUILD_DIR)/src/cmd/internal/objabi/zbootstrap.go
endif
@echo "Building target Go second stage"
( \


Loading…
Cancel
Save