
Hi Rasmus,
On Fri, 12 Jun 2020 at 05:02, Rasmus Villemoes rasmus.villemoes@prevas.dk wrote:
When building host tools, the CONFIG_GZIP etc. symbols are not defined anyway, so this does not (should not) change anything [1]. However, since the host tools also don't include linux/kconfig.h, one cannot use the CONFIG_IS_ENABLED() smartness in a preprocessor conditional, which in turn prevents one from adding, say, an
#if CONFIG_IS_ENABLED(ZSTD)
case.
OTOH, with this, one can do that, and it also makes it possible to convert say, "#ifdef CONFIG_GZIP" to "#if CONFIG_IS_ENABLED(GZIP)" to make those other cases SPL-or-not-SPL-aware.
[1] The gzip.h header is only included under !USE_HOSTCC, and removing the CONFIG_GZIP conditional hence both gives an "no declaration of gunzip" warning as well as breaks the link of the host tools, since the gunzip code is indeed not linked in.
Signed-off-by: Rasmus Villemoes rasmus.villemoes@prevas.dk
common/image.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/image.c b/common/image.c index e1ca1a7905..73f6845274 100644 --- a/common/image.c +++ b/common/image.c @@ -458,6 +458,7 @@ int image_decomp(int comp, ulong load, ulong image_start, int type, else ret = -ENOSPC; break; +#ifndef USE_HOSTCC
In general I'm not a fan of the USE_HOSTCC stuff. I suspect HOST should be a Kconfig like anything else, although perhaps magically inserted somehow. Then we can do more things at compile-time.
#ifdef CONFIG_GZIP case IH_COMP_GZIP: { ret = gunzip(load_buf, unc_len, image_buf, &image_len); @@ -508,6 +509,7 @@ int image_decomp(int comp, ulong load, ulong image_start, int type, break; } #endif /* CONFIG_LZ4 */ +#endif /* !USE_HOSTCC */ default: printf("Unimplemented compression type %d\n", comp); return -ENOSYS; -- 2.23.0
Regards, Simon