Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain...
[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                 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 EXTERNAL_TOOLCHAIN
142         default USE_STRIP   if USE_GLIBC || USE_EGLIBC
143         default USE_SSTRIP
144         help
145           Select the binary stripping method you wish to use.
146
147         config NO_STRIP
148                 bool "none"
149                 help
150                   This will install unstripped binaries (useful for native compiling/debugging)
151
152         config USE_STRIP
153                 bool "strip"
154                 help
155                   This will install binaries stripped using strip from binutils
156
157
158         config USE_SSTRIP
159                 bool "sstrip"
160                 depends !USE_GLIBC
161                 depends !USE_EGLIBC
162                 help
163                   This will install binaries stripped using sstrip
164
165 endchoice
166
167 config USE_MKLIBS
168         bool "Strip unnecessary functions from libraries"
169         help
170           Reduces libraries to only those functions that are necessary for using all
171           selected packages (including those selected as <M>)
172           Note that this will make the system libraries incompatible with most of the packages
173           that are not selected during the build process
174
175 config STRIP_KERNEL_EXPORTS
176         depends LINUX_2_6
177         bool "Strip unnecessary exports from the kernel image"
178         help
179           Reduces kernel size by stripping unused kernel exports from the kernel image
180           Note that this might make the kernel incompatible with any kernel modules that
181           were not selected at the time the kernel image was created
182
183 comment "Package build options"
184
185 config DEBUG
186         bool
187         prompt "Compile packages with debugging info"
188         default n
189         help
190                 Disables stripping and adds -g3 to the CFLAGS
191
192 config DEBUG_DIR
193         bool "Install debugging binaries into a staging directory"
194         default n
195         help
196                 This will install all compiled package binaries into build_dir/target-*/debug-*/,
197                 useful for cross-debugging via gdb/gdbserver
198
199 config IPV6
200         bool
201         prompt "Enable IPv6 support in packages"
202         default n
203         help
204                 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
205
206 comment "Kernel build options"
207
208 config KERNEL_KALLSYMS
209         bool "Compile the kernel with symbol table information"
210         default n
211         help
212                 This will give you more information in stack traces from kernel oopses
213
214 config KERNEL_PROFILING
215         bool "Compile the kernel with profiling enabled"
216         default n
217         help
218                 Enable the extended profiling support mechanisms used by profilers such
219                 as OProfile.
220
221 config KERNEL_DEBUG_FS
222         bool "Compile the kernel with Debug Filesystem enabled"
223         depends LINUX_2_6
224         default y
225         help
226                 debugfs is a virtual file system that kernel developers use to put
227                 debugging files into. Enable this option to be able to read and
228                 write to these files.
229
230 endmenu
231
232 menuconfig DEVEL
233         bool "Advanced configuration options (for developers)"
234         default n
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 source "target/toolchain/Config.in"
333
334 source "tmp/.config-package.in"
335
336