Add support for building ubifs images.
[oweals/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