[PATCH] bzip2/lzma: make config machinery an arch configurable

From: H . Peter Anvin
Date: Sun Jan 04 2009 - 18:41:25 EST


Impact: Bug fix (we should not show this menu on irrelevant architectures)

Make the config machinery to drive the gzip/bzip2/lzma selection
dependent on the architecture advertising HAVE_KERNEL_* so that we
don't display this for architectures where it doesn't matter.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
---
arch/x86/Kconfig | 3 +++
init/Kconfig | 52 +++++++++++++++++++++++++++++++---------------------
2 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 862adb9..7b66c34 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -39,6 +39,9 @@ config X86
select HAVE_GENERIC_DMA_COHERENT if X86_32
select HAVE_EFFICIENT_UNALIGNED_ACCESS
select USER_STACKTRACE_SUPPORT
+ select HAVE_KERNEL_GZIP
+ select HAVE_KERNEL_BZIP2
+ select HAVE_KERNEL_LZMA

config ARCH_DEFCONFIG
string
diff --git a/init/Kconfig b/init/Kconfig
index df84625..f9633c0 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -101,10 +101,20 @@ config LOCALVERSION_AUTO

which is done within the script "scripts/setlocalversion".)

+config HAVE_KERNEL_GZIP
+ bool
+
+config HAVE_KERNEL_BZIP2
+ bool
+
+config HAVE_KERNEL_LZMA
+ bool
+
choice
- prompt "Kernel compression mode"
- default KERNEL_GZIP
- help
+ prompt "Kernel compression mode"
+ default KERNEL_GZIP
+ depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA
+ help
The linux kernel is a kind of self-extracting executable.
Several compression algorithms are available, which differ
in efficiency, compression and decompression speed.
@@ -123,34 +133,34 @@ choice
If in doubt, select 'gzip'

config KERNEL_GZIP
- bool "Gzip"
- help
- The old and tried gzip compression. Its compression ratio is
- the poorest among the 3 choices; however its speed (both
- compression and decompression) is the fastest.
+ bool "Gzip"
+ depends on HAVE_KERNEL_GZIP
+ help
+ The old and tried gzip compression. Its compression ratio is
+ the poorest among the 3 choices; however its speed (both
+ compression and decompression) is the fastest.

config KERNEL_BZIP2
bool "Bzip2"
+ depends on HAVE_KERNEL_BZIP2
help
Its compression ratio and speed is intermediate.
- Decompression speed is slowest among the 3.
- The kernel size is about 10 per cent smaller with bzip2,
- in comparison to gzip.
- Bzip2 uses a large amount of memory. For modern kernels
- you will need at least 8MB RAM or more for booting.
+ Decompression speed is slowest among the three. The kernel
+ size is about 10% smaller with bzip2, in comparison to gzip.
+ Bzip2 uses a large amount of memory. For modern kernels you
+ will need at least 8MB RAM or more for booting.

config KERNEL_LZMA
- bool "LZMA"
- help
- The most recent compression algorithm.
- Its ratio is best, decompression speed is between the other
- 2. Compression is slowest.
- The kernel size is about 33 per cent smaller with lzma,
- in comparison to gzip.
+ bool "LZMA"
+ depends on HAVE_KERNEL_LZMA
+ help
+ The most recent compression algorithm.
+ Its ratio is best, decompression speed is between the other
+ two. Compression is slowest. The kernel size is about 33%
+ smaller with LZMA in comparison to gzip.

endchoice

-
config SWAP
bool "Support for paging of anonymous memory (swap)"
depends on MMU && BLOCK
--
1.5.6.6


--------------000808030606080401030606--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/