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