lib: Fix multiple definitions of clz_tab
[linux-2.6/libata-dev.git] / lib / Kconfig
blobd69d321a0997d967563e2ab254b52262d2321aa5
2 # Library configuration
5 config BINARY_PRINTF
6         def_bool n
8 menu "Library routines"
10 config RAID6_PQ
11         tristate
13 config BITREVERSE
14         tristate
16 config RATIONAL
17         boolean
19 config GENERIC_FIND_FIRST_BIT
20         bool
22 config GENERIC_PCI_IOMAP
23         bool
25 config GENERIC_IOMAP
26         bool
27         select GENERIC_PCI_IOMAP
29 config CRC_CCITT
30         tristate "CRC-CCITT functions"
31         help
32           This option is provided for the case where no in-kernel-tree
33           modules require CRC-CCITT functions, but a module built outside
34           the kernel tree does. Such modules that use library CRC-CCITT
35           functions require M here.
37 config CRC16
38         tristate "CRC16 functions"
39         help
40           This option is provided for the case where no in-kernel-tree
41           modules require CRC16 functions, but a module built outside
42           the kernel tree does. Such modules that use library CRC16
43           functions require M here.
45 config CRC_T10DIF
46         tristate "CRC calculation for the T10 Data Integrity Field"
47         help
48           This option is only needed if a module that's not in the
49           kernel tree needs to calculate CRC checks for use with the
50           SCSI data integrity subsystem.
52 config CRC_ITU_T
53         tristate "CRC ITU-T V.41 functions"
54         help
55           This option is provided for the case where no in-kernel-tree
56           modules require CRC ITU-T V.41 functions, but a module built outside
57           the kernel tree does. Such modules that use library CRC ITU-T V.41
58           functions require M here.
60 config CRC32
61         tristate "CRC32 functions"
62         default y
63         select BITREVERSE
64         help
65           This option is provided for the case where no in-kernel-tree
66           modules require CRC32 functions, but a module built outside the
67           kernel tree does. Such modules that use library CRC32 functions
68           require M here.
70 config CRC7
71         tristate "CRC7 functions"
72         help
73           This option is provided for the case where no in-kernel-tree
74           modules require CRC7 functions, but a module built outside
75           the kernel tree does. Such modules that use library CRC7
76           functions require M here.
78 config LIBCRC32C
79         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
80         select CRYPTO
81         select CRYPTO_CRC32C
82         help
83           This option is provided for the case where no in-kernel-tree
84           modules require CRC32c functions, but a module built outside the
85           kernel tree does. Such modules that use library CRC32c functions
86           require M here.  See Castagnoli93.
87           Module will be libcrc32c.
89 config CRC8
90         tristate "CRC8 function"
91         help
92           This option provides CRC8 function. Drivers may select this
93           when they need to do cyclic redundancy check according CRC8
94           algorithm. Module will be called crc8.
96 config AUDIT_GENERIC
97         bool
98         depends on AUDIT && !AUDIT_ARCH
99         default y
102 # compression support is select'ed if needed
104 config ZLIB_INFLATE
105         tristate
107 config ZLIB_DEFLATE
108         tristate
110 config LZO_COMPRESS
111         tristate
113 config LZO_DECOMPRESS
114         tristate
116 source "lib/xz/Kconfig"
119 # These all provide a common interface (hence the apparent duplication with
120 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
122 config DECOMPRESS_GZIP
123         select ZLIB_INFLATE
124         tristate
126 config DECOMPRESS_BZIP2
127         tristate
129 config DECOMPRESS_LZMA
130         tristate
132 config DECOMPRESS_XZ
133         select XZ_DEC
134         tristate
136 config DECOMPRESS_LZO
137         select LZO_DECOMPRESS
138         tristate
141 # Generic allocator support is selected if needed
143 config GENERIC_ALLOCATOR
144         boolean
147 # reed solomon support is select'ed if needed
149 config REED_SOLOMON
150         tristate
151         
152 config REED_SOLOMON_ENC8
153         boolean
155 config REED_SOLOMON_DEC8
156         boolean
158 config REED_SOLOMON_ENC16
159         boolean
161 config REED_SOLOMON_DEC16
162         boolean
165 # BCH support is selected if needed
167 config BCH
168         tristate
170 config BCH_CONST_PARAMS
171         boolean
172         help
173           Drivers may select this option to force specific constant
174           values for parameters 'm' (Galois field order) and 't'
175           (error correction capability). Those specific values must
176           be set by declaring default values for symbols BCH_CONST_M
177           and BCH_CONST_T.
178           Doing so will enable extra compiler optimizations,
179           improving encoding and decoding performance up to 2x for
180           usual (m,t) values (typically such that m*t < 200).
181           When this option is selected, the BCH library supports
182           only a single (m,t) configuration. This is mainly useful
183           for NAND flash board drivers requiring known, fixed BCH
184           parameters.
186 config BCH_CONST_M
187         int
188         range 5 15
189         help
190           Constant value for Galois field order 'm'. If 'k' is the
191           number of data bits to protect, 'm' should be chosen such
192           that (k + m*t) <= 2**m - 1.
193           Drivers should declare a default value for this symbol if
194           they select option BCH_CONST_PARAMS.
196 config BCH_CONST_T
197         int
198         help
199           Constant value for error correction capability in bits 't'.
200           Drivers should declare a default value for this symbol if
201           they select option BCH_CONST_PARAMS.
204 # Textsearch support is select'ed if needed
206 config TEXTSEARCH
207         boolean
209 config TEXTSEARCH_KMP
210         tristate
212 config TEXTSEARCH_BM
213         tristate
215 config TEXTSEARCH_FSM
216         tristate
218 config BTREE
219         boolean
221 config HAS_IOMEM
222         boolean
223         depends on !NO_IOMEM
224         default y
226 config HAS_IOPORT
227         boolean
228         depends on HAS_IOMEM && !NO_IOPORT
229         default y
231 config HAS_DMA
232         boolean
233         depends on !NO_DMA
234         default y
236 config CHECK_SIGNATURE
237         bool
239 config CPUMASK_OFFSTACK
240         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
241         help
242           Use dynamic allocation for cpumask_var_t, instead of putting
243           them on the stack.  This is a bit more expensive, but avoids
244           stack overflow.
246 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
247        bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
248        depends on EXPERIMENTAL && BROKEN
250 config CPU_RMAP
251         bool
252         depends on SMP
254 config DQL
255         bool
258 # Netlink attribute parsing support is select'ed if needed
260 config NLATTR
261         bool
264 # Generic 64-bit atomic support is selected if needed
266 config GENERIC_ATOMIC64
267        bool
269 config LRU_CACHE
270         tristate
272 config AVERAGE
273         bool "Averaging functions"
274         help
275           This option is provided for the case where no in-kernel-tree
276           modules require averaging functions, but a module built outside
277           the kernel tree does. Such modules that use library averaging
278           functions require Y here.
280           If unsure, say N.
282 config CLZ_TAB
283         bool
285 config CORDIC
286         tristate "CORDIC algorithm"
287         help
288           This option provides an implementation of the CORDIC algorithm;
289           calculations are in fixed point. Module will be called cordic.
291 config MPILIB
292         tristate
293         select CLZ_TAB
294         help
295           Multiprecision maths library from GnuPG.
296           It is used to implement RSA digital signature verification,
297           which is used by IMA/EVM digital signature extension.
299 config MPILIB_EXTRA
300         bool
301         depends on MPILIB
302         help
303           Additional sources of multiprecision maths library from GnuPG.
304           This code is unnecessary for RSA digital signature verification,
305           but can be compiled if needed.
307 config SIGNATURE
308         tristate
309         depends on KEYS && CRYPTO
310         select CRYPTO_SHA1
311         select MPILIB
312         help
313           Digital signature verification. Currently only RSA is supported.
314           Implementation is done using GnuPG MPI library
316 endmenu