package/go: rename BR2_PACKAGE_HOST_GO_{ARCH_SUPPORTS,CGO_LINKING_SUPPORTS}

The hidden Config.in option BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS name is
not very clear as to whether it says whether Go is available for the
target architecture or the host architecture.

Until now, this was fine since there was support for host Go
packages. But as we are about to introduce support for building host
Go packages, we need to clarify the meaning of
BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS. Since it says whether the target
architecture has support for Go or not, we rename it to
BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS.

And since BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS is tightly related,
we rename it to BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Tested-by: Adam Duskett <aduskett@gmail.com>
[Thomas: entirely rewrite commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Angelo Compagnucci 2019-02-06 14:23:57 +01:00 committed by Thomas Petazzoni
parent 65895f36ee
commit 8291bc7793
9 changed files with 37 additions and 34 deletions

View File

@ -45,9 +45,11 @@ built.
==== +golang-package+ reference ==== +golang-package+ reference
In their +Config.in+ file, packages using the +golang-package+ In their +Config.in+ file, packages using the +golang-package+
infrastructure should depend on +BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS+ infrastructure should depend on +BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS+
and +BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS+ because Buildroot will because Buildroot will automatically add a dependency on +host-go+
automatically add a dependency on +host-go+ to such packages. to such packages.
If you need CGO support in your package, you must add a dependency on
+BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS+.
The main macro of the Go package infrastructure is The main macro of the Go package infrastructure is
+golang-package+. It is similar to the +generic-package+ macro. Only +golang-package+. It is similar to the +generic-package+ macro. Only

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_DOCKER_CLI config BR2_PACKAGE_DOCKER_CLI
bool "docker-cli" bool "docker-cli"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
help help
Docker is a platform to build, ship, Docker is a platform to build, ship,
@ -20,6 +20,6 @@ config BR2_PACKAGE_DOCKER_CLI_STATIC
endif endif
comment "docker-cli needs a toolchain w/ threads" comment "docker-cli needs a toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_DOCKER_CONTAINERD config BR2_PACKAGE_DOCKER_CONTAINERD
bool "docker-containerd" bool "docker-containerd"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # runc depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # runc
depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
@ -31,8 +31,8 @@ config BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS
endif endif
comment "docker-containerd needs a glibc or musl toolchain w/ threads" comment "docker-containerd needs a glibc or musl toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || \ depends on !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_DOCKER_ENGINE config BR2_PACKAGE_DOCKER_ENGINE
bool "docker-engine" bool "docker-engine"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # docker-containerd -> runc depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # docker-containerd -> runc
depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc
@ -53,8 +53,8 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS
endif endif
comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 3.11" comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 3.11"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || \ depends on !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_DOCKER_PROXY config BR2_PACKAGE_DOCKER_PROXY
bool "docker-proxy" bool "docker-proxy"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
help help
Libnetwork is a Container Network Model that provides a Libnetwork is a Container Network Model that provides a
@ -14,6 +14,6 @@ config BR2_PACKAGE_DOCKER_PROXY
https://github.com/docker/libnetwork https://github.com/docker/libnetwork
comment "docker-proxy needs a toolchain w/ threads" comment "docker-proxy needs a toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -1,12 +1,12 @@
comment "flannel needs a toolchain w/ threads" comment "flannel needs a toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_FLANNEL config BR2_PACKAGE_FLANNEL
bool "flannel" bool "flannel"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
help help
Flannel is a virtual network that gives a subnet to each Flannel is a virtual network that gives a subnet to each

View File

@ -1,4 +1,5 @@
config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS # Target go packages should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
bool bool
default y default y
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006
@ -10,10 +11,10 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
# MIPS R6 support in Go has not yet been developed. # MIPS R6 support in Go has not yet been developed.
depends on !BR2_MIPS_CPU_MIPS64R6 depends on !BR2_MIPS_CPU_MIPS64R6
config BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
bool bool
default y default y
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
# Go doesn't support CGO linking on MIPS64x platforms # Go doesn't support CGO linking on MIPS64x platforms
# See: https://github.com/karalabe/xgo/issues/46 # See: https://github.com/karalabe/xgo/issues/46
depends on !BR2_mips64 && !BR2_mips64el depends on !BR2_mips64 && !BR2_mips64el

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_MENDER config BR2_PACKAGE_MENDER
bool "mender" bool "mender"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_UBOOT_TOOLS # runtime select BR2_PACKAGE_UBOOT_TOOLS # runtime
select BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV # runtime select BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV # runtime
@ -14,6 +14,6 @@ config BR2_PACKAGE_MENDER
https://github.com/mendersoftware/mender https://github.com/mendersoftware/mender
comment "mender needs a toolchain w/ threads" comment "mender needs a toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_RUNC config BR2_PACKAGE_RUNC
bool "runc" bool "runc"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # O_TMPFILE depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # O_TMPFILE
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
@ -13,8 +13,8 @@ config BR2_PACKAGE_RUNC
https://github.com/opencontainers/runc https://github.com/opencontainers/runc
comment "runc needs a glibc or musl toolchain w/ threads, headers >= 3.11" comment "runc needs a glibc or musl toolchain w/ threads, headers >= 3.11"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \
BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || \ depends on !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAN_USES_UCLIBC !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAN_USES_UCLIBC
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM