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