toolchain: enable parallel build for uClibc, remove the obsolete TOOLCHAIN_PARALLEL...
[openwrt/staging/chunkeey.git] / Config.in
1 # Copyright (C) 2006-2012 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
17 menuconfig TARGET_ROOTFS_INITRAMFS
18 bool "ramdisk"
19 default y if USES_INITRAMFS
20 help
21 Embed the rootfs into the kernel (initramfs)
22
23 choice
24 prompt "Compression"
25 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
26 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
27 default TARGET_INITRAMFS_COMPRESSION_NONE
28 depends TARGET_ROOTFS_INITRAMFS
29 help
30 Select ramdisk compression.
31
32 config TARGET_INITRAMFS_COMPRESSION_NONE
33 bool "none"
34
35 config TARGET_INITRAMFS_COMPRESSION_GZIP
36 bool "gzip"
37
38 config TARGET_INITRAMFS_COMPRESSION_BZIP2
39 bool "bzip2"
40
41 config TARGET_INITRAMFS_COMPRESSION_LZMA
42 bool "lzma"
43
44 config TARGET_INITRAMFS_COMPRESSION_LZO
45 bool "lzo"
46
47 config TARGET_INITRAMFS_COMPRESSION_XZ
48 bool "xz"
49 endchoice
50
51 config EXTERNAL_CPIO
52 string
53 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
54 default ""
55 help
56 Kernel uses specified external cpio as INITRAMFS_SOURCE
57
58 comment "Root filesystem archives"
59
60 config TARGET_ROOTFS_CPIOGZ
61 bool "cpio.gz"
62 default y if USES_CPIOGZ
63 help
64 Build a compressed cpio archive of the the root filesystem
65
66 config TARGET_ROOTFS_TARGZ
67 bool "tar.gz"
68 default y if USES_TARGZ
69 help
70 Build a compressed tar archive of the the root filesystem
71
72 comment "Root filesystem images"
73
74 config TARGET_ROOTFS_EXT4FS
75 bool "ext4"
76 default y if USES_EXT4
77 depends !TARGET_ROOTFS_INITRAMFS
78 help
79 Ext4 file system with some free space for uml images
80
81 config TARGET_ROOTFS_ISO
82 bool "iso"
83 default n
84 depends on TARGET_x86_generic
85 depends !TARGET_ROOTFS_INITRAMFS
86 help
87 Create some bootable ISO image
88
89 config TARGET_ROOTFS_JFFS2
90 bool "jffs2"
91 default y if USES_JFFS2
92 depends !TARGET_ROOTFS_INITRAMFS
93 help
94 Build a jffs2 root filesystem
95
96 config TARGET_ROOTFS_SQUASHFS
97 bool "squashfs"
98 default y if USES_SQUASHFS
99 depends !TARGET_ROOTFS_INITRAMFS
100 help
101 Build a squashfs-lzma root filesystem
102
103 config TARGET_ROOTFS_UBIFS
104 bool "ubifs"
105 default y if USES_UBIFS
106 depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
107 help
108 Build a ubifs root filesystem
109
110 comment "Image Options"
111
112 source "target/linux/*/image/Config.in"
113
114 config TARGET_ROOTFS_PARTSIZE
115 int "Root filesystem partition size (in MB)"
116 depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
117 default 48
118 help
119 Allows you to change the root filesystem partition size
120
121 config TARGET_ROOTFS_MAXINODE
122 int "Maximum number of inodes in root filesystem"
123 depends TARGET_ROOTFS_EXT4FS
124 default 6000
125 help
126 Allows you to change the maximum number of inodes in the root filesystem
127
128 endmenu
129
130 menu "Global build settings"
131
132 config ALL
133 bool "Select all packages by default"
134 default n
135
136 comment "General build options"
137
138 config DISPLAY_SUPPORT
139 bool "Show packages that require graphics support (local or remote)"
140 default n
141
142 config BUILD_PATENTED
143 default y
144 bool "Compile with support for patented functionality"
145 help
146 When this option is disabled, software which provides patented functionality will not be built.
147 In case software provides optional support for patented functionality,
148 this optional support will get disabled for this package.
149
150 config BUILD_NLS
151 default n
152 bool "Compile with full language support"
153 help
154 When this option is enabled, packages are built with the full versions of iconv and GNU gettext
155 instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
156
157 config BUILD_STATIC_TOOLS
158 default n
159 bool "Attempt to link host utilities statically"
160 help
161 Linking host utilities like sed or firmware-utils statically increases the portability of the
162 generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
163
164 config SHADOW_PASSWORDS
165 bool
166 prompt "Enable shadow password support"
167 default y
168 help
169 Enable shadow password support.
170
171 config CLEAN_IPKG
172 bool
173 prompt "Remove ipkg/opkg status data files in final images"
174 default n
175 help
176 This removes all ipkg/opkg status data files from the target directory before building the root fs
177
178 config COLLECT_KERNEL_DEBUG
179 bool
180 prompt "Collect kernel debug information"
181 select KERNEL_DEBUG_INFO
182 default n
183 help
184 This collects debugging symbols from the kernel and all compiled modules.
185 Useful for release builds, so that kernel issues can be debugged offline later.
186
187 comment "Kernel build options"
188
189 config KERNEL_DEBUG_FS
190 bool "Compile the kernel with Debug FileSystem enabled"
191 default y
192 help
193 debugfs is a virtual file system that kernel developers use to put
194 debugging files into. Enable this option to be able to read and
195 write to these files.
196
197 config KERNEL_PERF_EVENTS
198 bool
199 default n
200
201 config KERNEL_PROFILING
202 bool "Compile the kernel with profiling enabled"
203 default n
204 select KERNEL_PERF_EVENTS
205 help
206 Enable the extended profiling support mechanisms used by profilers such
207 as OProfile.
208
209 config KERNEL_KALLSYMS
210 bool "Compile the kernel with symbol table information"
211 default n
212 help
213 This will give you more information in stack traces from kernel oopses
214
215 config KERNEL_FTRACE
216 bool "Compile the kernel with tracing support"
217 default n
218
219 config KERNEL_ENABLE_DEFAULT_TRACERS
220 bool "Trace process context switches and events"
221 depends on KERNEL_FTRACE
222 default n
223
224 config KERNEL_DEBUG_KERNEL
225 bool
226 default n
227
228 config KERNEL_DEBUG_INFO
229 bool "Compile the kernel with debug information"
230 default n
231 select KERNEL_DEBUG_KERNEL
232 help
233 This will compile your kernel and modules with debug information.
234
235 config KERNEL_DEBUG_LL_UART_NONE
236 bool
237 default n
238 depends on arm
239
240 config KERNEL_DEBUG_LL
241 bool
242 default n
243 depends on arm
244 select KERNEL_DEBUG_LL_UART_NONE
245 help
246 ARM low level debugging
247
248 config KERNEL_EARLY_PRINTK
249 bool "Compile the kernel with early printk"
250 default n
251 depends on arm
252 select KERNEL_DEBUG_KERNEL
253 select KERNEL_DEBUG_LL if arm
254 help
255 Compile the kernel with early printk support.
256 This is only useful for debugging purposes to send messages
257 over the serial console in early boot.
258 Enable this to debug early boot problems.
259
260 config KERNEL_AIO
261 bool "Compile the kernel with asynchronous IO support"
262 default n
263
264 config KERNEL_MAGIC_SYSRQ
265 bool "Compile the kernel with SysRq support"
266 default y
267
268 config KERNEL_ELF_CORE
269 bool "Enable process core dump support"
270 default y
271
272 config KERNEL_PROVE_LOCKING
273 bool "Enable kernel lock checking"
274 select KERNEL_DEBUG_KERNEL
275 default n
276
277 config KERNEL_PRINTK_TIME
278 bool "Enable printk timestamps"
279 default y
280
281 #
282 # CGROUP support symbols
283 #
284
285 config KERNEL_FREEZER
286 bool
287 default y if KERNEL_CGROUP_FREEZER
288 depends KERNEL_CGROUPS
289
290 config KERNEL_CGROUP_FREEZER
291 bool
292 depends KERNEL_CGROUPS
293
294 config KERNEL_CGROUP_DEVICE
295 bool
296 depends KERNEL_CGROUPS
297
298 config KERNEL_CPUSETS
299 bool
300 default y if KERNEL_CGROUP_CPUACCT
301 depends KERNEL_CGROUPS
302
303 config KERNEL_PROC_PID_CPUSET
304 bool
305 default y if KERNEL_CGROUP_CPUACCT
306 depends KERNEL_CGROUPS
307
308 config KERNEL_CGROUP_CPUACCT
309 bool
310 depends KERNEL_CGROUPS
311
312 config KERNEL_RESOURCE_COUNTERS
313 bool
314 default y if KERNEL_CGROUP_MEM_RES_CTLR
315 depends KERNEL_CGROUPS
316
317 config KERNEL_CGROUP_MEM_RES_CTLR
318 bool
319 depends KERNEL_CGROUPS
320
321 config KERNEL_CGROUP_MEM_RES_CTLR_SWAP
322 bool
323 depends KERNEL_CGROUPS
324
325 config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
326 bool
327 depends KERNEL_CGROUPS
328
329 config KERNEL_CGROUP_MEM_RES_CTLR_KMEM
330 bool
331 depends KERNEL_CGROUPS
332
333 config KERNEL_CGROUP_PERF
334 bool
335 depends KERNEL_CGROUPS
336
337 config KERNEL_CFS_BANDWIDTH
338 bool
339 default y if KERNEL_FAIR_GROUP_SCHED
340 depends KERNEL_CGROUP_SCHED
341
342 config KERNEL_FAIR_GROUP_SCHED
343 bool
344 default y if KERNEL_CGROUP_SCHED
345 depends KERNEL_CGROUP_SCHED
346
347 config KERNEL_RT_GROUP_SCHED
348 bool
349 default y if KERNEL_CGROUP_SCHED
350 depends KERNEL_CGROUP_SCHED
351
352 config KERNEL_CGROUP_SCHED
353 bool
354 depends KERNEL_CGROUPS
355
356 config KERNEL_NET_CLS_CGROUP
357 bool
358 depends KERNEL_CGROUPS
359
360 config KERNEL_NETPRIO_CGROUP
361 bool
362 depends KERNEL_CGROUPS
363
364 config KERNEL_BLK_CGROUP
365 bool
366 depends KERNEL_CGROUPS
367
368 config KERNEL_DEBUG_BLK_CGROUP
369 bool
370 default n if KERNEL_CGROUPS
371 depends KERNEL_CGROUPS
372
373 config KERNEL_CGROUPS
374 bool "Enable kernel cgroups"
375 default n
376 select KERNEL_CGROUP_FREEZER
377 select KERNEL_CGROUP_DEVICE
378 select KERNEL_CGROUP_CPUACCT
379 select KERNEL_CGROUP_MEM_RES_CTLR
380 select KERNEL_CGROUP_MEM_RES_CTLR_SWAP
381 select KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
382 select KERNEL_CGROUP_MEM_RES_CTLR_KMEM
383 select KERNEL_CGROUP_PERF
384 select KERNEL_CGROUP_SCHED
385 select KERNEL_NET_CLS_CGROUP
386 select KERNEL_NETPRIO_CGROUP
387 select KERNEL_BLK_CGROUP
388
389 #
390 # Namespace support symbols
391 #
392
393 config KERNEL_UTS_NS
394 bool
395 depends KERNEL_NAMESPACES
396
397 config KERNEL_IPC_NS
398 bool
399 depends KERNEL_NAMESPACES
400
401 config KERNEL_USER_NS
402 bool
403 depends KERNEL_NAMESPACES
404
405 config KERNEL_PID_NS
406 bool
407 depends KERNEL_NAMESPACES
408
409 config KERNEL_NET_NS
410 bool
411 depends KERNEL_NAMESPACES
412
413 config KERNEL_DEVPTS_MULTIPLE_INSTANCES
414 bool
415 depends KERNEL_NAMESPACES
416
417 config KERNEL_NAMESPACES
418 bool "Enable kernel namespaces"
419 default n
420 select KERNEL_UTS_NS
421 select KERNEL_IPC_NS
422 select KERNEL_USER_NS
423 select KERNEL_PID_NS
424 select KERNEL_NET_NS
425 select KERNEL_DEVPTS_MULTIPLE_INSTANCES
426
427
428 comment "Package build options"
429
430 config DEBUG
431 bool
432 prompt "Compile packages with debugging info"
433 default n
434 help
435 Adds -g3 to the CFLAGS
436
437 config IPV6
438 bool
439 prompt "Enable IPv6 support in packages"
440 default y
441 help
442 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
443
444 config PKG_BUILD_PARALLEL
445 bool
446 prompt "Compile certain packages parallelized"
447 default y
448 help
449 This adds a -jX option to certain packages that are known to
450 behave well for parallel build. By default the package make processes
451 use the main jobserver, in which case this option only takes effect
452 when you add -jX to the make command.
453
454 If you are unsure, select N.
455
456 config PKG_BUILD_USE_JOBSERVER
457 bool
458 prompt "Use top-level make jobserver for packages"
459 depends on PKG_BUILD_PARALLEL
460 default y
461 help
462 This passes the main make process jobserver fds to package builds,
463 enabling full parallelization across different packages
464
465 Note that disabling this may overcommit CPU resources depending on the
466 -j level of the main make process, the number of package
467 submake jobs selected below and the number of actual CPUs present.
468 Example: If the main make is passed a -j4 and the submake -j
469 is also set to 4, we may end up with 16 parallel make processes
470 in the worst case.
471
472
473 config PKG_BUILD_JOBS
474 int
475 prompt "Number of package submake jobs (2-512)"
476 range 2 512
477 default 2
478 depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
479 help
480 The number of jobs (-jX) to pass to packages submake.
481
482 config PKG_DEFAULT_PARALLEL
483 bool
484 prompt "Parallelize the default package build rule (May break build)"
485 depends on PKG_BUILD_PARALLEL
486 depends on BROKEN
487 default n
488 help
489 Always set the default package build rules to parallel build.
490
491 WARNING: This may break build or kill your cat, as it builds
492 packages with multiple jobs that are probably not tested in
493 a parallel build environment.
494
495 Only say Y, if you don't mind fixing broken packages.
496 Before reporting build bugs, set this to N and re-run the build.
497
498 comment "Stripping options"
499
500 choice
501 prompt "Binary stripping method"
502 default USE_STRIP if EXTERNAL_TOOLCHAIN
503 default USE_STRIP if USE_GLIBC || USE_EGLIBC
504 default USE_SSTRIP
505 help
506 Select the binary stripping method you wish to use.
507
508 config NO_STRIP
509 bool "none"
510 help
511 This will install unstripped binaries (useful for native compiling/debugging)
512
513 config USE_STRIP
514 bool "strip"
515 help
516 This will install binaries stripped using strip from binutils
517
518
519 config USE_SSTRIP
520 bool "sstrip"
521 depends !DEBUG
522 depends !USE_GLIBC
523 depends !USE_EGLIBC
524 help
525 This will install binaries stripped using sstrip
526 endchoice
527
528 config STRIP_ARGS
529 string
530 prompt "Strip arguments"
531 depends USE_STRIP
532 default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
533 default "--strip-all"
534 help
535 Specifies arguments passed to the strip command when stripping binaries
536
537 config STRIP_KERNEL_EXPORTS
538 bool "Strip unnecessary exports from the kernel image"
539 help
540 Reduces kernel size by stripping unused kernel exports from the kernel image
541 Note that this might make the kernel incompatible with any kernel modules that
542 were not selected at the time the kernel image was created
543
544 config USE_MKLIBS
545 bool "Strip unnecessary functions from libraries"
546 help
547 Reduces libraries to only those functions that are necessary for using all
548 selected packages (including those selected as <M>)
549 Note that this will make the system libraries incompatible with most of the packages
550 that are not selected during the build process
551
552 choice
553 prompt "Preferred standard C++ library"
554 default USE_LIBSTDCXX if USE_EGLIBC
555 default USE_UCLIBCXX
556 help
557 Select the preferred standard C++ library for all packages that support this.
558
559 config USE_UCLIBCXX
560 bool "uClibc++"
561
562 config USE_LIBSTDCXX
563 bool "libstdc++"
564
565 endchoice
566
567 endmenu
568
569 menuconfig DEVEL
570 bool "Advanced configuration options (for developers)"
571 default n
572
573 config BROKEN
574 bool "Show broken platforms / packages" if DEVEL
575 default n
576
577 config DOWNLOAD_FOLDER
578 string "Download folder" if DEVEL
579 default ""
580
581 config LOCALMIRROR
582 string "Local mirror for source packages" if DEVEL
583 default ""
584
585 config AUTOREBUILD
586 bool "Automatic rebuild of packages" if DEVEL
587 default y
588 help
589 Automatically rebuild packages when their files change
590
591 config BUILD_SUFFIX
592 string "Build suffix to append to the BUILD_DIR variable" if DEVEL
593 default ""
594 help
595 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
596
597 config TARGET_ROOTFS_DIR
598 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
599 default ""
600 help
601 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
602 Use this option to re-define the location of the target root file system directory.
603
604 config CCACHE
605 bool "Use ccache" if DEVEL
606 default n
607 help
608 Compiler cache; see http://ccache.samba.org/
609
610 config EXTERNAL_KERNEL_TREE
611 string "Use external kernel tree" if DEVEL
612 default ""
613
614 config KERNEL_GIT_CLONE_URI
615 string "Enter git repository to clone" if DEVEL
616 default ""
617 help
618 Enter the full git repository path i.e.:
619 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
620 This will create a git clone of the kernel in your build
621 directory.
622
623 config KERNEL_GIT_LOCAL_REPOSITORY
624 string "Enter path to local reference repository" if DEVEL
625 default ""
626 help
627 Enter a full pathname to a local reference git repository.
628 In this instance, the --refererence option of git clone will
629 be used thus creating a quick local clone of your repo.
630
631 config BUILD_LOG
632 bool "Enable log files during build process" if DEVEL
633 help
634 If enabled log files will be written to the ./log directory
635
636 config SRC_TREE_OVERRIDE
637 bool "Enable package source tree override" if DEVEL
638 help
639 If enabled, you can force a package to use a git tree as source
640 code instead of the normal tarball. Create a symlink 'git-src'
641 in the package directory, pointing to the .git tree that you want
642 to pull the source code from
643
644 menuconfig TARGET_OPTIONS
645 bool "Target Options" if DEVEL
646
647 config TARGET_OPTIMIZATION
648 string "Target Optimizations" if TARGET_OPTIONS
649 default DEFAULT_TARGET_OPTIMIZATION
650 help
651 Optimizations to use when building for the target host.
652
653 config SOFT_FLOAT
654 bool "Use software floating point by default" if TARGET_OPTIONS
655 default y
656 depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
657 help
658 If your target CPU does not have a Floating Point Unit (FPU) or a
659 kernel FPU emulator, but you still wish to support floating point
660 functions, then everything will need to be compiled with soft floating
661 point support (-msoft-float).
662
663 Most people will answer N.
664
665 source "toolchain/Config.in"
666
667 source "target/imagebuilder/Config.in"
668 source "target/sdk/Config.in"
669 source "target/toolchain/Config.in"
670
671 source "tmp/.config-package.in"