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