golang: Simplify target compile
* Reuse GO_PKG_ENABLE_PIE from golang-package.mk * Replace $(if ...) with $(or ...) to get default values * Refactor vars common to each compile stage into variable Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
parent
03a1f87549
commit
93ee27edb8
1 changed files with 21 additions and 34 deletions
|
@ -247,40 +247,38 @@ endef
|
||||||
|
|
||||||
# Target
|
# Target
|
||||||
|
|
||||||
ifdef CONFIG_PKG_ASLR_PIE_ALL
|
ifeq ($(GO_PKG_ENABLE_PIE),1)
|
||||||
ifeq ($(GO_TARGET_PIE_SUPPORTED),1)
|
|
||||||
PKG_GO_ENABLE_PIE:=1
|
|
||||||
PKG_GO_INSTALL_SUFFIX:=$(GO_TARGET_PIE_INSTALL_SUFFIX)
|
PKG_GO_INSTALL_SUFFIX:=$(GO_TARGET_PIE_INSTALL_SUFFIX)
|
||||||
else
|
|
||||||
$(warning PIE buildmode is not supported for $(GO_OS)/$(GO_ARCH))
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(eval $(call GoCompiler/AddProfile,Package,$(PKG_BUILD_DIR),$(PKG_GO_PREFIX),$(PKG_GO_VERSION_ID),$(GO_OS_ARCH),$(PKG_GO_INSTALL_SUFFIX)))
|
$(eval $(call GoCompiler/AddProfile,Package,$(PKG_BUILD_DIR),$(PKG_GO_PREFIX),$(PKG_GO_VERSION_ID),$(GO_OS_ARCH),$(PKG_GO_INSTALL_SUFFIX)))
|
||||||
|
|
||||||
PKG_GO_ZBOOTSTRAP_MODS:= \
|
PKG_GO_ZBOOTSTRAP_MODS:= \
|
||||||
s/defaultGO386 = `[^`]*`/defaultGO386 = `$(if $(GO_386),$(GO_386),387)`/; \
|
s/defaultGO386 = `[^`]*`/defaultGO386 = `$(or $(GO_386),387)`/; \
|
||||||
s/defaultGOARM = `[^`]*`/defaultGOARM = `$(if $(GO_ARM),$(GO_ARM),5)`/; \
|
s/defaultGOARM = `[^`]*`/defaultGOARM = `$(or $(GO_ARM),5)`/; \
|
||||||
s/defaultGOMIPS = `[^`]*`/defaultGOMIPS = `$(if $(GO_MIPS),$(GO_MIPS),hardfloat)`/; \
|
s/defaultGOMIPS = `[^`]*`/defaultGOMIPS = `$(or $(GO_MIPS),hardfloat)`/; \
|
||||||
s/defaultGOMIPS64 = `[^`]*`/defaultGOMIPS64 = `$(if $(GO_MIPS64),$(GO_MIPS64),hardfloat)`/; \
|
s/defaultGOMIPS64 = `[^`]*`/defaultGOMIPS64 = `$(or $(GO_MIPS64),hardfloat)`/; \
|
||||||
s/defaultGOPPC64 = `[^`]*`/defaultGOPPC64 = `power8`/;
|
s/defaultGOPPC64 = `[^`]*`/defaultGOPPC64 = `power8`/;
|
||||||
|
|
||||||
PKG_GO_LDFLAGS= \
|
PKG_GO_VARS= \
|
||||||
-buildid '$(SOURCE_DATE_EPOCH)'
|
GOCACHE=$(GO_BUILD_CACHE_DIR) \
|
||||||
|
GOENV=off \
|
||||||
|
GO_GCC_HELPER_PATH=$$$$PATH \
|
||||||
|
CC=gcc \
|
||||||
|
CXX=g++ \
|
||||||
|
PKG_CONFIG=pkg-config \
|
||||||
|
PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH
|
||||||
|
|
||||||
ifeq ($(CONFIG_NO_STRIP)$(CONFIG_DEBUG),)
|
PKG_GO_LDFLAGS= \
|
||||||
PKG_GO_LDFLAGS+= -s -w
|
-buildid '$(SOURCE_DATE_EPOCH)' \
|
||||||
endif
|
$(if $(CONFIG_NO_STRIP)$(CONFIG_DEBUG),,-s -w)
|
||||||
|
|
||||||
# setting -trimpath is not necessary here because the paths inside the
|
# setting -trimpath is not necessary here because the paths inside the
|
||||||
# compiler binary are relative to GOROOT_FINAL (PKG_GO_ROOT), which is
|
# compiler binary are relative to GOROOT_FINAL (PKG_GO_ROOT), which is
|
||||||
# static / not dependent on the build environment
|
# static / not dependent on the build environment
|
||||||
PKG_GO_INSTALL_ARGS= \
|
PKG_GO_INSTALL_ARGS= \
|
||||||
-ldflags "all=$(PKG_GO_LDFLAGS)"
|
-ldflags "all=$(PKG_GO_LDFLAGS)" \
|
||||||
|
$(if $(filter $(GO_PKG_ENABLE_PIE),1),-buildmode pie)
|
||||||
ifeq ($(PKG_GO_ENABLE_PIE),1)
|
|
||||||
PKG_GO_INSTALL_ARGS+= -buildmode pie
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
mkdir -p $(GO_BUILD_CACHE_DIR)
|
mkdir -p $(GO_BUILD_CACHE_DIR)
|
||||||
|
@ -289,14 +287,9 @@ define Build/Compile
|
||||||
|
|
||||||
$(call GoCompiler/Package/Make, \
|
$(call GoCompiler/Package/Make, \
|
||||||
GOROOT_BOOTSTRAP=$(HOST_GO_ROOT) \
|
GOROOT_BOOTSTRAP=$(HOST_GO_ROOT) \
|
||||||
GOCACHE=$(GO_BUILD_CACHE_DIR) \
|
|
||||||
GO_GCC_HELPER_CC="$(HOSTCC)" \
|
GO_GCC_HELPER_CC="$(HOSTCC)" \
|
||||||
GO_GCC_HELPER_CXX="$(HOSTCXX)" \
|
GO_GCC_HELPER_CXX="$(HOSTCXX)" \
|
||||||
GO_GCC_HELPER_PATH=$$$$PATH \
|
$(PKG_GO_VARS) \
|
||||||
CC=gcc \
|
|
||||||
CXX=g++ \
|
|
||||||
PKG_CONFIG=pkg-config \
|
|
||||||
PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
$(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' \
|
$(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' \
|
||||||
|
@ -309,15 +302,9 @@ define Build/Compile
|
||||||
export $(GO_PKG_TARGET_VARS) ; \
|
export $(GO_PKG_TARGET_VARS) ; \
|
||||||
$(CP) go go-host ; \
|
$(CP) go go-host ; \
|
||||||
GOROOT_FINAL=$(PKG_GO_ROOT) \
|
GOROOT_FINAL=$(PKG_GO_ROOT) \
|
||||||
GOCACHE=$(GO_BUILD_CACHE_DIR) \
|
|
||||||
GOENV=off \
|
|
||||||
GO_GCC_HELPER_CC="$(TARGET_CC)" \
|
GO_GCC_HELPER_CC="$(TARGET_CC)" \
|
||||||
GO_GCC_HELPER_CXX="$(TARGET_CXX)" \
|
GO_GCC_HELPER_CXX="$(TARGET_CXX)" \
|
||||||
GO_GCC_HELPER_PATH=$$$$PATH \
|
$(PKG_GO_VARS) \
|
||||||
CC=gcc \
|
|
||||||
CXX=g++ \
|
|
||||||
PKG_CONFIG=pkg-config \
|
|
||||||
PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH \
|
|
||||||
./go-host install -a $(PKG_GO_INSTALL_ARGS) std cmd ; \
|
./go-host install -a $(PKG_GO_INSTALL_ARGS) std cmd ; \
|
||||||
retval=$$$$? ; \
|
retval=$$$$? ; \
|
||||||
rm -f go-host ; \
|
rm -f go-host ; \
|
||||||
|
|
Loading…
Reference in a new issue