package/pkg-golang: allow packages to provide extldflags
Currently, only the -static extldflags may be set in the golang-package infra. However, in some cases, it might be necessary to pass other flags, either because they are needed on a specific architecture, or a specific C library; packages may also have a need to pass arbitrary linker flags when they use CGO linking. For example, on AArch64, go forcibly uses ld.gold, but it is not available in all toolchains, and ld.bfd works nowadays (following patch); another case is musl, where PIE is not supported with go. Introduce FOO_EXTLDFLAGS, which we use to set those flags, and that packages can set to pass such flags. Migrate the current setting of -static to use that new variable. Signed-off-by: Yann E. MORIN <yann.morin@orange.com> Tested-by: Nathaniel Roach <nroach44@nroach44.id.au> Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de> Reviewed-by: Yann E. MORIN <yann.morin@orange.com> Reviewed-by: Christian Stewart <christian@aperture.us> Signed-off-by: Romain Naour <romain.naour@smile.fr>
This commit is contained in:
committed by
Romain Naour
parent
0748e761e2
commit
dcb5d1d918
@@ -84,8 +84,10 @@ therefore only use a few of them, or none.
|
||||
infrastructure will automatically generate a minimal +go.mod+ file
|
||||
in the package source tree if it doesn't exist.
|
||||
|
||||
* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the
|
||||
+LDFLAGS+ or the +TAGS+ to the +go+ build command.
|
||||
* +FOO_LDFLAGS+, +FOO_EXTLDFLAGS+, and +FOO_TAGS+ can be used to pass
|
||||
respectively the go +LDFLAGS+ (via the `-ldflags` command line flag),
|
||||
the external linker flags +EXTLDFLAGS+ (via the `-extldflags`
|
||||
command line flag), or the +TAGS+ to the +go+ build command.
|
||||
|
||||
* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that
|
||||
should be built. If +FOO_BUILD_TARGETS+ is not specified, it
|
||||
|
||||
Reference in New Issue
Block a user