2ff2862a2a9f0c25ba5107ee4e565e64f15dc6de
[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_25
27                 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
28                 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
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 STRIP_ARGS
177         string
178         prompt "Strip arguments"
179         depends USE_STRIP
180         default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
181         default "--strip-all"
182         help
183           Specifies arguments passed to the strip command when stripping binaries
184
185 config USE_MKLIBS
186         bool "Strip unnecessary functions from libraries"
187         help
188           Reduces libraries to only those functions that are necessary for using all
189           selected packages (including those selected as <M>)
190           Note that this will make the system libraries incompatible with most of the packages
191           that are not selected during the build process
192
193 config STRIP_KERNEL_EXPORTS
194         depends LINUX_2_6
195         bool "Strip unnecessary exports from the kernel image"
196         help
197           Reduces kernel size by stripping unused kernel exports from the kernel image
198           Note that this might make the kernel incompatible with any kernel modules that
199           were not selected at the time the kernel image was created
200
201 comment "Package build options"
202
203 config DEBUG
204         bool
205         prompt "Compile packages with debugging info"
206         default n
207         help
208                 Adds -g3 to the CFLAGS
209
210 config IPV6
211         bool
212         prompt "Enable IPv6 support in packages"
213         default n
214         help
215                 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
216
217 comment "Kernel build options"
218
219 config KERNEL_KALLSYMS
220         bool "Compile the kernel with symbol table information"
221         default n
222         help
223                 This will give you more information in stack traces from kernel oopses
224
225 config KERNEL_PROFILING
226         bool "Compile the kernel with profiling enabled"
227         default n
228         help
229                 Enable the extended profiling support mechanisms used by profilers such
230                 as OProfile.
231
232 config KERNEL_DEBUG_FS
233         bool "Compile the kernel with Debug Filesystem enabled"
234         depends LINUX_2_6
235         default y
236         help
237                 debugfs is a virtual file system that kernel developers use to put
238                 debugging files into. Enable this option to be able to read and
239                 write to these files.
240
241 endmenu
242
243 menuconfig DEVEL
244         bool "Advanced configuration options (for developers)"
245         default n
246
247 config BROKEN
248         bool
249         prompt "Show broken platforms / packages" if DEVEL
250         default n
251
252 config DOWNLOAD_FOLDER
253         string
254         prompt "Download folder" if DEVEL
255         default ""
256
257 config LOCALMIRROR
258         string
259         prompt "Local mirror for source packages" if DEVEL
260
261 config AUTOREBUILD
262         bool
263         prompt "Automatic rebuild of packages" if DEVEL
264         default y
265         help
266                 Automatically rebuild packages when their files change
267
268 config BUILD_SUFFIX
269         string
270         prompt "Build suffix to append to the BUILD_DIR variable" if DEVEL
271         default ""
272         help
273                 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
274
275 config TARGET_ROOTFS_DIR
276         string
277         prompt "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
278         default ""
279         help
280                 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
281                 Use this option to re-define the location of the target root file system directory.
282
283 config CCACHE
284         bool
285         prompt "Use ccache" if DEVEL
286         default n
287         help
288                 Compiler cache; see http://ccache.samba.org/
289
290 config EXTERNAL_KERNEL_TREE
291         string
292         prompt "Use external kernel tree" if DEVEL
293         default ""
294
295 config KERNEL_GIT_CLONE_URI
296         string
297         prompt "Enter git repository to clone" if DEVEL
298         default ""
299         help
300                 Enter the full git repository path i.e.:
301                 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
302                 This will create a git clone of the kernel in your build
303                 directory.
304
305 config KERNEL_GIT_LOCAL_REPOSITORY
306         string
307         prompt "Enter path to local reference repository" if DEVEL
308         default ""
309         help
310                 Enter a full pathname to a local reference git repository.
311                 In this instance, the --refererence option of git clone will
312                 be used thus creating a quick local clone of your repo.
313
314
315 menuconfig TARGET_OPTIONS
316         bool "Target Options"  if DEVEL
317
318 config TARGET_OPTIMIZATION
319         string
320         prompt "Target Optimizations" if TARGET_OPTIONS
321         default DEFAULT_TARGET_OPTIMIZATION
322         help
323           Optimizations to use when building for the target host.
324
325 config SOFT_FLOAT
326         bool
327         prompt "Use software floating point by default" if TARGET_OPTIONS
328         default y
329         depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
330         help
331           If your target CPU does not have a Floating Point Unit (FPU) or a
332           kernel FPU emulator, but you still wish to support floating point
333           functions, then everything will need to be compiled with soft floating
334           point support (-msoft-float).
335
336           Most people will answer N.
337
338
339 source "toolchain/Config.in"
340
341 source "target/imagebuilder/Config.in"
342 source "target/sdk/Config.in"
343 source "target/toolchain/Config.in"
344
345 source "tmp/.config-package.in"
346
347