Respect that some compression algos can be enabled separately for SPL
authorFrieder Schrempf <frieder.schrempf@kontron.de>
Sat, 6 Feb 2021 00:11:06 +0000 (16:11 -0800)
committerStefano Babic <sbabic@denx.de>
Mon, 1 Mar 2021 09:21:36 +0000 (10:21 +0100)
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.schrempf@kontron.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
common/image.c

index a6500f5..51854aa 100644 (file)
@@ -462,13 +462,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;
 
@@ -484,7 +487,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;
 
@@ -494,7 +499,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;
 
@@ -503,7 +510,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;
 
@@ -512,7 +521,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;
@@ -562,6 +573,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;