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