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