do not forcibly disable stripping when selecting CONFIG_DEBUG, debugging symbols...
[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 choice
126         prompt "Binary stripping method"
127         default USE_STRIP   if USE_GLIBC || USE_EGLIBC
128         default USE_SSTRIP
129         help
130           Select the binary stripping method you wish to use.
131
132         config NO_STRIP
133                 bool "none"
134                 help
135                   This will install unstripped binaries (useful for native compiling/debugging)
136
137         config USE_STRIP
138                 bool "strip"
139                 help
140                   This will install binaries stripped using strip from binutils
141
142
143         config USE_SSTRIP
144                 bool "sstrip"
145                 depends !USE_GLIBC
146                 depends !USE_EGLIBC
147                 help
148                   This will install binaries stripped using sstrip
149
150 endchoice
151
152 config USE_MKLIBS
153         bool "Strip unnecessary functions from libraries"
154         help
155           Reduces libraries to only those functions that are necessary for using all
156           selected packages (including those selected as <M>)
157           Note that this will make the system libraries incompatible with most of the packages
158           that are not selected during the build process
159
160 config STRIP_KERNEL_EXPORTS
161         depends LINUX_2_6
162         bool "Strip unnecessary exports from the kernel image"
163         help
164           Reduces kernel size by stripping unused kernel exports from the kernel image
165           Note that this might make the kernel incompatible with any kernel modules that
166           were not selected at the time the kernel image was created
167
168 comment "Package build options"
169
170 config DEBUG
171         bool
172         prompt "Compile packages with debugging info"
173         default n
174         help
175                 Disables stripping and adds -g3 to the CFLAGS
176
177 config DEBUG_DIR
178         bool "Install debugging binaries into a staging directory"
179         default n
180         help
181                 This will install all compiled package binaries into build_dir/target-*/debug-*/,
182                 useful for cross-debugging via gdb/gdbserver
183
184 config IPV6
185         bool
186         prompt "Enable IPv6 support in packages"
187         default n
188         help
189                 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
190
191 comment "Kernel build options"
192
193 config KERNEL_KALLSYMS
194         bool "Compile the kernel with symbol table information"
195         default n
196         help
197                 This will give you more information in stack traces from kernel oopses
198 config KERNEL_PROFILING
199         bool "Compile the kernel with profiling enabled"
200         default n
201         help
202                 Enable the extended profiling support mechanisms used by profilers such
203                 as OProfile.
204
205 endmenu
206
207 menuconfig DEVEL
208         bool "Advanced configuration options (for developers)"
209         default n
210         select TOOLCHAINOPTS if !NATIVE_TOOLCHAIN
211
212 config BROKEN
213         bool
214         prompt "Show broken platforms / packages" if DEVEL
215         default n
216
217 config DOWNLOAD_FOLDER
218         string
219         prompt "Download folder" if DEVEL
220         default ""
221
222 config LOCALMIRROR
223         string
224         prompt "Local mirror for source packages" if DEVEL
225
226 config AUTOREBUILD
227         bool
228         prompt "Automatic rebuild of packages" if DEVEL
229         default y
230         help
231                 Automatically rebuild packages when their files change
232
233 config BUILD_SUFFIX
234         string
235         prompt "Build suffix to append to the BUILD_DIR variable" if DEVEL
236         default ""
237         help
238                 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
239
240 config TARGET_ROOTFS_DIR
241         string
242         prompt "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
243         default ""
244         help
245                 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
246                 Use this option to re-define the location of the target root file system directory.
247
248 config CCACHE
249         bool
250         prompt "Use ccache" if DEVEL
251         default n
252         help
253                 Compiler cache; see http://ccache.samba.org/
254
255 config EXTERNAL_KERNEL_TREE
256         string
257         prompt "Use external kernel tree" if DEVEL
258         default ""
259
260 config KERNEL_GIT_CLONE_URI
261         string
262         prompt "Enter git repository to clone" if DEVEL
263         default ""
264         help
265                 Enter the full git repository path i.e.:
266                 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
267                 This will create a git clone of the kernel in your build
268                 directory.
269
270 config KERNEL_GIT_LOCAL_REPOSITORY
271         string
272         prompt "Enter path to local reference repository" if DEVEL
273         default ""
274         help
275                 Enter a full pathname to a local reference git repository.
276                 In this instance, the --refererence option of git clone will
277                 be used thus creating a quick local clone of your repo.
278
279 source "toolchain/Config.in"
280
281 source "target/imagebuilder/Config.in"
282 source "target/sdk/Config.in"
283
284 source "tmp/.config-package.in"
285
286