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