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