ramips: Add Alpha ASL-26555 support.
[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_SQUASHFS
101                 bool "squashfs"
102                 default y if USES_SQUASHFS
103                 depends on !TARGET_ROOTFS_INITRAMFS
104                 help
105                   Build a squashfs-lzma root filesystem
106
107         config TARGET_ROOTFS_UBIFS
108                 bool "ubifs"
109                 default y if USES_UBIFS
110                 depends on !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
111                 help
112                   Build a ubifs root filesystem
113
114         comment "Image Options"
115
116         source "target/linux/*/image/Config.in"
117
118         config TARGET_ROOTFS_PARTSIZE
119                 int "Root filesystem partition size (in MB)"
120                 depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
121                 default 48
122                 help
123                     Allows you to change the root filesystem partition size
124
125         config TARGET_ROOTFS_MAXINODE
126                 int "Maximum number of inodes in root filesystem"
127                 depends on TARGET_ROOTFS_EXT4FS
128                 default 6000
129                 help
130                     Allows you to change the maximum number of inodes in the root filesystem
131
132         config TARGET_ROOTFS_RESERVED_PCT
133                 int "Percentage of reserved blocks in root filesystem"
134                 depends on TARGET_ROOTFS_EXT4FS
135                 default 0
136                 help
137                     Allows you to change the percentage of reserved blocks in the root filesystem
138
139 endmenu
140
141 menu "Global build settings"
142
143         config ALL
144                 bool "Select all packages by default"
145                 default n
146
147         comment "General build options"
148
149         config DISPLAY_SUPPORT
150                 bool "Show packages that require graphics support (local or remote)"
151                 default n
152
153         config BUILD_PATENTED
154                 default y
155                 bool "Compile with support for patented functionality"
156                 help
157                   When this option is disabled, software which provides patented functionality will not be built.
158                   In case software provides optional support for patented functionality,
159                   this optional support will get disabled for this package.
160
161         config BUILD_NLS
162                 default n
163                 bool "Compile with full language support"
164                 help
165                   When this option is enabled, packages are built with the full versions of iconv and GNU gettext
166                   instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
167
168         config BUILD_STATIC_TOOLS
169                 default n
170                 bool "Attempt to link host utilities statically"
171                 help
172                   Linking host utilities like sed or firmware-utils statically increases the portability of the
173                   generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
174
175         config SHADOW_PASSWORDS
176                 bool
177                 prompt "Enable shadow password support"
178                 default y
179                 help
180                   Enable shadow password support.
181
182         config CLEAN_IPKG
183                 bool
184                 prompt "Remove ipkg/opkg status data files in final images"
185                 default n
186                 help
187                         This removes all ipkg/opkg status data files from the target directory before building the root fs
188
189         config COLLECT_KERNEL_DEBUG
190                 bool
191                 prompt "Collect kernel debug information"
192                 select KERNEL_DEBUG_INFO
193                 default n
194                 help
195                         This collects debugging symbols from the kernel and all compiled modules.
196                         Useful for release builds, so that kernel issues can be debugged offline later.
197
198         comment "Kernel build options"
199
200         config KERNEL_DEBUG_FS
201                 bool "Compile the kernel with Debug FileSystem enabled"
202                 default y
203                 help
204                   debugfs is a virtual file system that kernel developers use to put
205                   debugging files into. Enable this option to be able to read and
206                   write to these files.
207
208         config KERNEL_PERF_EVENTS
209                 bool
210                 default n
211
212         config KERNEL_PROFILING
213                 bool "Compile the kernel with profiling enabled"
214                 default n
215                 select KERNEL_PERF_EVENTS
216                 help
217                   Enable the extended profiling support mechanisms used by profilers such
218                   as OProfile.
219
220         config KERNEL_KALLSYMS
221                 bool "Compile the kernel with symbol table information"
222                 default y
223                 help
224                   This will give you more information in stack traces from kernel oopses
225
226         config KERNEL_FTRACE
227                 bool "Compile the kernel with tracing support"
228                 default n
229
230         config KERNEL_ENABLE_DEFAULT_TRACERS
231                 bool "Trace process context switches and events"
232                 depends on KERNEL_FTRACE
233                 default n
234
235         config KERNEL_DEBUG_KERNEL
236                 bool
237                 default n
238
239         config KERNEL_DEBUG_INFO
240                 bool "Compile the kernel with debug information"
241                 default y
242                 select KERNEL_DEBUG_KERNEL
243                 help
244                   This will compile your kernel and modules with debug information.
245
246         config KERNEL_DEBUG_LL_UART_NONE
247                 bool
248                 default n
249                 depends on arm
250
251         config KERNEL_DEBUG_LL
252                 bool
253                 default n
254                 depends on arm
255                 select KERNEL_DEBUG_LL_UART_NONE
256                 help
257                   ARM low level debugging
258
259         config KERNEL_EARLY_PRINTK
260                 bool "Compile the kernel with early printk"
261                 default n
262                 depends on arm
263                 select KERNEL_DEBUG_KERNEL
264                 select KERNEL_DEBUG_LL if arm
265                 help
266                   Compile the kernel with early printk support.
267                   This is only useful for debugging purposes to send messages
268                   over the serial console in early boot.
269                   Enable this to debug early boot problems.
270
271         config KERNEL_AIO
272                 bool "Compile the kernel with asynchronous IO support"
273                 default n
274
275         config KERNEL_DIRECT_IO
276                 bool "Compile the kernel with direct IO support"
277                 default n
278
279         config KERNEL_MAGIC_SYSRQ
280                 bool "Compile the kernel with SysRq support"
281                 default y
282
283         config KERNEL_COREDUMP
284                 bool
285
286         config KERNEL_ELF_CORE
287                 bool "Enable process core dump support"
288                 select KERNEL_COREDUMP
289                 default y
290
291         config KERNEL_PROVE_LOCKING
292                 bool "Enable kernel lock checking"
293                 select KERNEL_DEBUG_KERNEL
294                 default n
295
296         config KERNEL_PRINTK_TIME
297                 bool "Enable printk timestamps"
298                 default y
299
300         config KERNEL_RELAY
301                 bool
302
303         #
304         # CGROUP support symbols
305         #
306
307         config KERNEL_FREEZER
308                 bool
309                 default y if KERNEL_CGROUP_FREEZER
310                 depends on KERNEL_CGROUPS
311
312         config KERNEL_CGROUP_FREEZER
313                 bool
314                 depends on KERNEL_CGROUPS
315
316         config KERNEL_CGROUP_DEVICE
317                 bool
318                 depends on KERNEL_CGROUPS
319
320         config KERNEL_CPUSETS
321                 bool
322                 default y if KERNEL_CGROUP_CPUACCT
323                 depends on KERNEL_CGROUPS
324
325         config KERNEL_PROC_PID_CPUSET
326                 bool
327                 default y if KERNEL_CGROUP_CPUACCT
328                 depends on KERNEL_CGROUPS
329
330         config KERNEL_CGROUP_CPUACCT
331                 bool
332                 depends on KERNEL_CGROUPS
333
334         config KERNEL_RESOURCE_COUNTERS
335                 bool
336                 default y if KERNEL_CGROUP_MEM_RES_CTLR
337                 depends on KERNEL_CGROUPS
338
339         config KERNEL_CGROUP_MEM_RES_CTLR
340                 bool
341                 depends on KERNEL_CGROUPS
342
343         config KERNEL_CGROUP_MEM_RES_CTLR_SWAP
344                 bool
345                 depends on KERNEL_CGROUPS
346
347         config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
348                 bool
349                 depends on KERNEL_CGROUPS
350
351         config KERNEL_CGROUP_MEM_RES_CTLR_KMEM
352                 bool
353                 depends on KERNEL_CGROUPS
354
355         config KERNEL_CGROUP_PERF
356                 bool
357                 depends on KERNEL_CGROUPS
358
359         config KERNEL_CFS_BANDWIDTH
360                 bool
361                 default y if KERNEL_FAIR_GROUP_SCHED
362                 depends on KERNEL_CGROUP_SCHED
363
364         config KERNEL_FAIR_GROUP_SCHED
365                 bool
366                 default y if KERNEL_CGROUP_SCHED
367                 depends on KERNEL_CGROUP_SCHED
368
369         config KERNEL_RT_GROUP_SCHED
370                 bool
371                 default y if KERNEL_CGROUP_SCHED
372                 depends on KERNEL_CGROUP_SCHED
373
374         config KERNEL_CGROUP_SCHED
375                 bool
376                 depends on KERNEL_CGROUPS
377
378         config KERNEL_NET_CLS_CGROUP
379                 bool
380                 depends on KERNEL_CGROUPS
381
382         config KERNEL_NETPRIO_CGROUP
383                 bool
384                 depends on KERNEL_CGROUPS
385
386         config KERNEL_BLK_CGROUP
387                 bool
388                 depends on KERNEL_CGROUPS
389
390         config KERNEL_DEBUG_BLK_CGROUP
391                 bool
392                 default n if KERNEL_CGROUPS
393                 depends on KERNEL_CGROUPS
394
395         config KERNEL_CGROUPS
396                 bool "Enable kernel cgroups"
397                 default n
398                 select KERNEL_CGROUP_FREEZER
399                 select KERNEL_CGROUP_DEVICE
400                 select KERNEL_CGROUP_CPUACCT
401                 select KERNEL_CGROUP_MEM_RES_CTLR
402                 select KERNEL_CGROUP_MEM_RES_CTLR_SWAP
403                 select KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
404                 select KERNEL_CGROUP_MEM_RES_CTLR_KMEM
405                 select KERNEL_CGROUP_PERF
406                 select KERNEL_CGROUP_SCHED
407                 select KERNEL_NET_CLS_CGROUP
408                 select KERNEL_NETPRIO_CGROUP
409                 select KERNEL_BLK_CGROUP
410
411         #
412         # Namespace support symbols
413         #
414
415         config KERNEL_UTS_NS
416                 bool
417                 depends on KERNEL_NAMESPACES
418
419         config KERNEL_IPC_NS
420                 bool
421                 depends on KERNEL_NAMESPACES
422
423         config KERNEL_USER_NS
424                 bool
425                 depends on KERNEL_NAMESPACES
426
427         config KERNEL_PID_NS
428                 bool
429                 depends on KERNEL_NAMESPACES
430
431         config KERNEL_NET_NS
432                 bool
433                 depends on KERNEL_NAMESPACES
434
435         config KERNEL_DEVPTS_MULTIPLE_INSTANCES
436                 bool
437                 depends on KERNEL_NAMESPACES
438
439         config KERNEL_NAMESPACES
440                 bool "Enable kernel namespaces"
441                 default n
442                 select KERNEL_UTS_NS
443                 select KERNEL_IPC_NS
444                 select KERNEL_USER_NS
445                 select KERNEL_PID_NS
446                 select KERNEL_NET_NS
447                 select KERNEL_DEVPTS_MULTIPLE_INSTANCES
448
449
450         comment "Package build options"
451
452         config DEBUG
453                 bool
454                 prompt "Compile packages with debugging info"
455                 default n
456                 help
457                   Adds -g3 to the CFLAGS
458
459         config IPV6
460                 bool
461                 prompt "Enable IPv6 support in packages"
462                 default y
463                 help
464                   Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
465
466         config PKG_BUILD_PARALLEL
467                 bool
468                 prompt "Compile certain packages parallelized"
469                 default y
470                 help
471                   This adds a -jX option to certain packages that are known to
472                   behave well for parallel build. By default the package make processes
473                   use the main jobserver, in which case this option only takes effect
474                   when you add -jX to the make command.
475
476                   If you are unsure, select N.
477
478         config PKG_BUILD_USE_JOBSERVER
479                 bool
480                 prompt "Use top-level make jobserver for packages"
481                 depends on PKG_BUILD_PARALLEL
482                 default y
483                 help
484                   This passes the main make process jobserver fds to package builds,
485                   enabling full parallelization across different packages
486
487                   Note that disabling this may overcommit CPU resources depending on the
488                   -j level of the main make process, the number of package
489                   submake jobs selected below and the number of actual CPUs present.
490                   Example: If the main make is passed a -j4 and the submake -j
491                   is also set to 4, we may end up with 16 parallel make processes
492                   in the worst case.
493
494
495         config PKG_BUILD_JOBS
496                 int
497                 prompt "Number of package submake jobs (2-512)"
498                 range 2 512
499                 default 2
500                 depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
501                 help
502                   The number of jobs (-jX) to pass to packages submake.
503
504         config PKG_DEFAULT_PARALLEL
505                 bool
506                 prompt "Parallelize the default package build rule (May break build)"
507                 depends on PKG_BUILD_PARALLEL
508                 depends on BROKEN
509                 default n
510                 help
511                   Always set the default package build rules to parallel build.
512
513                   WARNING: This may break build or kill your cat, as it builds
514                   packages with multiple jobs that are probably not tested in
515                   a parallel build environment.
516
517                   Only say Y, if you don't mind fixing broken packages.
518                   Before reporting build bugs, set this to N and re-run the build.
519
520         comment "Stripping options"
521
522         choice
523                 prompt "Binary stripping method"
524                 default USE_STRIP   if EXTERNAL_TOOLCHAIN
525                 default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
526                 default USE_SSTRIP
527                 help
528                   Select the binary stripping method you wish to use.
529
530                 config NO_STRIP
531                         bool "none"
532                         help
533                           This will install unstripped binaries (useful for native compiling/debugging)
534
535                 config USE_STRIP
536                         bool "strip"
537                         help
538                           This will install binaries stripped using strip from binutils
539
540
541                 config USE_SSTRIP
542                         bool "sstrip"
543                         depends on !DEBUG
544                         depends on !USE_GLIBC
545                         depends on !USE_EGLIBC
546                         help
547                           This will install binaries stripped using sstrip
548         endchoice
549
550         config STRIP_ARGS
551                 string
552                 prompt "Strip arguments"
553                 depends on USE_STRIP
554                 default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
555                 default "--strip-all"
556                 help
557                   Specifies arguments passed to the strip command when stripping binaries
558
559         config STRIP_KERNEL_EXPORTS
560                 bool "Strip unnecessary exports from the kernel image"
561                 help
562                   Reduces kernel size by stripping unused kernel exports from the kernel image
563                   Note that this might make the kernel incompatible with any kernel modules that
564                   were not selected at the time the kernel image was created
565
566         config USE_MKLIBS
567                 bool "Strip unnecessary functions from libraries"
568                 help
569                   Reduces libraries to only those functions that are necessary for using all
570                   selected packages (including those selected as <M>)
571                   Note that this will make the system libraries incompatible with most of the packages
572                   that are not selected during the build process
573
574         if INSTALL_LIBSTDCPP
575                 choice
576                         prompt "Preferred standard C++ library"
577                         default USE_LIBSTDCXX if USE_EGLIBC
578                         default USE_UCLIBCXX
579                         help
580                           Select the preferred standard C++ library for all packages that support this.
581
582                         config USE_UCLIBCXX
583                                 bool "uClibc++"
584
585                         config USE_LIBSTDCXX
586                                 bool "libstdc++"
587                 endchoice
588         endif
589
590 endmenu
591
592 menuconfig DEVEL
593         bool "Advanced configuration options (for developers)"
594         default n
595
596         config BROKEN
597                 bool "Show broken platforms / packages" if DEVEL
598                 default n
599
600         config DOWNLOAD_FOLDER
601                 string "Download folder" if DEVEL
602                 default ""
603
604         config LOCALMIRROR
605                 string "Local mirror for source packages" if DEVEL
606                 default ""
607
608         config AUTOREBUILD
609                 bool "Automatic rebuild of packages" if DEVEL
610                 default y
611                 help
612                   Automatically rebuild packages when their files change
613
614         config BUILD_SUFFIX
615                 string "Build suffix to append to the BUILD_DIR variable" if DEVEL
616                 default ""
617                 help
618                   Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
619
620         config TARGET_ROOTFS_DIR
621                 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
622                 default ""
623                 help
624                   Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
625                   Use this option to re-define the location of the target root file system directory.
626
627         config CCACHE
628                 bool "Use ccache" if DEVEL
629                 default n
630                 help
631                   Compiler cache; see http://ccache.samba.org/
632
633         config EXTERNAL_KERNEL_TREE
634                 string "Use external kernel tree" if DEVEL
635                 default ""
636
637         config KERNEL_GIT_CLONE_URI
638                 string "Enter git repository to clone" if DEVEL
639                 default ""
640                 help
641                   Enter the full git repository path i.e.:
642                   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
643                   This will create a git clone of the kernel in your build
644                   directory.
645
646         config KERNEL_GIT_LOCAL_REPOSITORY
647                 string "Enter path to local reference repository" if DEVEL
648                 default ""
649                 help
650                   Enter a full pathname to a local reference git repository.
651                   In this instance, the --refererence option of git clone will
652                   be used thus creating a quick local clone of your repo.
653
654         config BUILD_LOG
655                 bool "Enable log files during build process" if DEVEL
656                 help
657                   If enabled log files will be written to the ./log directory
658
659         config SRC_TREE_OVERRIDE
660                 bool "Enable package source tree override" if DEVEL
661                 help
662                   If enabled, you can force a package to use a git tree as source
663                   code instead of the normal tarball. Create a symlink 'git-src'
664                   in the package directory, pointing to the .git tree that you want
665                   to pull the source code from
666
667 menuconfig TARGET_OPTIONS
668         bool "Target Options"  if DEVEL
669
670         config TARGET_OPTIMIZATION
671                 string "Target Optimizations" if TARGET_OPTIONS
672                 default DEFAULT_TARGET_OPTIMIZATION
673                 help
674                   Optimizations to use when building for the target host.
675
676         config SOFT_FLOAT
677                 bool "Use software floating point by default" if TARGET_OPTIONS
678                 default y
679                 depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
680                 help
681                   If your target CPU does not have a Floating Point Unit (FPU) or a
682                   kernel FPU emulator, but you still wish to support floating point
683                   functions, then everything will need to be compiled with soft floating
684                   point support (-msoft-float).
685
686                   Most people will answer N.
687
688         config USE_MIPS16
689                 bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
690                 depends on HAS_MIPS16
691                 help
692                    If your target CPU does support the MIPS16 instruction set
693                    and you want to use it for packages, enable this option.
694                    MIPS16 produces smaller binaries thus reducing pressure on
695                    caches and TLB.
696
697                    Most people will answer N.
698
699 source "toolchain/Config.in"
700
701 source "target/imagebuilder/Config.in"
702 source "target/sdk/Config.in"
703 source "target/toolchain/Config.in"
704
705 source "tmp/.config-package.in"