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