7683a8bc417c0804af88169681ca94ec85cc3908
[openwrt/openwrt.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 MODULES
10 bool
11 default y
12
13 config HAVE_DOT_CONFIG
14 bool
15 default y
16
17 source "target/Config.in"
18
19 menu "Target Images"
20
21 menuconfig TARGET_ROOTFS_INITRAMFS
22 bool "ramdisk"
23 default y if USES_INITRAMFS
24 help
25 Embed the rootfs into the kernel (initramfs)
26
27 choice
28 prompt "Compression"
29 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
30 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
31 default TARGET_INITRAMFS_COMPRESSION_NONE
32 depends on TARGET_ROOTFS_INITRAMFS
33 help
34 Select ramdisk compression.
35
36 config TARGET_INITRAMFS_COMPRESSION_NONE
37 bool "none"
38
39 config TARGET_INITRAMFS_COMPRESSION_GZIP
40 bool "gzip"
41
42 config TARGET_INITRAMFS_COMPRESSION_BZIP2
43 bool "bzip2"
44
45 config TARGET_INITRAMFS_COMPRESSION_LZMA
46 bool "lzma"
47
48 config TARGET_INITRAMFS_COMPRESSION_LZO
49 bool "lzo"
50
51 config TARGET_INITRAMFS_COMPRESSION_XZ
52 bool "xz"
53 endchoice
54
55 config EXTERNAL_CPIO
56 string
57 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
58 default ""
59 help
60 Kernel uses specified external cpio as INITRAMFS_SOURCE
61
62 comment "Root filesystem archives"
63
64 config TARGET_ROOTFS_CPIOGZ
65 bool "cpio.gz"
66 default y if USES_CPIOGZ
67 help
68 Build a compressed cpio archive of the the root filesystem
69
70 config TARGET_ROOTFS_TARGZ
71 bool "tar.gz"
72 default y if USES_TARGZ
73 help
74 Build a compressed tar archive of the the root filesystem
75
76 comment "Root filesystem images"
77
78 config TARGET_ROOTFS_EXT4FS
79 bool "ext4"
80 default y if USES_EXT4
81 help
82 Ext4 file system with some free space for uml images
83
84 config TARGET_ROOTFS_ISO
85 bool "iso"
86 default n
87 depends on TARGET_x86_generic
88 help
89 Create some bootable ISO image
90
91 config TARGET_ROOTFS_JFFS2
92 bool "jffs2"
93 default y if USES_JFFS2
94 help
95 Build a jffs2 root filesystem
96
97 config TARGET_ROOTFS_JFFS2_NAND
98 bool "jffs2 for NAND"
99 default y if USES_JFFS2_NAND
100 depends on USES_JFFS2_NAND
101 help
102 Build a jffs2 root filesystem for NAND flash
103
104 config TARGET_ROOTFS_SQUASHFS
105 bool "squashfs"
106 default y if USES_SQUASHFS
107 help
108 Build a squashfs-lzma root filesystem
109
110 menuconfig TARGET_ROOTFS_UBIFS
111 bool "ubifs"
112 default y if USES_UBIFS
113 depends on USES_UBIFS
114 help
115 Build a ubifs root filesystem
116
117 choice
118 prompt "compression"
119 default TARGET_UBIFS_COMPRESSION_NONE
120 depends on TARGET_ROOTFS_UBIFS
121 help
122 Select compression type
123
124 config TARGET_UBIFS_COMPRESSION_NONE
125 bool "none"
126
127 config TARGET_UBIFS_COMPRESSION_LZO
128 bool "lzo"
129
130 config TARGET_UBIFS_COMPRESSION_ZLIB
131 bool "zlib"
132 endchoice
133
134 config TARGET_UBIFS_FREE_SPACE_FIXUP
135 bool "free space fixup" if TARGET_ROOTFS_UBIFS
136 default y
137 help
138 The file-system free space has to be fixed up on first mount
139
140 config TARGET_UBIFS_JOURNAL_SIZE
141 string
142 prompt "journal size" if TARGET_ROOTFS_UBIFS
143 default "512KiB"
144
145 config TARGET_UBIFS_SQUASH_UIDS
146 bool "squash uids" if TARGET_ROOTFS_UBIFS
147 default n
148 help
149 Squash owners making all files owned by root
150
151 comment "Image Options"
152
153 source "target/linux/*/image/Config.in"
154
155 config TARGET_ROOTFS_PARTSIZE
156 int "Root filesystem partition size (in MB)"
157 depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
158 default 48
159 help
160 Allows you to change the root filesystem partition size
161
162 config TARGET_ROOTFS_MAXINODE
163 int "Maximum number of inodes in root filesystem"
164 depends on TARGET_ROOTFS_EXT4FS
165 default 6000
166 help
167 Allows you to change the maximum number of inodes in the root filesystem
168
169 config TARGET_ROOTFS_RESERVED_PCT
170 int "Percentage of reserved blocks in root filesystem"
171 depends on TARGET_ROOTFS_EXT4FS
172 default 0
173 help
174 Allows you to change the percentage of reserved blocks in the root filesystem
175
176 config TARGET_ROOTFS_INCLUDE_KERNEL
177 bool "Include kernel in root filesystem"
178 depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
179 default n if USES_UBIFS
180 help
181 Include the kernel image in the rootfs. Typically the image is placed
182 below /boot.
183
184 config TARGET_ROOTFS_INCLUDE_DTB
185 bool "Include DTB in root filesystem"
186 depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
187 default n if USES_UBIFS
188 help
189 Include the device tree blob file(s) in the rootfs. Typically the DTBs
190 are placed below /boot.
191
192 comment "Image Type"
193
194 config TARGET_IMAGE_FIT
195 bool "FIT image with kernel and DTB"
196 default y if USES_FIT
197 depends on USES_FIT
198 help
199 Create a u-boot FIT image containing kernel and DTB
200
201 endmenu
202
203 menu "Global build settings"
204
205 config ALL
206 bool "Select all packages by default"
207 default n
208
209 comment "General build options"
210
211 config DISPLAY_SUPPORT
212 bool "Show packages that require graphics support (local or remote)"
213 default n
214
215 config BUILD_PATENTED
216 default y
217 bool "Compile with support for patented functionality"
218 help
219 When this option is disabled, software which provides patented functionality will not be built.
220 In case software provides optional support for patented functionality,
221 this optional support will get disabled for this package.
222
223 config BUILD_NLS
224 default n
225 bool "Compile with full language support"
226 help
227 When this option is enabled, packages are built with the full versions of iconv and GNU gettext
228 instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
229
230 config BUILD_STATIC_TOOLS
231 default n
232 bool "Attempt to link host utilities statically"
233 help
234 Linking host utilities like sed or firmware-utils statically increases the portability of the
235 generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
236
237 config SHADOW_PASSWORDS
238 bool
239 prompt "Enable shadow password support"
240 default y
241 help
242 Enable shadow password support.
243
244 config CLEAN_IPKG
245 bool
246 prompt "Remove ipkg/opkg status data files in final images"
247 default n
248 help
249 This removes all ipkg/opkg status data files from the target directory before building the root fs
250
251 config COLLECT_KERNEL_DEBUG
252 bool
253 prompt "Collect kernel debug information"
254 select KERNEL_DEBUG_INFO
255 default n
256 help
257 This collects debugging symbols from the kernel and all compiled modules.
258 Useful for release builds, so that kernel issues can be debugged offline later.
259
260 comment "Kernel build options"
261
262 config KERNEL_DEBUG_FS
263 bool "Compile the kernel with Debug FileSystem enabled"
264 default y
265 help
266 debugfs is a virtual file system that kernel developers use to put
267 debugging files into. Enable this option to be able to read and
268 write to these files.
269
270 config KERNEL_PERF_EVENTS
271 bool
272 default n
273
274 config KERNEL_PROFILING
275 bool "Compile the kernel with profiling enabled"
276 default n
277 select KERNEL_PERF_EVENTS
278 help
279 Enable the extended profiling support mechanisms used by profilers such
280 as OProfile.
281
282 config KERNEL_KALLSYMS
283 bool "Compile the kernel with symbol table information"
284 default y
285 help
286 This will give you more information in stack traces from kernel oopses
287
288 config KERNEL_FTRACE
289 bool "Compile the kernel with tracing support"
290 default n
291
292 config KERNEL_FTRACE_SYSCALLS
293 bool "Trace system calls"
294 depends on KERNEL_FTRACE
295 default n
296
297 config KERNEL_ENABLE_DEFAULT_TRACERS
298 bool "Trace process context switches and events"
299 depends on KERNEL_FTRACE
300 default n
301
302 config KERNEL_DEBUG_KERNEL
303 bool
304 default n
305
306 config KERNEL_DEBUG_INFO
307 bool "Compile the kernel with debug information"
308 default y
309 select KERNEL_DEBUG_KERNEL
310 help
311 This will compile your kernel and modules with debug information.
312
313 config KERNEL_DEBUG_LL_UART_NONE
314 bool
315 default n
316 depends on arm
317
318 config KERNEL_DEBUG_LL
319 bool
320 default n
321 depends on arm
322 select KERNEL_DEBUG_LL_UART_NONE
323 help
324 ARM low level debugging
325
326 config KERNEL_EARLY_PRINTK
327 bool "Compile the kernel with early printk"
328 default n
329 depends on arm
330 select KERNEL_DEBUG_KERNEL
331 select KERNEL_DEBUG_LL if arm
332 help
333 Compile the kernel with early printk support.
334 This is only useful for debugging purposes to send messages
335 over the serial console in early boot.
336 Enable this to debug early boot problems.
337
338 config KERNEL_AIO
339 bool "Compile the kernel with asynchronous IO support"
340 default n
341
342 config KERNEL_DIRECT_IO
343 bool "Compile the kernel with direct IO support"
344 default n
345
346 config KERNEL_MAGIC_SYSRQ
347 bool "Compile the kernel with SysRq support"
348 default y
349
350 config KERNEL_COREDUMP
351 bool
352
353 config KERNEL_ELF_CORE
354 bool "Enable process core dump support"
355 select KERNEL_COREDUMP
356 default y
357
358 config KERNEL_PROVE_LOCKING
359 bool "Enable kernel lock checking"
360 select KERNEL_DEBUG_KERNEL
361 default n
362
363 config KERNEL_PRINTK_TIME
364 bool "Enable printk timestamps"
365 default y
366
367 config KERNEL_RELAY
368 bool
369
370 config KERNEL_KEXEC
371 bool "Enable kexec support"
372
373 config USE_RFKILL
374 bool "Enable rfkill support"
375 default RFKILL_SUPPORT
376
377 #
378 # CGROUP support symbols
379 #
380
381 config KERNEL_CGROUPS
382 bool "Enable kernel cgroups"
383 default n
384
385 if KERNEL_CGROUPS
386
387 config KERNEL_CGROUP_DEBUG
388 bool "Example debug cgroup subsystem"
389 default n
390 help
391 This option enables a simple cgroup subsystem that
392 exports useful debugging information about the cgroups
393 framework.
394
395 config KERNEL_FREEZER
396 bool
397 default y if KERNEL_CGROUP_FREEZER
398
399 config KERNEL_CGROUP_FREEZER
400 bool "Freezer cgroup subsystem"
401 default n
402 help
403 Provides a way to freeze and unfreeze all tasks in a
404 cgroup.
405
406 config KERNEL_CGROUP_DEVICE
407 bool "Device controller for cgroups"
408 default y
409 help
410 Provides a cgroup implementing whitelists for devices which
411 a process in the cgroup can mknod or open.
412
413 config KERNEL_CPUSETS
414 bool "Cpuset support"
415 default n
416 help
417 This option will let you create and manage CPUSETs which
418 allow dynamically partitioning a system into sets of CPUs and
419 Memory Nodes and assigning tasks to run only within those sets.
420 This is primarily useful on large SMP or NUMA systems.
421
422 config KERNEL_PROC_PID_CPUSET
423 bool "Include legacy /proc/<pid>/cpuset file"
424 default n
425 depends on KERNEL_CPUSETS
426
427 config KERNEL_CGROUP_CPUACCT
428 bool "Simple CPU accounting cgroup subsystem"
429 default n
430 help
431 Provides a simple Resource Controller for monitoring the
432 total CPU consumed by the tasks in a cgroup.
433
434 config KERNEL_RESOURCE_COUNTERS
435 bool "Resource counters"
436 default n
437 help
438 This option enables controller independent resource accounting
439 infrastructure that works with cgroups.
440
441 config KERNEL_MM_OWNER
442 bool
443 default y if KERNEL_MEMCG
444
445 config KERNEL_MEMCG
446 bool "Memory Resource Controller for Control Groups"
447 default n
448 depends on KERNEL_RESOURCE_COUNTERS
449 help
450 Provides a memory resource controller that manages both anonymous
451 memory and page cache. (See Documentation/cgroups/memory.txt)
452
453 Note that setting this option increases fixed memory overhead
454 associated with each page of memory in the system. By this,
455 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
456 usage tracking struct at boot. Total amount of this is printed out
457 at boot.
458
459 Only enable when you're ok with these trade offs and really
460 sure you need the memory resource controller. Even when you enable
461 this, you can set "cgroup_disable=memory" at your boot option to
462 disable memory resource controller and you can avoid overheads.
463 (and lose benefits of memory resource controller)
464
465 This config option also selects MM_OWNER config option, which
466 could in turn add some fork/exit overhead.
467
468 config KERNEL_MEMCG_SWAP
469 bool "Memory Resource Controller Swap Extension"
470 default n
471 depends on KERNEL_MEMCG
472 help
473 Add swap management feature to memory resource controller. When you
474 enable this, you can limit mem+swap usage per cgroup. In other words,
475 when you disable this, memory resource controller has no cares to
476 usage of swap...a process can exhaust all of the swap. This extension
477 is useful when you want to avoid exhaustion swap but this itself
478 adds more overheads and consumes memory for remembering information.
479 Especially if you use 32bit system or small memory system, please
480 be careful about enabling this. When memory resource controller
481 is disabled by boot option, this will be automatically disabled and
482 there will be no overhead from this. Even when you set this config=y,
483 if boot option "swapaccount=0" is set, swap will not be accounted.
484 Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
485 size is 4096bytes, 512k per 1Gbytes of swap.
486
487 config KERNEL_MEMCG_SWAP_ENABLED
488 bool "Memory Resource Controller Swap Extension enabled by default"
489 default n
490 depends on KERNEL_MEMCG_SWAP
491 help
492 Memory Resource Controller Swap Extension comes with its price in
493 a bigger memory consumption. General purpose distribution kernels
494 which want to enable the feature but keep it disabled by default
495 and let the user enable it by swapaccount boot command line
496 parameter should have this option unselected.
497 For those who want to have the feature enabled by default should
498 select this option (if, for some reason, they need to disable it
499 then swapaccount=0 does the trick).
500
501
502 config KERNEL_MEMCG_KMEM
503 bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
504 default n
505 depends on KERNEL_MEMCG
506 help
507 The Kernel Memory extension for Memory Resource Controller can limit
508 the amount of memory used by kernel objects in the system. Those are
509 fundamentally different from the entities handled by the standard
510 Memory Controller, which are page-based, and can be swapped. Users of
511 the kmem extension can use it to guarantee that no group of processes
512 will ever exhaust kernel resources alone.
513
514 config KERNEL_CGROUP_PERF
515 bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
516 default n
517 select KERNEL_PERF_EVENTS
518 help
519 This option extends the per-cpu mode to restrict monitoring to
520 threads which belong to the cgroup specified and run on the
521 designated cpu.
522
523 menuconfig KERNEL_CGROUP_SCHED
524 bool "Group CPU scheduler"
525 default n
526 help
527 This feature lets CPU scheduler recognize task groups and control CPU
528 bandwidth allocation to such task groups. It uses cgroups to group
529 tasks.
530
531 if KERNEL_CGROUP_SCHED
532
533 config KERNEL_FAIR_GROUP_SCHED
534 bool "Group scheduling for SCHED_OTHER"
535 default n
536
537 config KERNEL_CFS_BANDWIDTH
538 bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
539 default n
540 depends on KERNEL_FAIR_GROUP_SCHED
541 help
542 This option allows users to define CPU bandwidth rates (limits) for
543 tasks running within the fair group scheduler. Groups with no limit
544 set are considered to be unconstrained and will run with no
545 restriction.
546 See tip/Documentation/scheduler/sched-bwc.txt for more information.
547
548 config KERNEL_RT_GROUP_SCHED
549 bool "Group scheduling for SCHED_RR/FIFO"
550 default n
551 help
552 This feature lets you explicitly allocate real CPU bandwidth
553 to task groups. If enabled, it will also make it impossible to
554 schedule realtime tasks for non-root users until you allocate
555 realtime bandwidth for them.
556
557 endif
558
559 config KERNEL_BLK_CGROUP
560 bool "Block IO controller"
561 default y
562 help
563 Generic block IO controller cgroup interface. This is the common
564 cgroup interface which should be used by various IO controlling
565 policies.
566
567 Currently, CFQ IO scheduler uses it to recognize task groups and
568 control disk bandwidth allocation (proportional time slice allocation)
569 to such task groups. It is also used by bio throttling logic in
570 block layer to implement upper limit in IO rates on a device.
571
572 This option only enables generic Block IO controller infrastructure.
573 One needs to also enable actual IO controlling logic/policy. For
574 enabling proportional weight division of disk bandwidth in CFQ, set
575 CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
576 CONFIG_BLK_DEV_THROTTLING=y.
577
578 config KERNEL_DEBUG_BLK_CGROUP
579 bool "Enable Block IO controller debugging"
580 default n
581 depends on KERNEL_BLK_CGROUP
582 help
583 Enable some debugging help. Currently it exports additional stat
584 files in a cgroup which can be useful for debugging.
585
586 config KERNEL_NET_CLS_CGROUP
587 bool "Control Group Classifier"
588 default y
589
590 config KERNEL_NETPRIO_CGROUP
591 bool "Network priority cgroup"
592 default y
593
594 endif
595
596 #
597 # Namespace support symbols
598 #
599
600 config KERNEL_NAMESPACES
601 bool "Enable kernel namespaces"
602 default n
603
604 if KERNEL_NAMESPACES
605
606 config KERNEL_UTS_NS
607 bool "UTS namespace"
608 default y
609 help
610 In this namespace tasks see different info provided
611 with the uname() system call
612
613 config KERNEL_IPC_NS
614 bool "IPC namespace"
615 default y
616 help
617 In this namespace tasks work with IPC ids which correspond to
618 different IPC objects in different namespaces.
619
620 config KERNEL_USER_NS
621 bool "User namespace (EXPERIMENTAL)"
622 default y
623 help
624 This allows containers, i.e. vservers, to use user namespaces
625 to provide different user info for different servers.
626
627 config KERNEL_PID_NS
628 bool "PID Namespaces"
629 default y
630 help
631 Support process id namespaces. This allows having multiple
632 processes with the same pid as long as they are in different
633 pid namespaces. This is a building block of containers.
634
635 config KERNEL_NET_NS
636 bool "Network namespace"
637 default y
638 help
639 Allow user space to create what appear to be multiple instances
640 of the network stack.
641
642 endif
643
644 #
645 # LXC related symbols
646 #
647
648 config KERNEL_LXC_MISC
649 bool "Enable miscellaneous LXC related options"
650 default n
651
652 if KERNEL_LXC_MISC
653
654 config KERNEL_DEVPTS_MULTIPLE_INSTANCES
655 bool "Support multiple instances of devpts"
656 default y
657 help
658 Enable support for multiple instances of devpts filesystem.
659 If you want to have isolated PTY namespaces (eg: in containers),
660 say Y here. Otherwise, say N. If enabled, each mount of devpts
661 filesystem with the '-o newinstance' option will create an
662 independent PTY namespace.
663
664 config KERNEL_POSIX_MQUEUE
665 bool "POSIX Message Queues"
666 default n
667 help
668 POSIX variant of message queues is a part of IPC. In POSIX message
669 queues every message has a priority which decides about succession
670 of receiving it by a process. If you want to compile and run
671 programs written e.g. for Solaris with use of its POSIX message
672 queues (functions mq_*) say Y here.
673
674 POSIX message queues are visible as a filesystem called 'mqueue'
675 and can be mounted somewhere if you want to do filesystem
676 operations on message queues.
677
678 endif
679
680 comment "Package build options"
681
682 config DEBUG
683 bool
684 prompt "Compile packages with debugging info"
685 default n
686 help
687 Adds -g3 to the CFLAGS
688
689 config IPV6
690 bool
691 prompt "Enable IPv6 support in packages"
692 default y
693 help
694 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
695
696 config PKG_BUILD_PARALLEL
697 bool
698 prompt "Compile certain packages parallelized"
699 default y
700 help
701 This adds a -jX option to certain packages that are known to
702 behave well for parallel build. By default the package make processes
703 use the main jobserver, in which case this option only takes effect
704 when you add -jX to the make command.
705
706 If you are unsure, select N.
707
708 config PKG_BUILD_USE_JOBSERVER
709 bool
710 prompt "Use top-level make jobserver for packages"
711 depends on PKG_BUILD_PARALLEL
712 default y
713 help
714 This passes the main make process jobserver fds to package builds,
715 enabling full parallelization across different packages
716
717 Note that disabling this may overcommit CPU resources depending on the
718 -j level of the main make process, the number of package
719 submake jobs selected below and the number of actual CPUs present.
720 Example: If the main make is passed a -j4 and the submake -j
721 is also set to 4, we may end up with 16 parallel make processes
722 in the worst case.
723
724
725 config PKG_BUILD_JOBS
726 int
727 prompt "Number of package submake jobs (2-512)"
728 range 2 512
729 default 2
730 depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
731 help
732 The number of jobs (-jX) to pass to packages submake.
733
734 config PKG_DEFAULT_PARALLEL
735 bool
736 prompt "Parallelize the default package build rule (May break build)"
737 depends on PKG_BUILD_PARALLEL
738 depends on BROKEN
739 default n
740 help
741 Always set the default package build rules to parallel build.
742
743 WARNING: This may break build or kill your cat, as it builds
744 packages with multiple jobs that are probably not tested in
745 a parallel build environment.
746
747 Only say Y, if you don't mind fixing broken packages.
748 Before reporting build bugs, set this to N and re-run the build.
749
750 comment "Stripping options"
751
752 choice
753 prompt "Binary stripping method"
754 default USE_STRIP if EXTERNAL_TOOLCHAIN
755 default USE_STRIP if USE_GLIBC || USE_EGLIBC || USE_MUSL
756 default USE_SSTRIP
757 help
758 Select the binary stripping method you wish to use.
759
760 config NO_STRIP
761 bool "none"
762 help
763 This will install unstripped binaries (useful for native compiling/debugging)
764
765 config USE_STRIP
766 bool "strip"
767 help
768 This will install binaries stripped using strip from binutils
769
770
771 config USE_SSTRIP
772 bool "sstrip"
773 depends on !DEBUG
774 depends on !USE_GLIBC
775 depends on !USE_EGLIBC
776 help
777 This will install binaries stripped using sstrip
778 endchoice
779
780 config STRIP_ARGS
781 string
782 prompt "Strip arguments"
783 depends on USE_STRIP
784 default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
785 default "--strip-all"
786 help
787 Specifies arguments passed to the strip command when stripping binaries
788
789 config STRIP_KERNEL_EXPORTS
790 bool "Strip unnecessary exports from the kernel image"
791 help
792 Reduces kernel size by stripping unused kernel exports from the kernel image
793 Note that this might make the kernel incompatible with any kernel modules that
794 were not selected at the time the kernel image was created
795
796 config USE_MKLIBS
797 bool "Strip unnecessary functions from libraries"
798 help
799 Reduces libraries to only those functions that are necessary for using all
800 selected packages (including those selected as <M>)
801 Note that this will make the system libraries incompatible with most of the packages
802 that are not selected during the build process
803
804 choice
805 prompt "Preferred standard C++ library"
806 default USE_LIBSTDCXX if USE_EGLIBC
807 default USE_UCLIBCXX
808 help
809 Select the preferred standard C++ library for all packages that support this.
810
811 config USE_UCLIBCXX
812 bool "uClibc++"
813
814 config USE_LIBSTDCXX
815 bool "libstdc++"
816 endchoice
817
818 endmenu
819
820 menuconfig DEVEL
821 bool "Advanced configuration options (for developers)"
822 default n
823
824 config BROKEN
825 bool "Show broken platforms / packages" if DEVEL
826 default n
827
828 config DOWNLOAD_FOLDER
829 string "Download folder" if DEVEL
830 default ""
831
832 config LOCALMIRROR
833 string "Local mirror for source packages" if DEVEL
834 default ""
835
836 config AUTOREBUILD
837 bool "Automatic rebuild of packages" if DEVEL
838 default y
839 help
840 Automatically rebuild packages when their files change
841
842 config BUILD_SUFFIX
843 string "Build suffix to append to the BUILD_DIR variable" if DEVEL
844 default ""
845 help
846 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
847
848 config TARGET_ROOTFS_DIR
849 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
850 default ""
851 help
852 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
853 Use this option to re-define the location of the target root file system directory.
854
855 config CCACHE
856 bool "Use ccache" if DEVEL
857 default n
858 help
859 Compiler cache; see http://ccache.samba.org/
860
861 config EXTERNAL_KERNEL_TREE
862 string "Use external kernel tree" if DEVEL
863 default ""
864
865 config KERNEL_GIT_CLONE_URI
866 string "Enter git repository to clone" if DEVEL
867 default ""
868 help
869 Enter the full git repository path i.e.:
870 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
871 This will create a git clone of the kernel in your build
872 directory.
873
874 config KERNEL_GIT_LOCAL_REPOSITORY
875 string "Enter path to local reference repository" if DEVEL
876 default ""
877 help
878 Enter a full pathname to a local reference git repository.
879 In this instance, the --refererence option of git clone will
880 be used thus creating a quick local clone of your repo.
881
882 config BUILD_LOG
883 bool "Enable log files during build process" if DEVEL
884 help
885 If enabled log files will be written to the ./log directory
886
887 config SRC_TREE_OVERRIDE
888 bool "Enable package source tree override" if DEVEL
889 help
890 If enabled, you can force a package to use a git tree as source
891 code instead of the normal tarball. Create a symlink 'git-src'
892 in the package directory, pointing to the .git tree that you want
893 to pull the source code from
894
895 config EXTRA_OPTIMIZATION
896 string "Additional compiler options" if DEVEL
897 default "-fno-caller-saves"
898 help
899 Extra Target-independent optimizations to use when building for the target.
900
901 menuconfig TARGET_OPTIONS
902 bool "Target Options" if DEVEL
903
904 config TARGET_OPTIMIZATION
905 string "Target Optimizations" if TARGET_OPTIONS
906 default DEFAULT_TARGET_OPTIMIZATION
907 help
908 Optimizations to use when building for the target host.
909
910 config SOFT_FLOAT
911 bool "Use software floating point by default" if TARGET_OPTIONS
912 default y
913 depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
914 help
915 If your target CPU does not have a Floating Point Unit (FPU) or a
916 kernel FPU emulator, but you still wish to support floating point
917 functions, then everything will need to be compiled with soft floating
918 point support (-msoft-float).
919
920 Most people will answer N.
921
922 config USE_MIPS16
923 bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
924 depends on HAS_MIPS16
925 depends on !GCC_VERSION_4_6
926 default y
927 help
928 If your target CPU does support the MIPS16 instruction set
929 and you want to use it for packages, enable this option.
930 MIPS16 produces smaller binaries thus reducing pressure on
931 caches and TLB.
932
933 Most people will answer N.
934
935 source "toolchain/Config.in"
936
937 source "target/imagebuilder/Config.in"
938 source "target/sdk/Config.in"
939 source "target/toolchain/Config.in"
940
941 source "tmp/.config-package.in"