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