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>
This commit is contained in:
parent
46017682f4
commit
da3fb97b9c
1 changed files with 12 additions and 0 deletions
|
@ -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…
Reference in a new issue