Hi Rasmus, On Fri, 12 Jun 2020 at 05:02, Rasmus Villemoes <rasmus.villem...@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.villem...@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