[PATCH master] scripts: fix pkg-config use for rsatoc/rkimage hosttools

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Aug 2 09:21:08 PDT 2023

Source files built for running on the build host can be given extra
argument via the HOSTCFLAGS variable. This is evaluates in
scripts/Makefile.host and results in adding $(HOSTCFLAGS_$(target-stem).o)
during each HOSTCC invocation.

We do that correctly at all places, except for two: rsatoc and rkimage
both use openssl, but they only have HOSTLDLIBS_rsatoc correctly set for
linking against openssl. HOSTCFLAGS_ however was incorrectly set for
the targets without the .o suffix and compiling these files only worked,
because OpenSSL was installed into a directory that's in the default
include search path. This is not a given, e.g. when building barebox
through OpenEmbedded inside a container without openssl headers, so
let's ensure pkg-config is correctly used.

Fixes: 128ad3cbe043 ("scripts: Add rsatoc tool")
Fixes: 63f612f9e0ea ("ARM: Rockchip: Add rkimage tool")
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
 scripts/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile b/scripts/Makefile
index 01b21a61692c..b8dd15cbf798 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -12,7 +12,7 @@ hostprogs-always-y					+= bareboxcrc32
 hostprogs-always-y					+= kernel-install
 hostprogs-always-$(CONFIG_QOICONV)			+= qoiconv
 hostprogs-always-$(CONFIG_CRYPTO_RSA_BUILTIN_KEYS)	+= rsatoc
-HOSTCFLAGS_rsatoc = `$(PKG_CONFIG) --cflags openssl`
+HOSTCFLAGS_rsatoc.o = `$(PKG_CONFIG) --cflags openssl`
 HOSTLDLIBS_rsatoc = `$(PKG_CONFIG) --libs openssl`
 hostprogs-always-$(CONFIG_IMD)				+= bareboximd
 hostprogs-always-$(CONFIG_KALLSYMS)			+= kallsyms
@@ -28,7 +28,7 @@ hostprogs-always-$(CONFIG_LAYERSCAPE_PBLIMAGE)		+= pblimage
 hostprogs-always-$(CONFIG_STM32_IMAGE)			+= stm32image
 hostprogs-always-$(CONFIG_RISCV)			+= prelink-riscv
 hostprogs-always-$(CONFIG_RK_IMAGE)			+= rkimage
-HOSTCFLAGS_rkimage = `$(PKG_CONFIG) --cflags openssl`
+HOSTCFLAGS_rkimage.o = `$(PKG_CONFIG) --cflags openssl`
 HOSTLDLIBS_rkimage = `$(PKG_CONFIG) --libs openssl`
 KBUILD_HOSTCFLAGS += -I$(srctree)/scripts/include/
 HOSTLDLIBS_mxsimage  = `$(PKG_CONFIG) --libs openssl`

More information about the barebox mailing list