ar71xx: add user-space support for the BXU2000n-2 A1 board
[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_LZ4
52                                 bool "lz4"
53
54                         config TARGET_INITRAMFS_COMPRESSION_XZ
55                                 bool "xz"
56                 endchoice
57
58                 config EXTERNAL_CPIO
59                         string
60                         prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
61                         default ""
62                         help
63                           Kernel uses specified external cpio as INITRAMFS_SOURCE
64
65         comment "Root filesystem archives"
66
67         config TARGET_ROOTFS_CPIOGZ
68                 bool "cpio.gz"
69                 default y if USES_CPIOGZ
70                 help
71                   Build a compressed cpio archive of the the root filesystem
72
73         config TARGET_ROOTFS_TARGZ
74                 bool "tar.gz"
75                 default y if USES_TARGZ
76                 help
77                   Build a compressed tar archive of the the root filesystem
78
79         comment "Root filesystem images"
80
81         config TARGET_ROOTFS_EXT4FS
82                 bool "ext4"
83                 default y if USES_EXT4
84                 help
85                   Ext4 file system with some free space for uml images
86
87         config TARGET_ROOTFS_ISO
88                 bool "iso"
89                 default n
90                 depends on TARGET_x86_generic
91                 help
92                   Create some bootable ISO image
93
94         config TARGET_ROOTFS_JFFS2
95                 bool "jffs2"
96                 default y if USES_JFFS2
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 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                 help
111                   Build a squashfs-lzma root filesystem
112
113         menuconfig TARGET_ROOTFS_UBIFS
114                 bool "ubifs"
115                 default y if USES_UBIFS
116                 depends on USES_UBIFS
117                 help
118                   Build a ubifs root filesystem
119
120                 choice
121                         prompt "compression"
122                         default TARGET_UBIFS_COMPRESSION_NONE
123                         depends on TARGET_ROOTFS_UBIFS
124                         help
125                           Select compression type
126
127                         config TARGET_UBIFS_COMPRESSION_NONE
128                                 bool "none"
129
130                         config TARGET_UBIFS_COMPRESSION_LZO
131                                 bool "lzo"
132
133                         config TARGET_UBIFS_COMPRESSION_ZLIB
134                                 bool "zlib"
135                 endchoice
136
137                 config TARGET_UBIFS_FREE_SPACE_FIXUP
138                         bool "free space fixup" if TARGET_ROOTFS_UBIFS
139                         default y
140                         help
141                           The file-system free space has to be fixed up on first mount
142
143                 config TARGET_UBIFS_JOURNAL_SIZE
144                         string
145                         prompt "journal size" if TARGET_ROOTFS_UBIFS
146                         default "512KiB"
147
148                 config TARGET_UBIFS_SQUASH_UIDS
149                         bool "squash uids" if TARGET_ROOTFS_UBIFS
150                         default n
151                         help
152                           Squash owners making all files owned by root
153
154         comment "Image Options"
155
156         source "target/linux/*/image/Config.in"
157
158         config TARGET_ROOTFS_PARTSIZE
159                 int "Root filesystem partition size (in MB)"
160                 depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
161                 default 48
162                 help
163                   Allows you to change the root filesystem partition size
164
165         config TARGET_ROOTFS_MAXINODE
166                 int "Maximum number of inodes in root filesystem"
167                 depends on TARGET_ROOTFS_EXT4FS
168                 default 6000
169                 help
170                   Allows you to change the maximum number of inodes in the root filesystem
171
172         config TARGET_ROOTFS_RESERVED_PCT
173                 int "Percentage of reserved blocks in root filesystem"
174                 depends on TARGET_ROOTFS_EXT4FS
175                 default 0
176                 help
177                   Allows you to change the percentage of reserved blocks in the root filesystem
178
179         menuconfig TARGET_ROOTFS_INCLUDE_KERNEL
180                 bool "Include kernel in root filesystem"
181                 depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
182                 default n if USES_UBIFS
183                 help
184                   Include the kernel image in the rootfs. Typically the image is placed
185                   below /boot.
186
187                 config TARGET_ROOTFS_INCLUDE_UIMAGE
188                         bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL
189                         default y
190                         help
191                           This option might not apply to all targets. Make sure
192                           to check target/linux/<your_target>/image/Makefile to
193                           see if this option will have any effect.
194
195                 config TARGET_ROOTFS_INCLUDE_ZIMAGE
196                         bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL
197                         default y
198                         help
199                           This option might not apply to all targets. Make sure
200                           to check target/linux/<your_target>/image/Makefile to
201                           see if this option will have any effect.
202
203                 config TARGET_ROOTFS_INCLUDE_FIT
204                         bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL
205                         default y
206                         help
207                           This option might not apply to all targets. Make sure
208                           to check target/linux/<your_target>/image/Makefile to
209                           see if this option will have any effect.
210
211         config TARGET_ROOTFS_INCLUDE_DTB
212                 bool "Include DTB in root filesystem"
213                 depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
214                 default n if USES_UBIFS
215                 help
216                   Include the device tree blob file(s) in the rootfs. Typically the DTBs
217                   are placed below /boot.
218
219 endmenu
220
221 menu "Global build settings"
222
223         config ALL
224                 bool "Select all packages by default"
225                 default n
226
227         comment "General build options"
228
229         config DISPLAY_SUPPORT
230                 bool "Show packages that require graphics support (local or remote)"
231                 default n
232
233         config BUILD_PATENTED
234                 default y
235                 bool "Compile with support for patented functionality"
236                 help
237                   When this option is disabled, software which provides patented functionality will not be built.
238                   In case software provides optional support for patented functionality,
239                   this optional support will get disabled for this package.
240
241         config BUILD_NLS
242                 default n
243                 bool "Compile with full language support"
244                 help
245                   When this option is enabled, packages are built with the full versions of iconv and GNU gettext
246                   instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
247
248         config BUILD_STATIC_TOOLS
249                 default n
250                 bool "Attempt to link host utilities statically"
251                 help
252                   Linking host utilities like sed or firmware-utils statically increases the portability of the
253                   generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
254
255         config SHADOW_PASSWORDS
256                 bool
257                 prompt "Enable shadow password support"
258                 default y
259                 help
260                   Enable shadow password support.
261
262         config CLEAN_IPKG
263                 bool
264                 prompt "Remove ipkg/opkg status data files in final images"
265                 default n
266                 help
267                   This removes all ipkg/opkg status data files from the target directory before building the root fs
268
269         config COLLECT_KERNEL_DEBUG
270                 bool
271                 prompt "Collect kernel debug information"
272                 select KERNEL_DEBUG_INFO
273                 default n
274                 help
275                   This collects debugging symbols from the kernel and all compiled modules.
276                   Useful for release builds, so that kernel issues can be debugged offline later.
277
278         comment "Kernel build options"
279
280         source "Config-kernel.in"
281
282         comment "Package build options"
283
284         config DEBUG
285                 bool
286                 prompt "Compile packages with debugging info"
287                 default n
288                 help
289                   Adds -g3 to the CFLAGS
290
291         config IPV6
292                 bool
293                 prompt "Enable IPv6 support in packages"
294                 default y
295                 help
296                   Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
297
298         config PKG_BUILD_PARALLEL
299                 bool
300                 prompt "Compile certain packages parallelized"
301                 default y
302                 help
303                   This adds a -jX option to certain packages that are known to
304                   behave well for parallel build. By default the package make processes
305                   use the main jobserver, in which case this option only takes effect
306                   when you add -jX to the make command.
307
308                   If you are unsure, select N.
309
310         config PKG_BUILD_USE_JOBSERVER
311                 bool
312                 prompt "Use top-level make jobserver for packages"
313                 depends on PKG_BUILD_PARALLEL
314                 default y
315                 help
316                   This passes the main make process jobserver fds to package builds,
317                   enabling full parallelization across different packages
318
319                   Note that disabling this may overcommit CPU resources depending on the
320                   -j level of the main make process, the number of package
321                   submake jobs selected below and the number of actual CPUs present.
322                   Example: If the main make is passed a -j4 and the submake -j
323                   is also set to 4, we may end up with 16 parallel make processes
324                   in the worst case.
325
326
327         config PKG_BUILD_JOBS
328                 int
329                 prompt "Number of package submake jobs (2-512)"
330                 range 2 512
331                 default 2
332                 depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
333                 help
334                   The number of jobs (-jX) to pass to packages submake.
335
336         config PKG_DEFAULT_PARALLEL
337                 bool
338                 prompt "Parallelize the default package build rule (May break build)"
339                 depends on PKG_BUILD_PARALLEL
340                 depends on BROKEN
341                 default n
342                 help
343                   Always set the default package build rules to parallel build.
344
345                   WARNING: This may break build or kill your cat, as it builds
346                   packages with multiple jobs that are probably not tested in
347                   a parallel build environment.
348
349                   Only say Y, if you don't mind fixing broken packages.
350                   Before reporting build bugs, set this to N and re-run the build.
351
352         comment "Stripping options"
353
354         choice
355                 prompt "Binary stripping method"
356                 default USE_STRIP   if EXTERNAL_TOOLCHAIN
357                 default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
358                 default USE_SSTRIP
359                 help
360                   Select the binary stripping method you wish to use.
361
362                 config NO_STRIP
363                         bool "none"
364                         help
365                           This will install unstripped binaries (useful for native compiling/debugging)
366
367                 config USE_STRIP
368                         bool "strip"
369                         help
370                           This will install binaries stripped using strip from binutils
371
372
373                 config USE_SSTRIP
374                         bool "sstrip"
375                         depends on !DEBUG
376                         depends on !USE_GLIBC
377                         depends on !USE_EGLIBC
378                         help
379                           This will install binaries stripped using sstrip
380         endchoice
381
382         config STRIP_ARGS
383                 string
384                 prompt "Strip arguments"
385                 depends on USE_STRIP
386                 default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
387                 default "--strip-all"
388                 help
389                   Specifies arguments passed to the strip command when stripping binaries
390
391         config STRIP_KERNEL_EXPORTS
392                 bool "Strip unnecessary exports from the kernel image"
393                 help
394                   Reduces kernel size by stripping unused kernel exports from the kernel image
395                   Note that this might make the kernel incompatible with any kernel modules that
396                   were not selected at the time the kernel image was created
397
398         config USE_MKLIBS
399                 bool "Strip unnecessary functions from libraries"
400                 help
401                   Reduces libraries to only those functions that are necessary for using all
402                   selected packages (including those selected as <M>)
403                   Note that this will make the system libraries incompatible with most of the packages
404                   that are not selected during the build process
405
406         choice
407                 prompt "Preferred standard C++ library"
408                 default USE_LIBSTDCXX if USE_EGLIBC
409                 default USE_UCLIBCXX
410                 help
411                   Select the preferred standard C++ library for all packages that support this.
412
413                 config USE_UCLIBCXX
414                         bool "uClibc++"
415
416                 config USE_LIBSTDCXX
417                         bool "libstdc++"
418         endchoice
419
420 endmenu
421
422 menuconfig DEVEL
423         bool "Advanced configuration options (for developers)"
424         default n
425
426         config BROKEN
427                 bool "Show broken platforms / packages" if DEVEL
428                 default n
429
430         config DOWNLOAD_FOLDER
431                 string "Download folder" if DEVEL
432                 default ""
433
434         config LOCALMIRROR
435                 string "Local mirror for source packages" if DEVEL
436                 default ""
437
438         config AUTOREBUILD
439                 bool "Automatic rebuild of packages" if DEVEL
440                 default y
441                 help
442                   Automatically rebuild packages when their files change
443
444         config BUILD_SUFFIX
445                 string "Build suffix to append to the BUILD_DIR variable" if DEVEL
446                 default ""
447                 help
448                   Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
449
450         config TARGET_ROOTFS_DIR
451                 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
452                 default ""
453                 help
454                   Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
455                   Use this option to re-define the location of the target root file system directory.
456
457         config CCACHE
458                 bool "Use ccache" if DEVEL
459                 default n
460                 help
461                   Compiler cache; see http://ccache.samba.org/
462
463         config EXTERNAL_KERNEL_TREE
464                 string "Use external kernel tree" if DEVEL
465                 default ""
466
467         config KERNEL_GIT_CLONE_URI
468                 string "Enter git repository to clone" if DEVEL
469                 default ""
470                 help
471                   Enter the full git repository path i.e.:
472                   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
473                   This will create a git clone of the kernel in your build
474                   directory.
475
476         config KERNEL_GIT_LOCAL_REPOSITORY
477                 string "Enter path to local reference repository" if DEVEL
478                 default ""
479                 help
480                   Enter a full pathname to a local reference git repository.
481                   In this instance, the --refererence option of git clone will
482                   be used thus creating a quick local clone of your repo.
483
484         config BUILD_LOG
485                 bool "Enable log files during build process" if DEVEL
486                 help
487                   If enabled log files will be written to the ./log directory
488
489         config SRC_TREE_OVERRIDE
490                 bool "Enable package source tree override" if DEVEL
491                 help
492                   If enabled, you can force a package to use a git tree as source
493                   code instead of the normal tarball. Create a symlink 'git-src'
494                   in the package directory, pointing to the .git tree that you want
495                   to pull the source code from
496
497         config EXTRA_OPTIMIZATION
498                 string "Additional compiler options" if DEVEL
499                 default "-fno-caller-saves"
500                 help
501                   Extra Target-independent optimizations to use when building for the target.
502
503 menuconfig TARGET_OPTIONS
504         bool "Target Options"  if DEVEL
505
506         config TARGET_OPTIMIZATION
507                 string "Target Optimizations" if TARGET_OPTIONS
508                 default DEFAULT_TARGET_OPTIMIZATION
509                 help
510                   Optimizations to use when building for the target host.
511
512         config SOFT_FLOAT
513                 bool "Use software floating point by default" if TARGET_OPTIONS
514                 default y
515                 depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
516                 help
517                   If your target CPU does not have a Floating Point Unit (FPU) or a
518                   kernel FPU emulator, but you still wish to support floating point
519                   functions, then everything will need to be compiled with soft floating
520                   point support (-msoft-float).
521
522                   Most people will answer N.
523
524         config USE_MIPS16
525                 bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
526                 depends on HAS_MIPS16
527                 depends on !GCC_VERSION_4_6
528                 default y
529                 help
530                   If your target CPU does support the MIPS16 instruction set
531                   and you want to use it for packages, enable this option.
532                   MIPS16 produces smaller binaries thus reducing pressure on
533                   caches and TLB.
534
535                   Most people will answer N.
536
537 source "toolchain/Config.in"
538
539 source "target/imagebuilder/Config.in"
540 source "target/sdk/Config.in"
541 source "target/toolchain/Config.in"
542
543 source "tmp/.config-package.in"