1# Target go packages should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
2config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
3	bool
4	default y
5	depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
6	# See https://go.dev/doc/install/source#environment
7	# See src/go/build/syslist.go for the list of supported architectures
8	depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
9		|| BR2_i386 || BR2_x86_64 || BR2_powerpc64le \
10		|| BR2_mips64 || BR2_mips64el || BR2_riscv || BR2_s390x
11	depends on !BR2_ARM_CPU_ARMV4
12	# MIPS R6 support in Go has not yet been developed.
13	depends on !BR2_MIPS_CPU_MIPS64R6
14	# Go doesn't support Risc-v 32-bit.
15	depends on !BR2_RISCV_32
16	# Go requires the following Risc-v General (G) features:
17	depends on !BR2_riscv || (BR2_RISCV_ISA_RVI && \
18		BR2_RISCV_ISA_RVM && BR2_RISCV_ISA_RVA && \
19		BR2_RISCV_ISA_RVF && BR2_RISCV_ISA_RVD)
20
21config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
22	bool
23	default y
24	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
25	# Go doesn't support CGO linking on MIPS64x platforms
26	# See: https://github.com/karalabe/xgo/issues/46
27	depends on !BR2_mips64 && !BR2_mips64el
28
29# Host go packages should depend on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
30config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
31	bool
32	default y
33	depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
34