[PATCH 1/2] tools: mkeficapsule: use pkg-config to get -luuid and -lgnutls

Instead of hardcoding -luuid -lgnutls as the flags needed to build mkeficapsule, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -luuid -lgnutls if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com --- tools/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f2339666a..9f6b282ad8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -242,7 +242,8 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs hostprogs-$(CONFIG_ASN1_COMPILER) += asn1_compiler HOSTCFLAGS_asn1_compiler.o = -idirafter $(srctree)/include
-HOSTLDLIBS_mkeficapsule += -lgnutls -luuid +HOSTLDLIBS_mkeficapsule += \ + $(shell pkg-config --libs gnutls uuid 2> /dev/null || echo "-lgnutls -luuid") hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
# We build some files with extra pedantic flags to try to minimize things

Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com --- tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \ + $(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool

On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
Interesting, I did not know that there is pc file also for tinfo. Anyway when using it, there should be also HOSTCFLAGS_kwboot definition from pkg-config.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
- $(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2

Hi,
Am Di., 19. Juli 2022 um 20:52 Uhr schrieb Pali Rohár pali@kernel.org:
On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
Interesting, I did not know that there is pc file also for tinfo. Anyway when using it, there should be also HOSTCFLAGS_kwboot definition from pkg-config.
Just checked the cflags for tinfo.
# pkg-config --cflags tinfo -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600
Can we also add that to kwboot?
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
$(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2
-- Heiko

On Tuesday 19 July 2022 21:11:21 Heiko Thiery wrote:
Hi,
Am Di., 19. Juli 2022 um 20:52 Uhr schrieb Pali Rohár pali@kernel.org:
On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
Interesting, I did not know that there is pc file also for tinfo. Anyway when using it, there should be also HOSTCFLAGS_kwboot definition from pkg-config.
Just checked the cflags for tinfo.
# pkg-config --cflags tinfo -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600
I think these two flags are harmless...
Can we also add that to kwboot?
... but now it reminds me that we have issues with tinfo header files which are in direct conflict with linux uapi termbits header files. And so kwboot.c does not include any tinfo header file.
Therefore tinfo cflags are not used at all.
So I would rather stick with not importing --cflags to prevent possible future incompatibility (in case into tinfo cflags in future would be added something which conflict with linux uapi header files). We do not need them at all.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
$(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2
-- Heiko

On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
So... in current form this patch is OK.
Reviewed-by: Pali Rohár pali@kernel.org
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
- $(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2

Hi,
Am Di., 19. Juli 2022 um 21:20 Uhr schrieb Pali Rohár pali@kernel.org:
On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
So... in current form this patch is OK.
I already sent a v2 that introduced the cflags. I will send a v3 that removes adding this again. Ok?
Reviewed-by: Pali Rohár pali@kernel.org
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
$(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2

On Wednesday 20 July 2022 08:06:28 Heiko Thiery wrote:
Hi,
Am Di., 19. Juli 2022 um 21:20 Uhr schrieb Pali Rohár pali@kernel.org:
On Tuesday 19 July 2022 20:38:39 Heiko Thiery wrote:
Instead of hardcoding -ltinfo as the flags needed to build kwboot, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -ltinfo if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
So... in current form this patch is OK.
I already sent a v2 that introduced the cflags. I will send a v3 that removes adding this again. Ok?
Ou, sorry for that :-(
Anyway, details about this issue are described here: https://source.denx.de/u-boot/u-boot/-/blob/master/tools/termios_linux.h https://source.denx.de/u-boot/u-boot/-/commit/e8d26e8276358fcd1c2fe28293d3b4...
Reviewed-by: Pali Rohár pali@kernel.org
tools/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f6b282ad8..45195a8ce7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -198,7 +198,9 @@ hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl HOSTCFLAGS_mkexynosspl.o := -pedantic
HOSTCFLAGS_kwboot.o += -pthread -HOSTLDLIBS_kwboot += -pthread -ltinfo +HOSTLDLIBS_kwboot += -pthread +HOSTLDLIBS_kwboot += \
$(shell pkg-config --libs tinfo 2> /dev/null || echo "-ltinfo")
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o hostprogs-$(CONFIG_X86) += ifdtool -- 2.30.2

On Tuesday 19 July 2022 20:38:37 Heiko Thiery wrote:
Instead of hardcoding -luuid -lgnutls as the flags needed to build mkeficapsule, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -luuid -lgnutls if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f2339666a..9f6b282ad8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -242,7 +242,8 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs hostprogs-$(CONFIG_ASN1_COMPILER) += asn1_compiler HOSTCFLAGS_asn1_compiler.o = -idirafter $(srctree)/include
-HOSTLDLIBS_mkeficapsule += -lgnutls -luuid +HOSTLDLIBS_mkeficapsule += \
- $(shell pkg-config --libs gnutls uuid 2> /dev/null || echo "-lgnutls -luuid")
When using pkg-config then you should add also --cflags into HOSTCFLAGS_
hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
# We build some files with extra pedantic flags to try to minimize things
2.30.2

Hi,
Am Di., 19. Juli 2022 um 20:51 Uhr schrieb Pali Rohár pali@kernel.org:
On Tuesday 19 July 2022 20:38:37 Heiko Thiery wrote:
Instead of hardcoding -luuid -lgnutls as the flags needed to build mkeficapsule, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -luuid -lgnutls if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f2339666a..9f6b282ad8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -242,7 +242,8 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs hostprogs-$(CONFIG_ASN1_COMPILER) += asn1_compiler HOSTCFLAGS_asn1_compiler.o = -idirafter $(srctree)/include
-HOSTLDLIBS_mkeficapsule += -lgnutls -luuid +HOSTLDLIBS_mkeficapsule += \
$(shell pkg-config --libs gnutls uuid 2> /dev/null || echo "-lgnutls -luuid")
When using pkg-config then you should add also --cflags into HOSTCFLAGS_
Will add the cflags accordingly.
hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
# We build some files with extra pedantic flags to try to minimize things
2.30.2

On 7/19/22 20:38, Heiko Thiery wrote:
Instead of hardcoding -luuid -lgnutls as the flags needed to build mkeficapsule, use pkg-config when available.
We gracefully fallback on the previous behavior of hardcoding -luuid -lgnutls if pkg-config is not available or fails with an error.
Signed-off-by: Heiko Thiery heiko.thiery@gmail.com
tools/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile index 9f2339666a..9f6b282ad8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -242,7 +242,8 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs hostprogs-$(CONFIG_ASN1_COMPILER) += asn1_compiler HOSTCFLAGS_asn1_compiler.o = -idirafter $(srctree)/include
-HOSTLDLIBS_mkeficapsule += -lgnutls -luuid +HOSTLDLIBS_mkeficapsule += \
$(shell pkg-config --libs gnutls uuid 2> /dev/null || echo "-lgnutls -luuid") hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
# We build some files with extra pedantic flags to try to minimize things
We already do the same for mkimage build flags.
Reviewed-by: Heinrich Schuchardt xypron.glpk@gmx.de
participants (3)
-
Heiko Thiery
-
Heinrich Schuchardt
-
Pali Rohár