ar71xx: image: add IMAGE_PROFILE variable
[openwrt/svn-archive/archive.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"