| # Target go packages should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS |
| config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS |
| bool |
| default y |
| depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_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 \ |
| || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ |
| || BR2_mips64 || BR2_mips64el || BR2_riscv || BR2_s390x |
| depends on !BR2_ARM_CPU_ARMV4 |
| # MIPS R6 support in Go has not yet been developed. |
| depends on !BR2_MIPS_CPU_MIPS64R6 |
| # Go doesn't support Risc-v 32-bit. |
| depends on !BR2_RISCV_32 |
| # Go requires the following Risc-v General (G) features: |
| depends on !BR2_riscv || (BR2_RISCV_ISA_RVI && \ |
| BR2_RISCV_ISA_RVM && BR2_RISCV_ISA_RVA && \ |
| BR2_RISCV_ISA_RVF && BR2_RISCV_ISA_RVD) |
| |
| config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS |
| bool |
| default y |
| depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS |
| # Go doesn't support CGO linking on MIPS64x platforms |
| # See: https://github.com/karalabe/xgo/issues/46 |
| depends on !BR2_mips64 && !BR2_mips64el |
| # go uses dlfcn.h + cgo for its plugin module |
| depends on !BR2_STATIC_LIBS |
| # cgo supports uses threads |
| depends on BR2_TOOLCHAIN_HAS_THREADS |
| |
| # Host go packages should depend on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS |
| config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS |
| bool |
| default y |
| depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS |
| |
| # Go packages should select BR2_PACKAGE_HOST_GO |
| config BR2_PACKAGE_HOST_GO |
| bool |
| depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS |
| |
| if BR2_PACKAGE_HOST_GO |
| |
| choice |
| prompt "Go compiler variant" |
| default BR2_PACKAGE_HOST_GO_SRC |
| help |
| Select a Go compiler variant. |
| |
| Default to 'host-go-src'. |
| |
| config BR2_PACKAGE_HOST_GO_SRC |
| bool "host go (source)" |
| help |
| This package will build the go compiler for the host. |
| |
| endchoice |
| |
| endif |
| |
| config BR2_PACKAGE_PROVIDES_HOST_GO |
| string |
| # Default to host-go-src, as the only provider for now |
| default "host-go-src" |
| |
| source "package/go/go-bootstrap-stage1/Config.in.host" |
| source "package/go/go-bootstrap-stage2/Config.in.host" |
| source "package/go/go-bootstrap-stage3/Config.in.host" |