1f689c0664a40d996cee3b5ae7e758399d2db1b6
[openwrt/openwrt.git] / Config.in
1 # Copyright (C) 2006-2009 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 mainmenu "OpenWrt Configuration"
8
9 config HAVE_DOT_CONFIG
10 bool
11 default y
12
13 source "target/Config.in"
14
15 menu "Target Images"
16 config TARGET_ROOTFS_INITRAMFS
17 bool "ramdisk"
18 default y if USES_INITRAMFS
19 depends LINUX_2_6
20 help
21 Embed the rootfs into the kernel (initramfs)
22
23 choice
24 prompt "ramdisk compression"
25 depends TARGET_ROOTFS_INITRAMFS
26 depends !LINUX_2_6_21
27 depends !LINUX_2_6_25
28 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
29 default TARGET_INITRAMFS_COMPRESSION_NONE
30 help
31 Select ramdisk compression.
32
33 config TARGET_INITRAMFS_COMPRESSION_NONE
34 bool "NONE"
35
36 config TARGET_INITRAMFS_COMPRESSION_GZIP
37 bool "GZIP"
38
39 config TARGET_INITRAMFS_COMPRESSION_BZIP2
40 bool "BZIP2"
41
42 config TARGET_INITRAMFS_COMPRESSION_LZMA
43 bool "LZMA"
44
45 config TARGET_INITRAMFS_COMPRESSION_LZO
46 bool "LZO"
47 endchoice
48
49 config TARGET_ROOTFS_JFFS2
50 bool "jffs2"
51 default y if USES_JFFS2
52 depends !TARGET_ROOTFS_INITRAMFS
53 help
54 Build a jffs2 root filesystem
55
56 config TARGET_ROOTFS_SQUASHFS
57 bool "squashfs"
58 default y if USES_SQUASHFS
59 depends !TARGET_ROOTFS_INITRAMFS
60 help
61 Build a squashfs-lzma root filesystem
62
63 config TARGET_ROOTFS_TGZ
64 bool "tgz"
65 default y if USES_TGZ
66 depends !TARGET_ROOTFS_INITRAMFS
67 help
68 Build a compressed tar archive of the the root filesystem
69
70 config TARGET_ROOTFS_CPIOGZ
71 bool "cpiogz"
72 default y if USES_CPIOGZ
73 depends !TARGET_ROOTFS_INITRAMFS
74 help
75 Build a compressed cpio archive of the the root filesystem
76
77 config TARGET_ROOTFS_EXT2FS
78 bool "ext2"
79 default y if USES_EXT2
80 depends !TARGET_ROOTFS_INITRAMFS
81 help
82 Ext2 file system with some free space for uml images
83
84 config TARGET_ROOTFS_ISO
85 bool "iso"
86 default n
87 depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
88 help
89 Create some bootable ISO image
90
91 config TARGET_ROOTFS_UBIFS
92 bool "ubifs"
93 default y if USES_UBIFS
94 depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
95 help
96 Build a ubifs root filesystem
97
98 comment "Image Options"
99
100 source "target/linux/*/image/Config.in"
101
102 config TARGET_ROOTFS_FSPART
103 int "Filesystem part size (in MB)"
104 depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT2FS || TARGET_rb532 || TARGET_olpc
105 default 48
106 help
107 Allows you to change the filesystem partition size
108
109 config TARGET_ROOTFS_MAXINODE
110 int "Maximum number of inodes in filesystem"
111 depends TARGET_ROOTFS_EXT2FS
112 default 6000
113 help
114 Allows you to change the maximum number of inodes in the filesystem
115
116 endmenu
117
118 menu "Global build settings"
119
120 config ALL
121 bool "Select all packages by default"
122 default n
123
124 comment "General build options"
125
126 config CLEAN_IPKG
127 bool
128 prompt "Disable ipkg/opkg installation on the target"
129 default n
130 help
131 This removes all ipkg data from the target directory before building the root fs
132
133 config LARGEFILE
134 bool
135 prompt "Enable large file (files > 2 GB) support"
136 default y
137 help
138 Enable large file (files > 2 GB) support.
139
140 config SHADOW_PASSWORDS
141 bool
142 prompt "Enable shadow password support"
143 default y
144 help
145 Enable shadow password support.
146
147 choice
148 prompt "Binary stripping method"
149 default USE_STRIP if EXTERNAL_TOOLCHAIN
150 default USE_STRIP if USE_GLIBC || USE_EGLIBC
151 default USE_SSTRIP
152 help
153 Select the binary stripping method you wish to use.
154
155 config NO_STRIP
156 bool "none"
157 help
158 This will install unstripped binaries (useful for native compiling/debugging)
159
160 config USE_STRIP
161 bool "strip"
162 help
163 This will install binaries stripped using strip from binutils
164
165
166 config USE_SSTRIP
167 bool "sstrip"
168 depends !DEBUG
169 depends !USE_GLIBC
170 depends !USE_EGLIBC
171 help
172 This will install binaries stripped using sstrip
173
174 endchoice
175
176 config USE_MKLIBS
177 bool "Strip unnecessary functions from libraries"
178 help
179 Reduces libraries to only those functions that are necessary for using all
180 selected packages (including those selected as <M>)
181 Note that this will make the system libraries incompatible with most of the packages
182 that are not selected during the build process
183
184 config STRIP_KERNEL_EXPORTS
185 depends LINUX_2_6
186 bool "Strip unnecessary exports from the kernel image"
187 help
188 Reduces kernel size by stripping unused kernel exports from the kernel image
189 Note that this might make the kernel incompatible with any kernel modules that
190 were not selected at the time the kernel image was created
191
192 comment "Package build options"
193
194 config DEBUG
195 bool
196 prompt "Compile packages with debugging info"
197 default n
198 help
199 Adds -g3 to the CFLAGS
200
201 config DEBUG_DIR
202 bool "Install debugging binaries into a staging directory"
203 default n
204 help
205 This will install all compiled package binaries into build_dir/target-*/debug-*/,
206 useful for cross-debugging via gdb/gdbserver
207
208 config IPV6
209 bool
210 prompt "Enable IPv6 support in packages"
211 default n
212 help
213 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
214
215 comment "Kernel build options"
216
217 config KERNEL_KALLSYMS
218 bool "Compile the kernel with symbol table information"
219 default n
220 help
221 This will give you more information in stack traces from kernel oopses
222
223 config KERNEL_PROFILING
224 bool "Compile the kernel with profiling enabled"
225 default n
226 help
227 Enable the extended profiling support mechanisms used by profilers such
228 as OProfile.
229
230 config KERNEL_DEBUG_FS
231 bool "Compile the kernel with Debug Filesystem enabled"
232 depends LINUX_2_6
233 default y
234 help
235 debugfs is a virtual file system that kernel developers use to put
236 debugging files into. Enable this option to be able to read and
237 write to these files.
238
239 endmenu
240
241 menuconfig DEVEL
242 bool "Advanced configuration options (for developers)"
243 default n
244
245 config BROKEN
246 bool
247 prompt "Show broken platforms / packages" if DEVEL
248 default n
249
250 config DOWNLOAD_FOLDER
251 string
252 prompt "Download folder" if DEVEL
253 default ""
254
255 config LOCALMIRROR
256 string
257 prompt "Local mirror for source packages" if DEVEL
258
259 config AUTOREBUILD
260 bool
261 prompt "Automatic rebuild of packages" if DEVEL
262 default y
263 help
264 Automatically rebuild packages when their files change
265
266 config BUILD_SUFFIX
267 string
268 prompt "Build suffix to append to the BUILD_DIR variable" if DEVEL
269 default ""
270 help
271 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
272
273 config TARGET_ROOTFS_DIR
274 string
275 prompt "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
276 default ""
277 help
278 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
279 Use this option to re-define the location of the target root file system directory.
280
281 config CCACHE
282 bool
283 prompt "Use ccache" if DEVEL
284 default n
285 help
286 Compiler cache; see http://ccache.samba.org/
287
288 config EXTERNAL_KERNEL_TREE
289 string
290 prompt "Use external kernel tree" if DEVEL
291 default ""
292
293 config KERNEL_GIT_CLONE_URI
294 string
295 prompt "Enter git repository to clone" if DEVEL
296 default ""
297 help
298 Enter the full git repository path i.e.:
299 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
300 This will create a git clone of the kernel in your build
301 directory.
302
303 config KERNEL_GIT_LOCAL_REPOSITORY
304 string
305 prompt "Enter path to local reference repository" if DEVEL
306 default ""
307 help
308 Enter a full pathname to a local reference git repository.
309 In this instance, the --refererence option of git clone will
310 be used thus creating a quick local clone of your repo.
311
312
313 menuconfig TARGET_OPTIONS
314 bool "Target Options" if DEVEL
315
316 config TARGET_OPTIMIZATION
317 string
318 prompt "Target Optimizations" if TARGET_OPTIONS
319 default DEFAULT_TARGET_OPTIMIZATION
320 help
321 Optimizations to use when building for the target host.
322
323 config SOFT_FLOAT
324 bool
325 prompt "Use software floating point by default" if TARGET_OPTIONS
326 default y
327 depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
328 help
329 If your target CPU does not have a Floating Point Unit (FPU) or a
330 kernel FPU emulator, but you still wish to support floating point
331 functions, then everything will need to be compiled with soft floating
332 point support (-msoft-float).
333
334 Most people will answer N.
335
336
337 source "toolchain/Config.in"
338
339 source "target/imagebuilder/Config.in"
340 source "target/sdk/Config.in"
341 source "target/toolchain/Config.in"
342
343 source "tmp/.config-package.in"
344
345