From: Frieder Schrempf <frieder.schre...@kontron.de>

Some compression algorithms currently can be enabled for SPL and
U-Boot proper separately. Therefore take into account USE_HOSTCC
is well as CONFIG_IS_ENABLED() in these cases to prevent compiling these
functions in case of a host tool build.

Signed-off-by: Frieder Schrempf <frieder.schre...@kontron.de>
Signed-off-by: Tim Harvey <thar...@gateworks.com>
---
v2: avoid using USE_HOSTCC with another CONFIG to avoid issue found building 
m68k
---
 common/image.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/common/image.c b/common/image.c
index 6923dac..dc9b191 100644
--- a/common/image.c
+++ b/common/image.c
@@ -461,13 +461,16 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                else
                        ret = -ENOSPC;
                break;
-#ifdef CONFIG_GZIP
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(GZIP)
        case IH_COMP_GZIP: {
                ret = gunzip(load_buf, unc_len, image_buf, &image_len);
                break;
        }
 #endif /* CONFIG_GZIP */
-#ifdef CONFIG_BZIP2
+#endif
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(BZIP2)
        case IH_COMP_BZIP2: {
                uint size = unc_len;
 
@@ -483,7 +486,9 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                break;
        }
 #endif /* CONFIG_BZIP2 */
-#ifdef CONFIG_LZMA
+#endif
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(LZMA)
        case IH_COMP_LZMA: {
                SizeT lzma_len = unc_len;
 
@@ -493,7 +498,9 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                break;
        }
 #endif /* CONFIG_LZMA */
-#ifdef CONFIG_LZO
+#endif
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(LZO)
        case IH_COMP_LZO: {
                size_t size = unc_len;
 
@@ -502,7 +509,9 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                break;
        }
 #endif /* CONFIG_LZO */
-#ifdef CONFIG_LZ4
+#endif
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(LZ4)
        case IH_COMP_LZ4: {
                size_t size = unc_len;
 
@@ -511,7 +520,9 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                break;
        }
 #endif /* CONFIG_LZ4 */
-#ifdef CONFIG_ZSTD
+#endif
+#ifndef USE_HOSTCC
+#if CONFIG_IS_ENABLED(ZSTD)
        case IH_COMP_ZSTD: {
                size_t size = unc_len;
                ZSTD_DStream *dstream;
@@ -561,6 +572,7 @@ int image_decomp(int comp, ulong load, ulong image_start, 
int type,
                break;
        }
 #endif /* CONFIG_ZSTD */
+#endif
        default:
                printf("Unimplemented compression type %d\n", comp);
                return -ENOSYS;
-- 
2.7.4

Reply via email to