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