integrate mklibs.py support into the build process
[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         config TARGET_ROOTFS_JFFS2
24                 bool "jffs2"
25                 default y if USES_JFFS2
26                 depends !TARGET_ROOTFS_INITRAMFS
27                 help
28                   Build a jffs2 root filesystem
29
30         config TARGET_ROOTFS_SQUASHFS
31                 bool "squashfs"
32                 default y if USES_SQUASHFS
33                 depends !TARGET_ROOTFS_INITRAMFS
34                 help
35                   Build a squashfs-lzma root filesystem
36
37         config TARGET_ROOTFS_TGZ
38                 bool "tgz"
39                 default y if USES_TGZ
40                 depends !TARGET_ROOTFS_INITRAMFS
41                 help
42                   Build a compressed tar archive of the the root filesystem
43                   
44         config TARGET_ROOTFS_CPIOGZ
45                 bool "cpiogz"
46                 default y if USES_CPIOGZ
47                 depends !TARGET_ROOTFS_INITRAMFS
48                 help
49                   Build a compressed cpio archive of the the root filesystem
50                   
51         config TARGET_ROOTFS_EXT2FS
52                 bool "ext2"
53                 default y if USES_EXT2
54                 depends !TARGET_ROOTFS_INITRAMFS
55                 help
56                   Ext2 file system with some free space for uml images
57
58         config TARGET_ROOTFS_ISO 
59                 bool "iso" 
60                 default n 
61                 depends TARGET_ROOTFS_INITRAMFS && TARGET_x86 
62                 help 
63                   Create some bootable ISO image 
64
65 comment "Image Options"
66
67 source "target/linux/*/image/Config.in"
68
69     config TARGET_ROOTFS_FSPART
70         int "Filesystem part size (in MB)"
71         depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT2FS || TARGET_rb532 || TARGET_olpc
72         default 48
73         help
74             Allows you to change the filesystem partition size
75
76     config TARGET_ROOTFS_MAXINODE
77         int "Maximum number of inodes in filesystem"
78         depends TARGET_ROOTFS_EXT2FS
79         default 6000
80         help
81             Allows you to change the maximum number of inodes in the filesystem
82
83 endmenu
84
85 menu "Global build settings"
86
87 config ALL
88         bool "Select all packages by default"
89         default n
90
91 comment "General build options"
92
93 config CLEAN_IPKG
94         bool
95         prompt "Disable ipkg/opkg installation on the target"
96         default n
97         help
98                 This removes all ipkg data from the target directory before building the root fs
99
100 choice
101         prompt "Binary stripping method"
102         default USE_STRIP   if USE_GLIBC || USE_EGLIBC
103         default USE_SSTRIP
104         help
105           Select the binary stripping method you wish to use.
106
107         config NO_STRIP
108                 bool "none"
109                 help
110                   This will install unstripped binaries (useful for native compiling/debugging)
111
112         config USE_STRIP
113                 bool "strip"
114                 depends !DEBUG
115                 help
116                   This will install binaries stripped using strip from binutils
117
118
119         config USE_SSTRIP
120                 bool "sstrip"
121                 depends !DEBUG
122                 depends !USE_GLIBC
123                 depends !USE_EGLIBC
124                 help
125                   This will install binaries stripped using sstrip
126
127 endchoice
128
129 config USE_MKLIBS
130         bool "Strip unnecessary functions from libraries"
131         help
132           Reduces libraries to only those functions that are necessary for using all
133           selected packages (including those selected as <M>)
134           Note that this will make the system libraries incompatible with most of the packages
135           that are not selected during the build process
136
137 comment "Package build options"
138
139 config DEBUG
140         bool
141         prompt "Compile packages with debugging info"
142         default n
143         help
144                 Disables stripping and adds -g3 to the CFLAGS
145
146 config DEBUG_DIR
147         bool "Install debugging binaries into a staging directory"
148         default n
149         help
150                 This will install all compiled package binaries into build_dir/target-*/debug-*/,
151                 useful for cross-debugging via gdb/gdbserver
152
153 config IPV6 
154         bool 
155         prompt "Enable IPv6 support in packages"
156         default n 
157         help 
158                 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
159
160 comment "Kernel build options"
161
162 config KERNEL_KALLSYMS
163         bool "Compile the kernel with symbol table information"
164         default n
165         help
166                 This will give you more information in stack traces from kernel oopses
167 config KERNEL_PROFILING
168         bool "Compile the kernel with profiling enabled"
169         default n
170         help
171                 Enable the extended profiling support mechanisms used by profilers such
172                 as OProfile.
173
174 endmenu
175
176 menuconfig DEVEL
177         bool "Advanced configuration options (for developers)"
178         default n
179         select TOOLCHAINOPTS if !NATIVE_TOOLCHAIN
180
181 config BROKEN
182         bool
183         prompt "Show broken platforms / packages" if DEVEL
184         default n
185
186 config DOWNLOAD_FOLDER
187         string
188         prompt "Download folder" if DEVEL
189         default ""
190
191 config LOCALMIRROR
192         string
193         prompt "Local mirror for source packages" if DEVEL
194
195 config AUTOREBUILD
196         bool
197         prompt "Automatic rebuild of packages" if DEVEL
198         default y
199         help
200                 Automatically rebuild packages when their files change
201
202 config BUILD_SUFFIX
203         string
204         prompt "Build suffix to append to the BUILD_DIR variable" if DEVEL
205         default ""
206         help
207                 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
208
209 config TARGET_ROOTFS_DIR
210         string
211         prompt "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
212         default ""
213         help
214                 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
215                 Use this option to re-define the location of the target root file system directory.
216
217 config CCACHE
218         bool
219         prompt "Use ccache" if DEVEL
220         default n
221         help
222                 Compiler cache; see http://ccache.samba.org/
223
224 config EXTERNAL_KERNEL_TREE
225         string
226         prompt "Use external kernel tree" if DEVEL
227         default ""
228
229 config KERNEL_GIT_CLONE_URI
230         string
231         prompt "Enter git repository to clone" if DEVEL
232         default ""
233         help
234                 Enter the full git repository path i.e.:
235                 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
236                 This will create a git clone of the kernel in your build
237                 directory.
238
239 config KERNEL_GIT_LOCAL_REPOSITORY
240         string
241         prompt "Enter path to local reference repository" if DEVEL
242         default ""
243         help
244                 Enter a full pathname to a local reference git repository.
245                 In this instance, the --refererence option of git clone will
246                 be used thus creating a quick local clone of your repo.
247
248 source "toolchain/Config.in"
249
250 source "target/imagebuilder/Config.in"
251 source "target/sdk/Config.in"
252
253 source "tmp/.config-package.in"
254
255