From 7592efcf995dba2f60b78dda0b8e5681009fdc6e Mon Sep 17 00:00:00 2001 From: Jonathon Hall Date: Tue, 21 Feb 2023 13:46:03 -0500 Subject: [PATCH] Makefile: Fix cross compilation variables for pkg-config pkg-config will still pick up system default directories from PKG_CONFIG_LIBDIR even if PKG_CONFIG_PATH is set. Per the docs, cross compilation requires clearing PKG_CONFIG_PATH and setting PKG_CONFIG_LIBDIR (which is always searched after PKG_CONFIG_PATH). Fixes issues observed in tpm2_retry branch picking up packages from host environment. Signed-off-by: Jonathon Hall --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0ca170dd..5e98b234 100644 --- a/Makefile +++ b/Makefile @@ -125,6 +125,9 @@ heads_cc := $(CROSS)gcc \ -isystem $(INSTALL)/include \ -L$(INSTALL)/lib \ +# Cross-compiling with pkg-config requires clearing PKG_CONFIG_PATH and setting +# both PKG_CONFIG_LIBDIR and PKG_CONFIG_SYSROOT_DIR. +# https://autotools.info/pkgconfig/cross-compiling.html CROSS_TOOLS_NOCC := \ AR="$(CROSS)ar" \ LD="$(CROSS)ld" \ @@ -132,7 +135,8 @@ CROSS_TOOLS_NOCC := \ NM="$(CROSS)nm" \ OBJCOPY="$(CROSS)objcopy" \ OBJDUMP="$(CROSS)objdump" \ - PKG_CONFIG_PATH="$(INSTALL)/lib/pkgconfig" \ + PKG_CONFIG_PATH= \ + PKG_CONFIG_LIBDIR="$(INSTALL)/lib/pkgconfig" \ PKG_CONFIG_SYSROOT_DIR="$(INSTALL)" \ CROSS_TOOLS := \