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