ustream-ssl: update to the latest version, adds support for the current cyassl versio...
[openwrt/svn-archive/archive.git] / Config.in
index 4231f85aa559cd3d36f29526fec8cb69c406602a..d6573a6fb706e9c97b1e6f80b7714321bc9504f3 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -6,6 +6,10 @@
 
 mainmenu "OpenWrt Configuration"
 
+config MODULES
+       bool
+       default y
+
 config HAVE_DOT_CONFIG
        bool
        default y
@@ -25,7 +29,7 @@ menu "Target Images"
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
                        default TARGET_INITRAMFS_COMPRESSION_NONE
-                       depends TARGET_ROOTFS_INITRAMFS
+                       depends on TARGET_ROOTFS_INITRAMFS
                        help
                          Select ramdisk compression.
 
@@ -44,9 +48,11 @@ menu "Target Images"
                        config TARGET_INITRAMFS_COMPRESSION_LZO
                                bool "lzo"
 
+                       config TARGET_INITRAMFS_COMPRESSION_LZ4
+                               bool "lz4"
+
                        config TARGET_INITRAMFS_COMPRESSION_XZ
                                bool "xz"
-                               depends LINUX_2_6_38
                endchoice
 
                config EXTERNAL_CPIO
@@ -75,55 +81,140 @@ menu "Target Images"
        config TARGET_ROOTFS_EXT4FS
                bool "ext4"
                default y if USES_EXT4
-               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Ext4 file system with some free space for uml images
 
        config TARGET_ROOTFS_ISO
                bool "iso"
                default n
-               depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
+               depends on TARGET_x86_generic
                help
                  Create some bootable ISO image
 
        config TARGET_ROOTFS_JFFS2
                bool "jffs2"
                default y if USES_JFFS2
-               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Build a jffs2 root filesystem
 
+       config TARGET_ROOTFS_JFFS2_NAND
+               bool "jffs2 for NAND"
+               default y if USES_JFFS2_NAND
+               depends on USES_JFFS2_NAND
+               help
+                 Build a jffs2 root filesystem for NAND flash
+
        config TARGET_ROOTFS_SQUASHFS
                bool "squashfs"
                default y if USES_SQUASHFS
-               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Build a squashfs-lzma root filesystem
 
-       config TARGET_ROOTFS_UBIFS
+       menuconfig TARGET_ROOTFS_UBIFS
                bool "ubifs"
                default y if USES_UBIFS
-               depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
+               depends on USES_UBIFS
                help
                  Build a ubifs root filesystem
 
+               choice
+                       prompt "compression"
+                       default TARGET_UBIFS_COMPRESSION_NONE
+                       depends on TARGET_ROOTFS_UBIFS
+                       help
+                         Select compression type
+
+                       config TARGET_UBIFS_COMPRESSION_NONE
+                               bool "none"
+
+                       config TARGET_UBIFS_COMPRESSION_LZO
+                               bool "lzo"
+
+                       config TARGET_UBIFS_COMPRESSION_ZLIB
+                               bool "zlib"
+               endchoice
+
+               config TARGET_UBIFS_FREE_SPACE_FIXUP
+                       bool "free space fixup" if TARGET_ROOTFS_UBIFS
+                       default y
+                       help
+                         The file-system free space has to be fixed up on first mount
+
+               config TARGET_UBIFS_JOURNAL_SIZE
+                       string
+                       prompt "journal size" if TARGET_ROOTFS_UBIFS
+                       default "512KiB"
+
+               config TARGET_UBIFS_SQUASH_UIDS
+                       bool "squash uids" if TARGET_ROOTFS_UBIFS
+                       default n
+                       help
+                         Squash owners making all files owned by root
+
        comment "Image Options"
 
        source "target/linux/*/image/Config.in"
 
        config TARGET_ROOTFS_PARTSIZE
                int "Root filesystem partition size (in MB)"
-               depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
+               depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
                default 48
                help
-                   Allows you to change the root filesystem partition size
+                 Allows you to change the root filesystem partition size
 
        config TARGET_ROOTFS_MAXINODE
                int "Maximum number of inodes in root filesystem"
-               depends TARGET_ROOTFS_EXT4FS
+               depends on TARGET_ROOTFS_EXT4FS
                default 6000
                help
-                   Allows you to change the maximum number of inodes in the root filesystem
+                 Allows you to change the maximum number of inodes in the root filesystem
+
+       config TARGET_ROOTFS_RESERVED_PCT
+               int "Percentage of reserved blocks in root filesystem"
+               depends on TARGET_ROOTFS_EXT4FS
+               default 0
+               help
+                 Allows you to change the percentage of reserved blocks in the root filesystem
+
+       menuconfig TARGET_ROOTFS_INCLUDE_KERNEL
+               bool "Include kernel in root filesystem"
+               depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
+               default n if USES_UBIFS
+               help
+                 Include the kernel image in the rootfs. Typically the image is placed
+                 below /boot.
+
+               config TARGET_ROOTFS_INCLUDE_UIMAGE
+                       bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+               config TARGET_ROOTFS_INCLUDE_ZIMAGE
+                       bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+               config TARGET_ROOTFS_INCLUDE_FIT
+                       bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+       config TARGET_ROOTFS_INCLUDE_DTB
+               bool "Include DTB in root filesystem"
+               depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
+               default n if USES_UBIFS
+               help
+                 Include the device tree blob file(s) in the rootfs. Typically the DTBs
+                 are placed below /boot.
 
 endmenu
 
@@ -154,6 +245,13 @@ menu "Global build settings"
                  When this option is enabled, packages are built with the full versions of iconv and GNU gettext
                  instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
 
+       config BUILD_STATIC_TOOLS
+               default n
+               bool "Attempt to link host utilities statically"
+               help
+                 Linking host utilities like sed or firmware-utils statically increases the portability of the
+                 generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
+
        config SHADOW_PASSWORDS
                bool
                prompt "Enable shadow password support"
@@ -166,7 +264,7 @@ menu "Global build settings"
                prompt "Remove ipkg/opkg status data files in final images"
                default n
                help
-                       This removes all ipkg/opkg status data files from the target directory before building the root fs
+                 This removes all ipkg/opkg status data files from the target directory before building the root fs
 
        config COLLECT_KERNEL_DEBUG
                bool
@@ -174,82 +272,12 @@ menu "Global build settings"
                select KERNEL_DEBUG_INFO
                default n
                help
-                       This collects debugging symbols from the kernel and all compiled modules.
-                       Useful for release builds, so that kernel issues can be debugged offline later.
+                 This collects debugging symbols from the kernel and all compiled modules.
+                 Useful for release builds, so that kernel issues can be debugged offline later.
 
        comment "Kernel build options"
 
-       config KERNEL_DEBUG_FS
-               bool "Compile the kernel with Debug FileSystem enabled"
-               default y
-               help
-                 debugfs is a virtual file system that kernel developers use to put
-                 debugging files into. Enable this option to be able to read and
-                 write to these files.
-
-       config KERNEL_PROFILING
-               bool "Compile the kernel with profiling enabled"
-               default n
-               help
-                 Enable the extended profiling support mechanisms used by profilers such
-                 as OProfile.
-
-       config KERNEL_KALLSYMS
-               bool "Compile the kernel with symbol table information"
-               default n
-               help
-                 This will give you more information in stack traces from kernel oopses
-
-       config KERNEL_DEBUG_KERNEL
-               bool
-               default n
-
-       config KERNEL_DEBUG_INFO
-               bool "Compile the kernel with debug information"
-               default n
-               select KERNEL_DEBUG_KERNEL
-               help
-                 This will compile your kernel and modules with debug information.
-
-       config KERNEL_DEBUG_LL
-               bool
-               default n
-               depends on arm
-               help
-                 ARM low level debugging
-
-       config KERNEL_EARLY_PRINTK
-               bool "Compile the kernel with early printk"
-               default n
-               depends on arm
-               select KERNEL_DEBUG_KERNEL
-               select KERNEL_DEBUG_LL if arm
-               help
-                 Compile the kernel with early printk support.
-                 This is only useful for debugging purposes to send messages
-                 over the serial console in early boot.
-                 Enable this to debug early boot problems.
-
-       config KERNEL_AIO
-               bool "Compile the kernel with asynchronous IO support"
-               default n
-
-       config KERNEL_MAGIC_SYSRQ
-               bool "Compile the kernel with SysRq support"
-               default y
-
-       config KERNEL_ELF_CORE
-               bool "Enable process core dump support"
-               default y
-
-       config KERNEL_PROVE_LOCKING
-               bool "Enable kernel lock checking"
-               select KERNEL_DEBUG_KERNEL
-               default n
-
-       config KERNEL_PRINTK_TIME
-               bool "Enable printk timestamps"
-               default y
+       source "Config-kernel.in"
 
        comment "Package build options"
 
@@ -270,32 +298,38 @@ menu "Global build settings"
        config PKG_BUILD_PARALLEL
                bool
                prompt "Compile certain packages parallelized"
-               default n
+               default y
                help
                  This adds a -jX option to certain packages that are known to
-                 behave well for parallel build.
+                 behave well for parallel build. By default the package make processes
+                 use the main jobserver, in which case this option only takes effect
+                 when you add -jX to the make command.
 
-                 Note that this may overcommit CPU resources depending on the
+                 If you are unsure, select N.
+
+       config PKG_BUILD_USE_JOBSERVER
+               bool
+               prompt "Use top-level make jobserver for packages"
+               depends on PKG_BUILD_PARALLEL
+               default y
+               help
+                 This passes the main make process jobserver fds to package builds,
+                 enabling full parallelization across different packages
+
+                 Note that disabling this may overcommit CPU resources depending on the
                  -j level of the main make process, the number of package
                  submake jobs selected below and the number of actual CPUs present.
                  Example: If the main make is passed a -j4 and the submake -j
                  is also set to 4, we may end up with 16 parallel make processes
                  in the worst case.
 
-                 You get maximum build performance, if you set the package build
-                 jobs to the number of CPUs (cores) available and also start the main
-                 make process with -jX, where X is the number of CPUs (cores).
-                 However, make sure you have enough RAM available for
-                 NR_CPUS to the power of two (NR_CPUS^2) make jobs.
-
-                 If you are unsure, select N.
 
        config PKG_BUILD_JOBS
                int
                prompt "Number of package submake jobs (2-512)"
                range 2 512
                default 2
-               depends on PKG_BUILD_PARALLEL
+               depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
                help
                  The number of jobs (-jX) to pass to packages submake.
 
@@ -303,6 +337,7 @@ menu "Global build settings"
                bool
                prompt "Parallelize the default package build rule (May break build)"
                depends on PKG_BUILD_PARALLEL
+               depends on BROKEN
                default n
                help
                  Always set the default package build rules to parallel build.
@@ -314,25 +349,12 @@ menu "Global build settings"
                  Only say Y, if you don't mind fixing broken packages.
                  Before reporting build bugs, set this to N and re-run the build.
 
-       config TOOLCHAIN_PARALLEL
-               bool
-               prompt "Parallelize the toolchain build (May break build)"
-               depends on PKG_BUILD_PARALLEL
-               default n
-               help
-                 Build the toolchain with parallel make jobs.
-                 This speeds up the toolchain build on SMP machines, but may
-                 break the build for certain toolchain versions.
-
-                 If you say Y, toolchain build might break.
-                 Before reporting build bugs, set this to N and re-run the build.
-
        comment "Stripping options"
 
        choice
                prompt "Binary stripping method"
                default USE_STRIP   if EXTERNAL_TOOLCHAIN
-               default USE_STRIP   if USE_GLIBC || USE_EGLIBC
+               default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
                default USE_SSTRIP
                help
                  Select the binary stripping method you wish to use.
@@ -350,9 +372,9 @@ menu "Global build settings"
 
                config USE_SSTRIP
                        bool "sstrip"
-                       depends !DEBUG
-                       depends !USE_GLIBC
-                       depends !USE_EGLIBC
+                       depends on !DEBUG
+                       depends on !USE_GLIBC
+                       depends on !USE_EGLIBC
                        help
                          This will install binaries stripped using sstrip
        endchoice
@@ -360,7 +382,7 @@ menu "Global build settings"
        config STRIP_ARGS
                string
                prompt "Strip arguments"
-               depends USE_STRIP
+               depends on USE_STRIP
                default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
                default "--strip-all"
                help
@@ -381,6 +403,20 @@ menu "Global build settings"
                  Note that this will make the system libraries incompatible with most of the packages
                  that are not selected during the build process
 
+       choice
+               prompt "Preferred standard C++ library"
+               default USE_LIBSTDCXX if USE_EGLIBC
+               default USE_UCLIBCXX
+               help
+                 Select the preferred standard C++ library for all packages that support this.
+
+               config USE_UCLIBCXX
+                       bool "uClibc++"
+
+               config USE_LIBSTDCXX
+                       bool "libstdc++"
+       endchoice
+
 endmenu
 
 menuconfig DEVEL
@@ -458,6 +494,12 @@ menuconfig DEVEL
                  in the package directory, pointing to the .git tree that you want
                  to pull the source code from
 
+       config EXTRA_OPTIMIZATION
+               string "Additional compiler options" if DEVEL
+               default "-fno-caller-saves"
+               help
+                 Extra Target-independent optimizations to use when building for the target.
+
 menuconfig TARGET_OPTIONS
        bool "Target Options"  if DEVEL
 
@@ -470,7 +512,7 @@ menuconfig TARGET_OPTIONS
        config SOFT_FLOAT
                bool "Use software floating point by default" if TARGET_OPTIONS
                default y
-               depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
+               depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
                help
                  If your target CPU does not have a Floating Point Unit (FPU) or a
                  kernel FPU emulator, but you still wish to support floating point
@@ -479,6 +521,19 @@ menuconfig TARGET_OPTIONS
 
                  Most people will answer N.
 
+       config USE_MIPS16
+               bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
+               depends on HAS_MIPS16
+               depends on !GCC_VERSION_4_6
+               default y
+               help
+                 If your target CPU does support the MIPS16 instruction set
+                 and you want to use it for packages, enable this option.
+                 MIPS16 produces smaller binaries thus reducing pressure on
+                 caches and TLB.
+
+                 Most people will answer N.
+
 source "toolchain/Config.in"
 
 source "target/imagebuilder/Config.in"