Use OS/arch format used by Go and reported by go tool dist list.
Update OS/arch combinations.
Signed-off-by: George Sapkin <redacted>
HOST_GO_VERSION_ID:=bootstrap
HOST_GO_ROOT:=$(HOST_GO_PREFIX)/lib/go-$(HOST_GO_VERSION_ID)
+# From go tool dist list
HOST_GO_VALID_OS_ARCH:= \
- android_386 android_amd64 android_arm android_arm64 \
- freebsd_386 freebsd_amd64 freebsd_arm freebsd_arm64 \
- linux_386 linux_amd64 linux_arm linux_arm64 \
- openbsd_386 openbsd_amd64 openbsd_arm openbsd_arm64 \
- netbsd_386 netbsd_amd64 netbsd_arm netbsd_arm64 \
- windows_386 windows_amd64 windows_arm windows_arm64 \
- \
- plan9_386 plan9_amd64 plan9_arm \
- \
- darwin_amd64 darwin_arm64 \
- ios_amd64 ios_arm64 \
- \
- dragonfly_amd64 \
- illumos_amd64 \
- solaris_amd64 \
- \
- aix_ppc64 \
- js_wasm \
- wasip1_wasm \
- \
- freebsd_riscv64 \
- openbsd_riscv64 \
- \
- linux_ppc64 linux_ppc64le \
- linux_mips linux_mipsle linux_mips64 linux_mips64le \
- linux_loong64 linux_riscv64 linux_s390x \
- \
- openbsd_mips64
+ aix/ppc64 \
+ android/386 \
+ android/amd64 \
+ android/arm \
+ android/arm64 \
+ darwin/amd64 \
+ darwin/arm64 \
+ dragonfly/amd64 \
+ freebsd/386 \
+ freebsd/amd64 \
+ freebsd/arm \
+ freebsd/arm64 \
+ freebsd/riscv64 \
+ illumos/amd64 \
+ ios/amd64 \
+ ios/arm64 \
+ js/wasm \
+ linux/386 \
+ linux/amd64 \
+ linux/arm \
+ linux/arm64 \
+ linux/loong64 \
+ linux/mips \
+ linux/mips64 \
+ linux/mips64le \
+ linux/mipsle \
+ linux/ppc64 \
+ linux/ppc64le \
+ linux/riscv64 \
+ linux/s390x \
+ netbsd/386 \
+ netbsd/amd64 \
+ netbsd/arm \
+ netbsd/arm64 \
+ openbsd/386 \
+ openbsd/amd64 \
+ openbsd/arm \
+ openbsd/arm64 \
+ openbsd/ppc64 \
+ plan9/386 \
+ plan9/amd64 \
+ plan9/arm \
+ solaris/amd64 \
+ wasip1/wasm \
+ windows/386 \
+ windows/amd64 \
+ windows/arm \
+ windows/arm64
BOOTSTRAP_SOURCE:=go1.4-bootstrap-20171003.tar.gz
BOOTSTRAP_SOURCE_URL:=$(GO_SOURCE_URLS)
BOOTSTRAP_BUILD_DIR:=$(HOST_BUILD_DIR)/.go_bootstrap
BOOTSTRAP_GO_VALID_OS_ARCH:= \
- darwin_386 darwin_amd64 \
- dragonfly_386 dragonfly_amd64 \
- freebsd_386 freebsd_amd64 freebsd_arm \
- linux_386 linux_amd64 linux_arm \
- netbsd_386 netbsd_amd64 netbsd_arm \
- openbsd_386 openbsd_amd64 \
- plan9_386 plan9_amd64 \
- solaris_amd64 \
- windows_386 windows_amd64
+ darwin/386 \
+ darwin/amd64 \
+ dragonfly/386 \
+ dragonfly/amd64 \
+ freebsd/386 \
+ freebsd/amd64 \
+ freebsd/arm \
+ linux/386 \
+ linux/amd64 \
+ linux/arm \
+ netbsd/386 \
+ netbsd/amd64 \
+ netbsd/arm \
+ openbsd/386 \
+ openbsd/amd64 \
+ plan9/386 \
+ plan9/amd64 \
+ solaris/amd64 \
+ windows/386 \
+ windows/amd64
BOOTSTRAP_1_17_SOURCE:=go1.17.13.src.tar.gz
BOOTSTRAP_1_17_SOURCE_URL:=$(GO_SOURCE_URLS)
# 1: source go root
# 2: destination prefix
# 3: go version id
-# 4: GOOS_GOARCH
+# 4: GOOS_GOARCH with / as a separator
# 5: install suffix (optional)
# 6: if target, package architecture-specific sources
define GoCompiler/Default/Install/Bin
$(INSTALL_DIR) "$(2)/lib/go-$(3)/bin"
+ $(eval GO_HOST_OS_ARCH_PATH:=$(subst /,_,$(4)))
+
ifeq ($(4),$(GO_HOST_OS_ARCH))
$(INSTALL_BIN) -p "$(1)/bin"/* "$(2)/lib/go-$(3)/bin/"
else
- $(INSTALL_BIN) -p "$(1)/bin/$(4)"/* "$(2)/lib/go-$(3)/bin/"
+ $(INSTALL_BIN) -p "$(1)/bin/$(GO_HOST_OS_ARCH_PATH)"/* "$(2)/lib/go-$(3)/bin/"
endif
- if [ -d "$(1)/pkg/$(4)$(if $(5),_$(5))" ]; then \
+ if [ -d "$(1)/pkg/$(GO_HOST_OS_ARCH_PATH)$(if $(5),_$(5))" ]; then \
$(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg" ; \
- $(CP) "$(1)/pkg/$(4)$(if $(5),_$(5))" "$(2)/lib/go-$(3)/pkg/" ; \
+ $(CP) "$(1)/pkg/$(GO_HOST_OS_ARCH_PATH)$(if $(5),_$(5))" "$(2)/lib/go-$(3)/pkg/" ; \
fi
- $(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg/tool/$(4)"
- $(INSTALL_BIN) -p "$(1)/pkg/tool/$(4)"/* "$(2)/lib/go-$(3)/pkg/tool/$(4)/"
+ $(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg/tool/$(GO_HOST_OS_ARCH_PATH)"
+ $(INSTALL_BIN) -p "$(1)/pkg/tool/$(GO_HOST_OS_ARCH_PATH)"/* "$(2)/lib/go-$(3)/pkg/tool/$(GO_HOST_OS_ARCH_PATH)/"
endef
# 1: destination prefix
# 2: source go root
# 3: destination prefix
# 4: go version id
-# 5: GOOS_GOARCH
+# 5: GOOS_GOARCH with / as a separator
# 6: install suffix (optional)
define GoCompiler/AddProfile
GO_PKG_WORK_DIR_NAME:=.go_work
GO_PKG_BUILD_DIR=$(PKG_BUILD_DIR)/$(GO_PKG_WORK_DIR_NAME)/build
-GO_PKG_BUILD_BIN_DIR=$(GO_PKG_BUILD_DIR)/bin$(if $(GO_HOST_TARGET_DIFFERENT),/$(GO_OS_ARCH))
+GO_PKG_BUILD_BIN_DIR=$(GO_PKG_BUILD_DIR)/bin$(if $(GO_HOST_TARGET_DIFFERENT),/$(subst /,_,$(GO_OS_ARCH)))
GO_PKG_BUILD_DEPENDS_PATH:=/usr/share/gocode
GO_PKG_BUILD_DEPENDS_SRC=$(STAGING_DIR)$(GO_PKG_BUILD_DEPENDS_PATH)/src
GO_OS:=linux
GO_ARCH:=$(call go_arch,$(ARCH))
-GO_OS_ARCH:=$(GO_OS)_$(GO_ARCH)
+GO_OS_ARCH:=$(GO_OS)/$(GO_ARCH)
GO_HOST_OS:=$(call tolower,$(HOST_OS))
GO_HOST_ARCH:=$(call go_arch,$(subst \
armv6l,arm,$(subst \
armv7l,arm,$(subst \
i686,i386,$(HOST_ARCH)))))
-GO_HOST_OS_ARCH:=$(GO_HOST_OS)_$(GO_HOST_ARCH)
+GO_HOST_OS_ARCH:=$(GO_HOST_OS)/$(GO_HOST_ARCH)
# Filter lists for ARM64 cores
# See https://en.wikipedia.org/wiki/ARM_architecture_family#Cores
# From https://go.dev/src/internal/platform/supported.go
GO_PIE_SUPPORTED_OS_ARCH:= \
- android_386 android_amd64 android_arm android_arm64 \
- linux_386 linux_amd64 linux_arm linux_arm64 \
- windows_386 windows_amd64 windows_arm windows_arm64 \
- \
- darwin_amd64 darwin_arm64 \
- ios_amd64 ios_arm64 \
- \
- freebsd_amd64 \
- \
- aix_ppc64 \
- \
- linux_loong64 linux_ppc64le linux_riscv64 linux_s390x
+ aix/ppc64 \
+ android/386 \
+ android/amd64 \
+ android/arm \
+ android/arm64 \
+ darwin/amd64 \
+ darwin/arm64 \
+ freebsd/amd64 \
+ ios/amd64 \
+ ios/arm64 \
+ linux/386 \
+ linux/amd64 \
+ linux/arm \
+ linux/arm64 \
+ linux/loong64 \
+ linux/ppc64le \
+ linux/riscv64 \
+ linux/s390x \
+ openbsd/arm64 \
+ windows/386 \
+ windows/amd64 \
+ windows/arm \
+ windows/arm64
# From https://go.dev/src/cmd/go/internal/work/init.go
-go_pie_install_suffix=$(if $(filter $(1),aix_ppc64 windows_386 windows_amd64 windows_arm windows_arm64),,shared)
+go_pie_install_suffix=$(if $(filter $(1),aix/ppc64 windows/386 windows/amd64 windows/arm windows/arm64),,shared)
ifneq ($(filter $(GO_HOST_OS_ARCH),$(GO_PIE_SUPPORTED_OS_ARCH)),)
GO_HOST_PIE_SUPPORTED:=1
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/go-$(PKG_VERSION)
HOST_BUILD_PARALLEL:=1
+# From go tool dist list
HOST_GO_VALID_OS_ARCH:= \
- android_386 android_amd64 android_arm android_arm64 \
- freebsd_386 freebsd_amd64 freebsd_arm freebsd_arm64 \
- linux_386 linux_amd64 linux_arm linux_arm64 \
- openbsd_386 openbsd_amd64 openbsd_arm openbsd_arm64 \
- netbsd_386 netbsd_amd64 netbsd_arm netbsd_arm64 \
- windows_386 windows_amd64 windows_arm windows_arm64 \
- \
- plan9_386 plan9_amd64 plan9_arm \
- \
- darwin_amd64 darwin_arm64 \
- ios_amd64 ios_arm64 \
- \
- dragonfly_amd64 \
- illumos_amd64 \
- solaris_amd64 \
- \
- aix_ppc64 \
- js_wasm \
- wasip1_wasm \
- \
- freebsd_riscv64 \
- openbsd_riscv64 \
- \
- linux_ppc64 linux_ppc64le \
- linux_mips linux_mipsle linux_mips64 linux_mips64le \
- linux_loong64 linux_riscv64 linux_s390x \
- \
- openbsd_mips64
+ aix/ppc64 \
+ android/386 \
+ android/amd64 \
+ android/arm \
+ android/arm64 \
+ darwin/amd64 \
+ darwin/arm64 \
+ dragonfly/amd64 \
+ freebsd/386 \
+ freebsd/amd64 \
+ freebsd/arm \
+ freebsd/arm64 \
+ freebsd/riscv64 \
+ illumos/amd64 \
+ ios/amd64 \
+ ios/arm64 \
+ js/wasm \
+ linux/386 \
+ linux/amd64 \
+ linux/arm \
+ linux/arm64 \
+ linux/loong64 \
+ linux/mips \
+ linux/mips64 \
+ linux/mips64le \
+ linux/mipsle \
+ linux/ppc64 \
+ linux/ppc64le \
+ linux/riscv64 \
+ linux/s390x \
+ netbsd/386 \
+ netbsd/amd64 \
+ netbsd/arm \
+ netbsd/arm64 \
+ openbsd/386 \
+ openbsd/amd64 \
+ openbsd/arm \
+ openbsd/arm64 \
+ openbsd/ppc64 \
+ plan9/386 \
+ plan9/amd64 \
+ plan9/arm \
+ solaris/amd64 \
+ wasip1/wasm \
+ windows/386 \
+ windows/amd64 \
+ windows/arm \
+ windows/arm64
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk