Re: [PATCH 1/1] Makefile: Fix cross building

From: Masahiro Yamada
Date: Wed Apr 21 2021 - 06:11:36 EST


On Wed, Apr 21, 2021 at 9:20 AM Patrick Waterlander
<patrick.waterlander@xxxxxxxxx> wrote:
>
> The native pkg-config is always called which may result in incorrect
> flags and paths being passed to the cross compiler. Implement
> $(CROSS_COMPILE)pkg-config to avoid this issue.
>
> Signed-off-by: Patrick Waterlander <patrick.waterlander@xxxxxxxxx>
> ---
> Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index bc19584fee59..9aa2073f68d6 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -462,6 +462,7 @@ LZMA = lzma
> LZ4 = lz4c
> XZ = xz
> ZSTD = zstd
> +PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
>
> CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
> -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
> @@ -1089,7 +1090,7 @@ mod_sign_cmd = true
> endif
> export mod_sign_cmd
>
> -HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
> +HOST_LIBELF_LIBS = $(shell $(PKG_CONFIG) libelf --libs 2>/dev/null || echo -lelf)


libelf will be linked to host programs.

This is clear from HOST_LIBELF_LIBS.
^^^^

pkg-config should be OK.




>
> has_libelf = $(call try-run,\
> echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
> --
> 2.17.1
>


--
Best Regards
Masahiro Yamada