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

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Aug 3 03:43:17 PDT 2023


Hello Alexander,

On 03.08.23 07:18, Alexander Shiyan wrote:
> Hello.
> Looks like I did pretty much the same for buildroot:
> https://git.busybox.net/buildroot/commit/boot/barebox?id=624d50b20cf4bf4a67ad6274263f85927660f8c4

I had something similar in my Yocto BSP as well, so pkg-config --libs works.
It worked fine until I tried to build rsatoc inside a Ubuntu 18.04 docker container
that had no OpenSSL3 preinstalled. and I found out that pkg-config --cflags
had no effect for these two utilities. This is fixed by this patch.

Cheers,
Ahmad

> 
> ср, 2 авг. 2023 г. в 19:22, Ahmad Fatoum <a.fatoum at pengutronix.de>:
>>
>> 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`
>> --
>> 2.39.2
>>
>>
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list