mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-10 00:04:06 -09:00
package/go: make pre-built compiler provide target support too
All Go packages must depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS, which ensures that we do have a Go compiler available for that target. BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS is currently restricted to the availability of a full host Go compiler bootstrap. However, there are architectures like AArch64 for which a full bootstrap is not supported. Thus, currently, on an AArch64 host, we can't build Go packages (for target or host), because we can't bootstrap a Go compiler. However, note that a single Go compiler can generate code for all the architectures supported by Go and for some host architectures, there are pre-built toolchains available. When host-go-bin was added in commit7b2a164b74("package/go/go-bin: new host-go provider"), the host dependency was properly accounted for: It is already possible to build host-go packages with go-bin. However, the fact that a Go compiler, in addition to its native target, can also generate code for all supported architectures, was missed at the time. Thus, we can fix this problem by relaxing the condition under which BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS is set to allowing go-bin along with go-bootstrap. This allows a situation where the host can't bootstrap, but for which there is a pre-built toolchain to build Go packages for a supported target. Signed-off-by: Florian Larysch <fl@n621.de> Cc: Yann E. MORIN <yann.morin@orange.com> Cc: Romain Naour <romain.naour@smile.fr> Reviewed-by: Yann E. MORIN <yann.morin@orange.com> Signed-off-by: Romain Naour <romain.naour@smile.fr> (cherry picked from commit432cf9be9f) Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
committed by
Thomas Perale
parent
9efb4d6ada
commit
612c0772c4
@@ -2,7 +2,7 @@
|
||||
config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
||||
bool
|
||||
default y
|
||||
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
|
||||
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS || BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
|
||||
# See https://go.dev/doc/install/source#environment
|
||||
# See src/go/build/syslist.go for the list of supported architectures
|
||||
depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
|
||||
|
||||
Reference in New Issue
Block a user